Commit Graph
804 Commits
Author SHA1 Message Date
Noah Levitt 0aac882eb4 Merge branch 'master' into ait-qa
* master:
  use constant from rethinkdb lib for default port
  Update README.md
  Handle missing closing paren in srcset descriptor
  Teach jericho extractor srcset
  Don't run srcset test against jericho, it doesn't handle it
  Handle commas more compliantly when parsing srcset
  Ensure we start parsing full lines, for #239.
2019-04-01 16:16:03 -07:00
Alex Osborne 7d91a1d4ee Handle missing closing paren in srcset descriptor 2019-03-16 16:02:48 +09:00
Alex Osborne 2a34fcffd6 Teach jericho extractor srcset 2019-03-16 15:47:50 +09:00
Alex Osborne e1d93e3308 Don't run srcset test against jericho, it doesn't handle it 2019-03-16 12:35:57 +09:00
Alex Osborne 90c52c3a25 Handle commas more compliantly when parsing srcset
Commas are allowed if they're in the middle of the URL. Consequently:

    srcset="a,b,,c,"   => ["a,b,,c"]
    srcset="a, b,, c," => ["a", "b", "c"]

They occur particularly commonly in data: URLs before the base64 value.

Commas are also allowed in descriptors if they are enclosed by parens:

    srcset="a (b,c),d" => ["a", "d"]

Spec: https://html.spec.whatwg.org/multipage/images.html#parsing-a-srcset-attribute
2019-03-16 11:53:37 +09:00
Noah Levitt b12e34d340 Merge branch 'trough-dedup' into ait-qa
* trough-dedup:
  promote dirty segments at crawl finish
  trough dedup!
  Allow failed lookups to expire, for #234.
  [maven-release-plugin] prepare for next development iteration
  [maven-release-plugin] prepare release 3.4.0-20190207
  As @nlevitt suggestion, a further check.
  [maven-release-plugin] prepare for next development iteration
  [maven-release-plugin] prepare release 3.4.0-20190205
  [maven-release-plugin] prepare for next development iteration
  [maven-release-plugin] prepare release 3.4.0-20190205-2
  [maven-release-plugin] prepare for next development iteration
  Extend to set additional property.
  Use argument syntax.
  Skip tests during release process (covered by CI).
  Set consistent tag, and include contrib.
  Wrong repo spec.
  Add build profile for deployment to Maven Central.
  Avoid headings being treated as lists
  Clarification about APIs.
  Swapped original and link to make maintenance simpler.
  Tidy up markup and links.
  Add synchronized statements for internetarchive/heritrix3#221.
  Add checks to guard against server sending 304 in error, for #229.
  do not checkpoint if crawl job has not started
2019-03-14 15:17:39 -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 667cf3ac5e As @nlevitt suggestion, a further check. 2019-02-06 21:03:49 +00:00
Andrew Jackson e8e37751bb Merge branch 'master' into more-robust-fetch-history-processor 2019-02-06 20:47:06 +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 949a350cd8 Add checks to guard against server sending 304 in error, for #229. 2019-02-04 10:26:12 +00:00
Noah Levitt a7a54ddf2e Merge branch 'deciding-optimization' into ait-qa
* deciding-optimization:
  implement PredicatedDecideRule.onlyDecision()
2018-11-15 11:21:01 -08:00
Noah Levitt fea6241fac implement PredicatedDecideRule.onlyDecision()
DecideRuleSequence already has the optimization that I was looking for,
namely, don't bother evaluating a DecideRule if we know it won't change
the current result. For some reason PredicatedDecideRule, which is a
parent class to most of the decide rules in heritrix, didn't implement
onlyDecision(). Certain crawl configurations could see significant
performance improvement with this change.
2018-11-15 11:13:27 -08:00
Noah Levitt 6bee1cbb6f Merge branch 'hbase-refactor' into ait-qa
* hbase-refactor:
  use non-deprecated hbase api
  Correct spelling mistakes.
  Note feature only applies to forthcoming 3.3 release
  Update API with note about checkpoint launching.
  Default to starting anew if no checkpoints are found.
  Provide a simple hook to restart from the latest checkpoint.
  Move sync to after Null check.
  Attempt to cache dependencies.
  Simplify contrib build.
  Attempt to prevent build time-outs.
  Add synchronisation around host and server stats.
  Avoid overdoing the RAM allocation.
  Ensure all WorkQueue modification as serialised across threads.
  Tests now need more RAM.
  fix exception starting DecideRuleSequence logging
  Fix up tests to account for new Base URI behaviour.
  Only set the BaseURI if not set already.
  Same fix for JerichoExtractorHTML.
  Test case and fix for internetarchive/heritrix3#208.
  Fix link to User Guide
  Fix typos
  Replace API response section with statuscode tag
  Reformat the rest of the API calls
  Add actions to API URLs to distinguish them
  Add explanatory note about documentation
  Try nicer formatting for the first API example
  Format HTTP request lines in API guide
  Move conventions and REST section to the end of the document
  Convert html tables to rst tables
  Add skeleton sphinx docs for readthedocs
  Point at GitHub wiki for latest release info
  Add parameter to allow even distribution for parallel queues.
