Commit Graph
679 Commits
Author SHA1 Message Date
Alex Osborne 38c44e8e8e Add missing UUID import (interactive commit fail) 2019-08-12 17:50:35 +09:00
Alex Osborne 36003b8626 Fix digest authentication
In Restlet 2 it appears we need to use DigestAuthenticator.
(Previously both digest and basic auth were handled by the same
Guard class.)
2019-08-12 17:36:28 +09:00
Noah Levitt 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
Noah Levitt 6811f49bd9 Merge pull request #272 from internetarchive/jdk11-upgrade-surefire
JDK11 support: upgrade maven-surefire-plugin to 2.22.2
2019-08-07 10:48:29 -07:00
Alex Osborne 97b9c3c91c Fix restlet child component context warning 2019-08-06 17:13:29 +09:00
Alex Osborne 6c2afc36b0 Update statistics assertions as Jetty 9 produces different headers 2019-08-06 17:13:02 +09:00
Alex Osborne 4012a5f4dd Fix 'No session data store configured' test error 2019-08-06 16:56:10 +09: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 a2920c622d JDK11 support: explicitly depend on JAXB
JAXB is no longer included in the JDK as of JDK 11 (JEP 320) so add it
as an external dependency.

Fixes #264
2019-08-02 16:47:20 +09:00
Alex Osborne 412885fd7d JDK11 support: upgrade maven-surefire-plugin to 2.22.2
Under JDK11 our old version of it throws ClassNotFoundExceptions when
tests load some builtin classes like javax.transaction.xa.Xid.

Fixes #266
2019-08-02 16:43:20 +09: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 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 a60b2ef387 Merge pull request #249 from ruebot/remove-suffix-crawler-bean
Remove suffix from warcWriter since it is no longer used.
2019-04-10 11:15:37 -07:00
David Van Duzer 6c6e460c8d set of frontier management changes to support CrawlHQ module
These changes come from a private fork of H3, originally made by Kenji
Nagahashi, to create org.archive.crawler.frontier.PullingBdbFrontier,
which we intend to merge into 'contrib' of the official version in the
near future.
2019-04-08 17:15:24 -06:00
Noah Levitt 2c6ab5a44a replace System.err.println with logger.info 2019-04-04 17:06:01 -07:00
nruest 5ee7528369 Remove suffix from warcWriter since it is no longer used. 2019-03-29 12:40:51 -04:00
Andrew Jackson afa88c025e Ensure we start parsing full lines, for #239. 2019-03-13 21:00:19 +09:00
Andrew Jackson 91b18e9bbd Allow failed lookups to expire, for #234. 2019-02-21 23:04:40 +00: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
Andy Jackson 18d3bb23aa Merge pull request #231 from ukwa/synchronized-enqueuecounts
Add synchronized statements for internetarchive/heritrix3#221.
2019-02-07 13:49:50 +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
Andrew Jackson 3b435cb0a9 Add synchronized statements for internetarchive/heritrix3#221. 2019-02-04 10:41:40 +00:00
Barbara Miller e8aba660d8 Merge pull request #227 from nlevitt/dont-checkpoint-unstarted
do not checkpoint if crawl job has not started
2019-01-04 15:53:43 -08:00
Noah Levitt 01153b0311 do not checkpoint if crawl job has not started
Sometimes our crawl jobs get stuck in the NEW state (due to hbase
problems). But the checkpoint service has started and sees fit to
checkpoint every five minutes. Evidently, at this stage the seeds have
not been queued yet, the frontier is empty. Thus, if we try to resume
from one of these checkpoints, the crawl has an empty frontier and ends
immediately.

The fix is to avoid checkpointing in this NEW state before crawling has
really started.
2019-01-04 15:40:16 -08:00
Noah Levitt 30215e849b namespace scope log logger to crawl job
This is a bad bug. Stupid, too. When multiple crawls are running with
`DecideRuleSequence.logToFile` enabled, all the scope log lines from all
the crawls are going to all the scope logs for all the crawls. It was
because of this line:

    Logger logger = Logger.getLogger(logName + ".log");

`logName` here is "scope" normally, for all crawl jobs.
`Logger` is shared across the whole java vm, so
`Logger.getLogger("scope.log")` returns the same logger for every
crawl job. Each time a crawl starts, it adds another output file to
the logger.

Fix is to give the logger a name specific to the crawl job.

😳🥵🥶💩
2019-01-04 11:25:31 -08:00
Edward Betts aa705bef2e Correct spelling mistakes. 2018-11-04 19:49:37 +09:00
Andrew Jackson 59ee9b2adc Default to starting anew if no checkpoints are found. 2018-10-09 10:28:34 +01:00
Andrew Jackson 3b341f79df Provide a simple hook to restart from the latest checkpoint. 2018-10-08 14:26:04 +01:00
Andrew Jackson fca796265d Move sync to after Null check. 2018-09-17 15:25:45 +01:00
Andrew Jackson 09a272088e Add synchronisation around host and server stats. 2018-09-13 16:37:18 +01:00
Andrew Jackson 55dbe5a25d Avoid overdoing the RAM allocation. 2018-09-13 16:36:58 +01:00
Andrew Jackson a2af528501 Ensure all WorkQueue modification as serialised across threads. 2018-09-13 13:45:10 +01:00
Andrew Jackson 992a51aa57 Tests now need more RAM. 2018-09-13 13:44:40 +01:00
Andrew Jackson 8384a59b47 Fix up tests to account for new Base URI behaviour. 2018-07-06 15:15:53 +01:00
Adam Miller bee53de8b1 Add parameter to allow even distribution for parallel queues. 2018-05-10 21:34:02 +00:00
Noah Levitt 95759149ae catch exceptions scoping outlinks to stop them from derailing processing of the parent url 2018-01-16 17:12:24 -08:00
Andrew Jackson d178c689de Add some comments to try to avoid misuse. 2017-10-12 22:13:00 +01:00
Andrew Jackson b0594ac0f4 Allow JavaDNS to be disabled and use that to avoid issues in StatisticsSelfTest. 2017-10-12 21:29:34 +01:00
Andrew Jackson 09ee95f37b Allow results with or without DNS lookup of localhost. 2017-10-11 23:30:17 +01:00
Andrew Jackson 401e27fc64 Adapt test to cope with variation in how localhost gets resolved. 2017-10-09 21:50:05 +01:00
Noah Levitt 3892c17b56 ughhh appease java 8 javadoc rules 2017-06-15 17:29:22 -07:00
Noah Levitt bc8b0baa59 Merge remote-tracking branch 'origin/master' into fix-test-errors
* origin/master:
  Setup TravisCI
  Set fetch status on curis when testing link extraction
  No link extraction on URI not successfully downloaded
  Fixes issue #158 : Noisy alerts about 401s without auth challenge (#159)
  Make Content-Location header url INFERRED not REFFER hop type since Content-Location is not for redirection (#151)
  fixes for kafka 0.9 (?)
  upgrade to kafka 0.9
  somewhat ugly fix to handle exceptions from the bean browser like java.lang.RuntimeException: not implemented at org.archive.modules.fetcher.BdbCookieStore$RestrictedCollectionWrappedList.get(BdbCookieStore.java:92)
2016-06-07 13:09:51 -05:00
Noah Levitt ca3b65ed03 exclude dns from stats tests because the size of the dns records can vary depending on the environment 2016-06-06 15:43:02 -05:00