Commit Graph

606 Commits

Author SHA1 Message Date
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
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 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 a2af528501 Ensure all WorkQueue modification as serialised across threads. 2018-09-13 13:45:10 +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 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
Noah Levitt f7d1ad7f1f Merge pull request #111 from nlevitt/bean-browse-cookiestore-exception
somewhat ugly fix to handle exceptions from the bean browser like java.l...
2016-06-06 11:11:45 -07:00
Andrew Jackson 9145fedd40 Fix unexpected change in count of novel bytes in one selftest. 2016-04-02 20:57:05 +01:00
Noah Levitt 13322111b5 run received urls through the candidates processor, to check scope and schedule them with the frontier 2016-01-15 17:46:27 -08:00
Noah Levitt cc97f01656 Merge pull request #123 from kris-sigur/HostsReport
Hosts report
2016-01-15 10:33:07 -08:00
Noah Levitt 9e4c7f0024 Merge branch 'master' into novel-quotas
* master:
  license header
  check that sourceTag of CrawlURI actually matches configured sourceTag
  remove already-outdated stuff from javadoc
  handle multiple clauses for same user agent in robots.txt
  Hook in submitted seeds properly.
  avoid spurious logging
  try very hard to start url consumer, and therefore bind the queue to the routing key, so that no messages are dropped, before crawling starts (should always work unless rabbitmq is down); some other tweaks for clarity and stability
2016-01-13 13:44:54 -08:00
Noah Levitt 65a1077425 license header 2016-01-12 14:59:45 -08:00
Noah Levitt 6f9c235fd0 fix javadoc 2015-12-14 15:23:16 -08:00
Noah Levitt c05678e296 CrawlLimitEnforcer support for maxWarcNovelBytes and maxWarcNovelUrls, with tests 2015-12-11 16:08:47 -08:00
Noah Levitt dfc1dd940e tally warc novel content bytes and warc novel urls in CrawledBytesHistotable, with tests 2015-12-11 12:49:02 -08:00
Noah Levitt c20a06ec27 Merge branch 'seed-limits' into novel-quotas -- so I can add tests to StatisticsSelfTest.java in this branch
* seed-limits:
  change class originally known as SeedLimitsEnforcer to SourceQuotaEnforcer; make it a Processor instead of a DecideRule (because checking quota at link scoping time doesn't work, since many urls which would go over quota can be added to the frontier); support quotas on any of the fields tracked by CrawledBytesHistotable
  fix checkpointing problems with new statsBySource
  SeedLimitsEnforcer (contrib) DecideRule that rejects CrawlURI if source seed byte or document limit has been reached
  SourceSeedDecideRule applies the configured decision for any URI with discovered from one of a set of seeds
  add support to StatisticsTracker to keep a CrawledBytesHistotable per source tag when trackSources is enabled; integration test for this functionality
2015-12-11 11:35:11 -08:00
Noah Levitt 35a7954882 refactor FetchStats to be a subclass of CrawledBytesHistotable, to remove redundant code 2015-12-11 11:05:44 -08:00
Noah Levitt cce07084e5 CrawlLimitEnforcer support for maxNovelBytes and maxNovelUrls, with tests 2015-12-09 17:15:34 -08:00
Noah Levitt 501efe4a7b QuotaEnforcer support for quotas on novelBytes and novelUrls, with tests 2015-12-09 15:54:36 -08:00
Noah Levitt 7929e16d6a fix checkpointing problems with new statsBySource 2015-12-04 21:33:40 -08:00
Noah Levitt ce4a865764 add support to StatisticsTracker to keep a CrawledBytesHistotable per source tag when trackSources is enabled; integration test for this functionality 2015-12-03 16:13:34 -08:00
Hunter 79ebb0e03c Merge pull request #129 from nlevitt/java8keytool
load keytool utility main class dynamically, trying both the old and …
2015-10-06 16:09:43 -07:00
Noah Levitt 11d4bab1ac catch exceptions and log error in StatisticsTracker.run(), to make sure statistics events don't stop happening 2015-10-05 11:46:35 -07:00
Noah Levitt 12dde2b693 load keytool utility main class dynamically, trying both the old and new (java 8) class names 2015-09-23 12:06:11 -07:00
Kristinn Sigurðsson 3495851029 JavaDoc typo 2015-07-13 15:10:44 +00:00
Kristinn Sigurðsson b15fbbd13e Enable suppression of empty hosts in report.
Until now hosts that have never been crawled are included in the hosts
report. This can be a very large number of hosts and is infrequently of
interest. This makes it possible to exclude the empty hosts from the
report. Default behavior remains to include them.
The option is highlighted by including it in the relevant, commented-out
section of the default profile.
2015-07-13 15:08:03 +00:00
Kristinn Sigurðsson 0cf009eb4c Use default value in sample profile. 2015-07-13 14:58:23 +00:00
Kristinn Sigurðsson 96b927d9fa Make sorting of host report configurable.
Can now set a maximum size for sorted reports. Longer reports are
unsorted. Default behavior is still to sort all reports.
Default profile updated to reflect this new option in a commented-out
section.
2015-07-13 14:55:26 +00:00
Kristinn Sigurðsson bf638939b0 Remove unused "top" hosts tracking.
This used to be used for an overview report that was available in the H1
UI. Had become vestigial code that served no purpose.
2015-07-13 14:32:34 +00:00