Commit Graph
217 Commits
Author SHA1 Message Date
Noah LevittandGitHub cefad96036 Merge pull request #276 from internetarchive/jdk11-upgrade-jetty
JDK11 support: upgrade to Jetty 9.4.19, Restlet 2.4.0 and drop JDK 7 support
2019-08-07 10:48:51 -07:00
Alex Osborne 0782fb0481 JDK11: upgrade engine to jetty 9.4.19 and restlet 2.4.0
Jetty 9.4.12+ is required for TLS to work correctly under JDK11
(due to SSL handshake failures). In order to upgrade
Jetty we also need to upgrade Restlet.

There is one intentional change in behaviour to simplify
upgrading. We remove a workaround for an old [webkit bug]
where the browser claimed to prefer application/xml. The
bug was fixed in 2011.

[webkit bug]: https://bugs.webkit.org/show_bug.cgi?id=27267

Summary of Jetty API changes:
- package names changed such as org.mortbay -> org.eclipse
- SocketConnector and SslSocketConnector merged to ServerConnector
- HashUserRealm split into UserStore and HashLoginService
- SecurityHandler -> ConstraintSecurityHandler

Summary of Restlet API changes:
- some classes have moved package (Request, Response, Router etc)
- ServerResource replaces Resource
- represent(), acceptRepresentation() renamed to get(), post()
- constructors were replaced by an init() method
- setModifiable() was removed
- getRequest().getEntityAsForm() -> new Form(entity)
- Guard -> ChallengeAuthenticator

Fixes #275
2019-08-06 15:16:37 +09:00
Alex Osborne bf819e19a5 JDK11 support: exclude tools.jar from hbase-client dependency
tools.jar is no longer included in the JDK as of JDK 11 (per JEP 220) so
exclude it as a dependency. According to [HBASE-13963] it is only
required when compiling hbase itself and was unintentionally leaked
as a transitive dependency.

Fixes #265

[HBASE-13963]: https://issues.apache.org/jira/browse/HBASE-13963
2019-08-02 16:47:42 +09:00
Noah Levitt 99eebb8101 ugh, get it right
reading stderr in a separate thread doesn't help if you wait for that
thread to finish before reading stdout
2019-05-07 11:01:34 -07:00
Noah Levitt 75b33663f9 also annotate and log containing pages 2019-05-06 15:35:47 -07:00
Noah Levitt 7c66da7be7 whoops, better spawn the thread first 2019-05-02 15:48:46 -07:00
Noah Levitt b4aa3c9511 read stderr and stdout in separate threads...
... to avoid hanging

see https://github.com/internetarchive/heritrix3/pull/257/files#r279990349
thanks Alex!
2019-05-02 15:46:14 -07:00
Noah Levitt b7de2bd2ae nothing private ever 2019-04-30 16:20:35 -07:00
Noah Levitt 1bd8b713c6 quiet org.mortbay.log (jetty?) logging
There is already a clause for this in logging.properties, but it's using
log4j. It was dumping stack traces every time the client was dubious of
heritrix's self-signed certificate.

Why do we have so many identical log4j.xml's? 🤷‍♂️
2019-04-30 16:17:35 -07:00
Noah Levitt 21cfd4b73d making everything work 2019-04-30 16:16:25 -07:00
Noah Levitt 79a0d34adf ExtractorYoutubeDL 2019-04-29 15:29:16 -07:00
Andrew Jackson b3961a2f96 [maven-release-plugin] prepare for next development iteration 2019-04-18 15:36:28 +01:00
Andrew Jackson c7c6141ee1 [maven-release-plugin] prepare release 3.4.0-20190418 2019-04-18 15:36:20 +01:00
Noah Levitt f1dae275b4 give me some space 2019-04-10 11:09:57 -07:00
Noah Levitt 303ffb486e close the rethinkdb connection! 2019-04-10 10:43:22 -07:00
Noah Levitt 5f5d4615c2 fix some trough dedup bugs
especially this:

-    writeUrlCache.remove("segmentId");
+    writeUrlCache.remove(segmentId);

and some improvements and tweaks
2019-04-01 16:14:22 -07:00
Noah Levitt c596f49c8a use constant from rethinkdb lib for default port 2019-03-21 15:34:42 -07:00
Noah Levitt fd0e86cd64 less alarming logging for normal situation 2019-03-20 11:31:40 -07:00
Noah Levitt c4ec9d31fe make TroughCrawlLogFeed use TroughClient, and...
... configure using rethinkdb url and segment id, instead of write url,
which means it can work if the segment gets reassigned and so forth
***backward incompatible change***
2019-03-18 22:39:29 -07:00
Noah Levitt af1a325319 fix bugs around crawl finish
- make sure we "promote" segments (persist them to hdfs) after we're
  entirely finished writing to theme; in other words, when we reach the
  FINISH state, not while STOPPING