2018-11-09 15:41:05 -08:00
Noah Levitt a831676196 Merge pull request #209 from ukwa/relative-base-href
HtmlExtractor: allow relative hrefs in the base element
2018-09-11 15:18:48 -07:00
Noah Levitt 9c9d11d272 fix exception starting DecideRuleSequence logging
I don't know why we've never seen this before, and now we suddenly have
a case of it, but this is the exception:

2018-07-23 17:47:01.123 SEVERE thread-2875088 org.archive.crawler.framework.CrawlJob.beansException() Failed to start bean 'scope'; nested exception is java.lang.IllegalStateException: java.nio.file.NoSuchFileException: /1/ait-h3-jobs/8144-20180723162745141/20180723174701/logs/scope.log.lck
org.springframework.context.ApplicationContextException: Failed to start bean 'scope'; nested exception is java.lang.IllegalStateException: java.nio.file.NoSuchFileException: /1/ait-h3-jobs/8144-20180723162745141/20180723174701/logs/scope.log.lck
        at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:169)
        at org.springframework.context.support.DefaultLifecycleProcessor.access$1(DefaultLifecycleProcessor.java:154)
        at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:335)
        at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:143)
        at org.springframework.context.support.DefaultLifecycleProcessor.start(DefaultLifecycleProcessor.java:89)
        at org.springframework.context.support.AbstractApplicationContext.start(AbstractApplicationContext.java:1236)
        at org.archive.spring.PathSharingContext.start(PathSharingContext.java:115)
        at org.archive.crawler.framework.CrawlJob.startContext(CrawlJob.java:455)
        at org.archive.crawler.framework.CrawlJob$1.run(CrawlJob.java:428)
Caused by: java.lang.IllegalStateException: java.nio.file.NoSuchFileException: /1/ait-h3-jobs/8144-20180723162745141/20180723174701/logs/scope.log.lck
        at org.archive.crawler.reporting.CrawlerLoggerModule.setupSimpleLog(CrawlerLoggerModule.java:298)
        at org.archive.modules.deciderules.DecideRuleSequence.start(DecideRuleSequence.java:174)
        at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:166)
        ... 8 more
Caused by: java.nio.file.NoSuchFileException: /1/ait-h3-jobs/8144-20180723162745141/20180723174701/logs/scope.log.lck
        at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
        at sun.nio.fs.UnixFileSystemProvider.newFileChannel(UnixFileSystemProvider.java:177)
        at java.nio.channels.FileChannel.open(FileChannel.java:287)
        at java.nio.channels.FileChannel.open(FileChannel.java:335)
        at java.util.logging.FileHandler.openFiles(FileHandler.java:478)
        at java.util.logging.FileHandler.<init>(FileHandler.java:344)
        at org.archive.io.GenerationFileHandler.<init>(GenerationFileHandler.java:63)
        at org.archive.io.GenerationFileHandler.makeNew(GenerationFileHandler.java:158)
        at org.archive.crawler.reporting.CrawlerLoggerModule.setupLogFile(CrawlerLoggerModule.java:275)
        at org.archive.crawler.reporting.CrawlerLoggerModule.setupSimpleLog(CrawlerLoggerModule.java:296)
        ... 10 more
2018-07-27 09:49:17 +09:00
Andrew Jackson 8384a59b47 Fix up tests to account for new Base URI behaviour. 2018-07-06 15:15:53 +01:00
Andrew Jackson 8bf23081fa Only set the BaseURI if not set already. 2018-07-05 13:34:17 +01:00
Andrew Jackson 14148cc7a8 Same fix for JerichoExtractorHTML. 2018-07-05 09:40:21 +01:00
Andrew Jackson 42181b8585 Test case and fix for internetarchive/heritrix3#208. 2018-07-04 16:18:46 +01:00
Noah Levitt 74c48659b8 Merge branch 'ari-5630' into ait-qa
* ari-5630:
  catch exceptions scoping outlinks to stop them from derailing processing of the parent url
  fix for test failures in a workspace on NFS-mounted filesystem
  max size for extracted form elements
2018-01-16 17:13:04 -08:00
Kenji Nagahashi a7b7c6cf5a fix for test failures in a workspace on NFS-mounted filesystem
ContentDigestHistoryTest does not close BdbModule. It results in failure to delete bdb directory in following tests.
Added tearDown() method that closes BdbModule.
2017-12-08 17:15:03 -08:00
Barbara Miller 998edf3479 max size for extracted form elements 2017-11-16 08:48:06 -08:00
Barbara Miller 9169eb831b Merge branch 'formsMaxSize' into ait-qa 2017-11-15 11:57:52 -08:00
Barbara Miller bac58e8ee6 hardcode 8{ 2017-11-15 11:57:18 -08:00
Barbara Miller 537f75de77 Merge branch 'formsMaxSize' into ait-qa 2017-11-15 08:49:52 -08:00
Barbara Miller a2f8557f45 maxSize for extracted form elements 2017-11-15 08:48:03 -08:00
Barbara Miller feaaf2c934 Merge branch 'formsMaxSize' into ait-qa 2017-11-13 21:40:47 -08:00
Barbara Miller 6d6fd5cd6a maxSize for extracted form elements 2017-11-13 21:20:28 -08:00
Alex Osborne d6d7f1b162 Fix ArrayIndexOutOfBoundsException when all lines are blank 2017-11-01 10:05:26 +09:00
Alex Osborne 68ceceedd2 Use simpler read 500k chars and split method suggested by @nlevitt
While we temporarily use a little more memory this version is a lot
less codes. It also allows us to do away with the BufferedReader.
2017-11-01 09:29:28 +09:00
Alex Osborne 1fae77c64d Enforce robots.txt character limit per char not per line
Since we were only enforcing the size limit after reading each
line a single very long line could cause us to to run out of
memory.

This change enforces the character limit on each read character
not just on line boundaries.

We also correct the count of processed characters in the warning
message, which was not counting newline and linefeed characters.
2017-10-31 18:41:00 +09:00
Barbara Miller f0d1c0422b Merge pull request #187 from nlevitt/robots-allow-failed-fetch
treat a failed fetch (e.g. socket timeout) of robots.txt the same way…
2017-10-13 11:23:54 -07:00
Andrew Jackson aee83dfe26 Allow DNS settings to be overridden via sheets. 2017-10-13 10:29:15 +01:00
Andrew Jackson e7ce1f56b4 Ensure disabling JavaDNS always fails over to the InetAddress approach. 2017-10-12 23:33:54 +01: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 f7a5376fbe Merge branch 'master' into fix-ci-and-add-java-8 2017-10-12 09:31:47 +01:00
Noah Levitt ae8a0ef95f update webarchive-commons dependency to incorporate fix to warc size calculation, and uncomment test that exercises the fix 2017-10-11 14:54:37 -07:00
Andrew Jackson 46fa54da0c Set an appropriate Content Size when using non-DNS resolves. 2017-10-11 17:08:15 +01:00
Noah Levitt 46e2542e41 Merge branch 'robots-allow-failed-fetch' into ait-qa
* robots-allow-failed-fetch:
  treat a failed fetch (e.g. socket timeout) of robots.txt the same way as http errors: full allow
2017-10-06 12:00:58 -07:00
Noah Levitt 84debcfe4d treat a failed fetch (e.g. socket timeout) of robots.txt the same way as http errors: full allow 2017-10-06 12:00:31 -07:00
Noah Levitt c0631d387d Merge branch 'master' into ait-qa
* master:
  ughhh appease java 8 javadoc rules
  fix for race-condition when first using the WARC writers https://github.com/internetarchive/heritrix3/issues/167
2017-06-15 17:35:54 -07:00
Noah Levitt 3892c17b56 ughhh appease java 8 javadoc rules 2017-06-15 17:29:22 -07:00
Noah Levitt 87a15bddc8 Merge pull request #168 from internetarchive/gh-167
fix for race-condition when first using the WARC writers https://gith…
2017-06-07 18:15:19 -07:00