- shut down the promoter thread at crawl finish

plus a couple of tweaks and cleanups
2019-03-15 14:12:50 -07:00
Noah Levitt 82406f4028 promote dirty segments at crawl finish 2019-03-14 15:16:56 -07:00
Noah Levitt 1b89420f99 trough dedup! 2019-03-14 13:47:15 -07:00
Andrew Jackson ad9e74d8ad [maven-release-plugin] prepare for next development iteration 2019-02-07 13:52:56 +00:00
Andrew Jackson 83c7044b22 [maven-release-plugin] prepare release 3.4.0-20190207 2019-02-07 13:52:49 +00:00
Andrew Jackson 317b19e7e2 [maven-release-plugin] prepare for next development iteration 2019-02-05 12:33:08 +00:00
Andrew Jackson 9c7d0c299d [maven-release-plugin] prepare release 3.4.0-20190205 2019-02-05 12:32:57 +00:00
Andrew Jackson ab34a54566 [maven-release-plugin] prepare for next development iteration 2019-02-05 12:29:33 +00:00
Andrew Jackson d1fc5cedb4 [maven-release-plugin] prepare release 3.4.0-20190205-2 2019-02-05 12:29:26 +00:00
Andrew Jackson 096ba4e9c3 [maven-release-plugin] prepare for next development iteration 2019-02-05 12:15:26 +00:00
Noah Levitt d7d320d372 un-threadlocal the HConnection
realized that we're leaking zookeeper connections, and it might be
because the HConnection has been thread local, which probably means that
at shutdown only one of the possibly many connections is cleaned up

zookeeper by default allows 60 connections per client and it looks
likely that we start having trouble when we hit that limit
2018-12-18 10:31:33 -08:00
Noah Levitt ebcd6c8cf5 reset HBaseAdmin on error
maybe with this change it will be able to recover
2018-12-03 14:52:20 -08:00
Noah Levitt 5b911a09b8 keep trying to start up hbase dedup forever 2018-11-26 12:06:14 -08:00
Noah Levitt f8f80249f2 make it thread safe using ThreadLocal
this is the easiest thing to do to make it thread safe while reusing
hbase connections
2018-11-09 17:08:01 -08:00
Noah Levitt 8bda0d4cf0 use non-deprecated hbase api
Catch exceptions and attempt to reset the hbase connection. The intent
is for this to fix the problem where the hbase connection (under the
hood the problem is the zookeeper connection) gets into a borked state,
and we never reset it.
2018-11-09 15:28:17 -08:00
Andrew Jackson d85d2a3fe8 Move OneLineSimpleLayout into commons so all can use it. 2017-10-12 22:10:58 +01:00
Adam Miller b702bf3d86 WARCLimitEnforcer.java - Add support for multiple warc writers. 2017-10-11 21:06:35 +00:00
Noah Levitt d01f2c3a30 fix copy&paste mistake 2017-10-04 16:29:22 -07:00
Noah Levitt 8fea6c4783 reduce batch size to 400 and avoid ridiculously long log lines 2017-10-04 15:35:16 -07:00
Noah Levitt 7fc1c2f25f escape strings in sql posted to trough 2017-09-21 12:16:25 -07:00
jkafaderandGitHub 4c438d3852 Merge pull request #180 from internetarchive/aitfive-1176
trough feed
2017-09-05 17:37:36 -07:00
Noah Levitt 1c92be2d74 realized this stuff needs to be thread safe 2017-06-27 16:01:15 -07:00
Noah Levitt 66ead24762 missed another comma 2017-06-27 15:50:33 -07:00
Noah Levitt 698a02a5b7 missed a comma 2017-06-27 15:45:55 -07:00
Noah Levitt 2f29949b88 include http response payload when logging errors from trough 2017-06-26 17:37:39 -07:00
Noah Levitt 3892c17b56 ughhh appease java 8 javadoc rules 2017-06-15 17:29:22 -07:00
Noah Levitt a1a7232530 update for new data model queued_url->uncrawled_url and some new fields 2017-06-14 18:31:39 -07:00
Noah Levitt b670c2f59a missed the maven tarball assembly file 2017-06-08 11:39:08 -07:00
Noah Levitt a1f59da000 oops, String.join is a java 8 feature 2017-06-08 11:35:50 -07:00
Noah Levitt 66fabf790e hacked up tarball with heritrix, contrib and dependencies 2017-06-07 18:05:52 -07:00
Noah Levitt eed0210a8f batch trough writes 2017-06-07 18:05:52 -07:00