Commit Graph
793 Commits
Author SHA1 Message Date
Kenji Nagahashi 64f24d4c66 HER-1993: In JobResource, write error message instead of throwing RuntimeException when it failed to read
job log or crawl log.
2012-03-09 16:48:11 -08:00
Kenji Nagahashi f05287c8ca restored deleted space after header "Crawl Log" 2012-03-09 16:29:52 -08:00
Kenji Nagahashi adc82c1c6f Second round of HTML cleanup:
- added missing <html> and <body>
- fixed non-working CSS link, added CSS link to all pages
- replaced layout by <br> and &nbsp; with structural tags with CSS
- removed superfluous output, notably in BeanBrowseResource
- <code>-ify variable names in ScriptResource
- added special handling of NaN in doubleToString()
2012-03-03 00:46:56 -08:00
Kenji Nagahashi 46c335c8a3 BeanBrowseResource: fixed malformed HTML. 2012-02-29 13:22:33 -08:00
Noah Levitt 7af7cbf18c Merge branch 'master' of github.com:internetarchive/heritrix3 2012-02-10 15:51:15 -08:00
Noah Levitt db801b3e0f Fix problems handling crawl job paths with characters that require url-encoding, since we sometimes refer to them with file: urls
* PathSharingContext.java, CrawlJob.java
    use java.net.URI to convert paths to and from file: urls
2012-02-10 15:48:09 -08:00
Noah Levitt d83ba3070b Merge branch 'master' of https://github.com/travisfw/heritrix3 2012-02-09 16:43:19 -08:00
Noah Levitt cfac7ead91 Fix for HER-1985 H3: SurtPrefixDecideRule forgets learned/seed-derived/seed-directive SURT prefixes in checkpoint-resume
* SurtPrefixedDecideRule.java
    make class implement Checkpointable, save surt prefixes to json on checkpoint and load them on recover
* profile-crawler-beans.cxml
    make main SurtPrefixedDecideRule a top-level bean so that it can be checkpointed
* Checkpoint.java, CheckpointService.java
    add some FINE level logging during checkpointing and recovery
2012-02-09 10:05:07 -08:00
Travis Wellman e90fc2965b Sort script engines alphabetically so that they appear consistently.
Note that the name of the engine may be different than the name of the language
it parses. A good example is the Rhino script engine that parses javascript.
2012-01-26 00:37:19 -08:00
Noah Levitt a652a9afd0 * profile-crawler-beans.cxml
commented-out default value for new CandidatesProcessor settings processErrorOutlinks
2012-01-20 11:30:24 -08:00
Noah Levitt 4e05c89156 Merge branch 'master' of github.com:internetarchive/heritrix3 2012-01-19 13:41:14 -08:00
Noah Levitt 803f9ca979 HER-1984 save script state - implement by adding a map to the application context for arbitrary use, and make sure the app context is available in all scripting environments
* PathSharingContext.java
    new member variable ConcurrentHashMap data and accessor getData()
* ScriptedProcessor.java, ScriptedDecideRule.java
    make appCtx available to scripts; also remove unused member sharedMap
* ActionDirectory.java
    formatting fix
2012-01-19 13:31:57 -08:00
gojomo 20502f54d5 add processErrorOutlinks setting to CandidatesProcessor
default false is old behavior, skip candidates-handling of outlinks from response codes <200 and >=400
if true, these outlinks will be treated the same as others (get scope-tested and enqueued)
2012-01-18 01:23:26 -08:00
Noah Levitt 55ec01c4e4 Fix for HER-1983 mangled dns records in w/arcs
* FetchDNS.java
    recordDNS() - use local variable for dummy read buffer, instead of member variable that was shared among threads, since RecordingInputStream.read() used the passed buffer as a work area
2012-01-11 14:38:57 -08:00
gojomo d3ea17baf5 [HER-1976] query-portion ignored when checking against robots.txt rules
(using only path)
(RobotsPolicyTest) added for case that failed pre-fix
(RobotsTxtTest) added case similar to problem (but was already OK at
RobotsTxt level)
(RobotsPolicy, *RobotsPolicy) rename method to reflect new behavior
2012-01-05 23:37:00 -08:00
gojomo 4829160c84 [HER-1981] H3: overlay setting of alternate queue-precedence (via
BaseQueuePrecedencePolicy.basePrecedence) doesn't stick
(CrawlURI) don't null overlayNames in processingCleanup
(WorkQueueFrontier) move queue precedence recalc to only in handleQueue,
not all (post-wake) reenqueues
2012-01-05 23:01:54 -08:00
Gordon Mohr 4ffb6865e1 [HER-1976] H3: query-portion ignored when checking against robots.txt rules (using only path)
* RobotsPolicy.java: use UURI.getPathQuery -- like H1 does
2011-12-22 19:04:19 -08:00
Noah Levitt a4380db177 .classpath
remove unusued, unneeded dependency asm-3.2.jar, see http://tech.groups.yahoo.com/group/archive-crawler/message/7384
2011-11-03 16:15:20 -07:00
Noah Levitt abda8a01fb HER-1963 Unvisited hosts being written twice into H3-generated hosts-report.txt
* HostsReport.java
    write() - remove obsolete code described by this no longer correct comment - "StatisticsTracker doesn't know of zero-completion hosts; so supplement report with those entries from host cache" - StatisticsTracker does know of zero-completion hosts
2011-11-02 13:01:40 -07:00
Noah Levitt dff143b301 HER-1964 record whois server ip address in warc
* FetchWhois.java
    fetch() - record server ip address in CrawlURI attributes list
* CoreAttributeConstants.java
    new string constant A_WHOIS_SERVER_IP, key for whois server ip address CrawlURI attribute
* WARCWriterProcessor.java
    writeWhoisRecords() - include warc header WARC-IP-Address
2011-11-01 16:57:22 -07:00
Noah Levitt 48434a6293 Merge branch 'master' of github.com:internetarchive/heritrix3 2011-11-01 16:56:43 -07:00
Noah Levitt 450a4c44c4 * CrawlURI.java markPrerequisite() - call setPrerequisite(true) on the prerequisite CrawlURI 2011-10-28 10:03:14 -07:00
Noah Levitt 264d3c6f5f * CrawlURI.java
markPrerequisite() - call setPrerequisite(true) on the prerequisite CrawlURI
2011-10-28 09:55:55 -07:00
Noah Levitt 995133dc40 Fix for HER-1962 NPE from missing sheet
* SheetOverlaysManager.java
    getOverlayMap(String) - return null if sheet missing instead of triggering npe
* KeyedProperties.java
    get(String) - check for null return value from getOverlayMap() and log warning
2011-10-27 10:40:30 -07:00
Noah Levitt 9b418bbb76 * LICENSE.txt
revert previous commit - we still distribute jars and licenses in the binary distribution (duh)
2011-10-21 23:10:25 -07:00
Noah Levitt 239f616c17 * **/.gitignore
dummy files to make git keep these directories which are expected by unit tests
2011-10-21 22:40:44 -07:00
Noah Levitt 23028ccab1 * dist/LICENSE.txt
remove clause about lib/ directory, which doesn't apply to h3 (XXX replace with something about maven downloading dependencies?)
2011-10-21 22:39:22 -07:00
Noah Levitt e8cdfcd82f * README.txt
symlink to dist/README.txt just to have one in the root of the project
2011-10-21 15:56:33 -07:00
Noah Levitt 31edae9753 * .classpath
source jar for commons-cli
2011-10-21 15:43:21 -07:00
nlevitt 5735839252 Post 3.1.0
* **/pom.xml
   switch version to "3.1.1-SNAPSHOT"
2011-10-21 19:00:37 +00:00
nlevitt 8c99fc947c Prep for 3.1.0 release
* **/pom.xml
    bump version-id to "3.1.0"
* README.txt
    refer to exactly 3.1.0 release notes
2011-10-21 17:08:04 +00:00
nlevitt e8d4ec73c7 * bin/heritrix
when starting in background, make better effort to write pid to $HERITRIX_HOME/heritrix.pid on successful start, plus this change:
     -    echo -n "`date` Starting heritrix"
     +    echo -n "`date` Heritrix starting (pid $HERITRIX_PID)"
2011-10-21 16:54:40 +00:00
nlevitt e9a96ebc12 * profile-crawler-beans.cxml
commented-out ReschedulingProcessor
2011-10-21 01:20:32 +00:00
nlevitt db049be78d * logging.properties
revert unintentional changes
2011-10-21 00:52:55 +00:00
nlevitt d96e086eeb * logging.properties
fix typo
2011-10-21 00:48:20 +00:00
nlevitt 32680b8f73 Fix for HER-1960 kryo buffer can hog memory, lead to oome (bug report, patch from Kenji)
* KryoBinding.java
    wrap ObjectBuffers with WeakReference so that can be garbage collected if necessary (when recreated they'll be back at the default size of 16k)
2011-10-20 02:21:54 +00:00
nlevitt 351a89c5a9 Fix java.lang.IllegalArgumentException from CharBuffer.allocate() in GenericReplayCharSequence.decode()
Reported by Kenji who says, "My guess is that root cause is Recorder.calcRecommendedCharBufferSize():
    return Math.min(inStream.getRecordedBufferLength()/2,(int)inStream.getSize());
    URL above returns HTML larger than 5GB (infinite smileys!! what the heck), and (int)intStream.getSize() became negative."
* Recorder.java
    -        return Math.min(inStream.getRecordedBufferLength()/2,(int)inStream.getSize());
    +        return (int) Math.min(inStream.getRecordedBufferLength()/2, inStream.getSize());
2011-10-13 15:47:02 +00:00
nlevitt 9fb7b0f5ae Fix for HER-1958 race condition on frontier inactive queues
* WorkQueueFrontier.java
    activateInactiveQueue(), deactivateQueue() - synchronize around updates of inactiveQueuesByPrecedence and highestPrecedenceWaiting
2011-10-13 01:47:25 +00:00
nlevitt 189a557af8 Tweak of last checkin
* Heritrix.java
    instanceMain() - move logging of java vendor/version ahead of version check, since the information could be particularly helpful when version check doesn't pass
2011-10-12 18:32:14 +00:00
nlevitt 61240573b3 * Heritrix.java
instanceMain() - log java vendor, version at startup
2011-10-12 18:20:27 +00:00
nlevitt a09c8e69b8 * Recorder.java
remove TODOs that have already been done
2011-10-12 17:52:45 +00:00
nlevitt 73e6d21fd2 * profile-crawler-beans.cxml
fix small typo
2011-10-12 17:49:34 +00:00
nlevitt 270faa30c8 Remove empty java package directories. 2011-10-12 17:46:44 +00:00
nlevitt 10b3686ba8 Fix race condition which can happen with multiple concurrent "launch"es - can end up with duplicate ToePools like before r7268, probably other problems
* CrawlJob.java
    launch() - synchronize this method - sort of a blunt fix but probably safest and shouldn't affect performance
2011-10-07 23:18:43 +00:00
nlevitt 19e94f07d1 Fix race condition encountered by Travis and Adam where two ToeThread pools are created, one on "launch" and one on "unpause"
* CrawlController.java
    requestCrawlResume() - do not create ToePool (creation here appeared to be inherited cruft), paused crawl must already have toe pool
2011-10-07 01:54:29 +00:00
nlevitt b4e6f43052 Unset script engine variables after scripts complete, allowing memory to be freed up sooner - see also r7252
* ScriptResource.java, ActionDirectory.java, ScriptedDecideRule.java
2011-10-06 18:01:01 +00:00
nlevitt b898d55cea Certain invalid "Crawl-delay" values, e.g. "/", in robots.txt cause split() to return empty string, resulting in ArrayIndexOutOfBoundsException - reported by John Lekashman
* Robotstxt.java
    initializeFromReader() - catch ArrayIndexOutOfBoundsException and ignore -- matches existing handling of other invalid crawl-delay values (catch NumberFormatException and ignore)
2011-10-06 17:20:13 +00:00
nlevitt a76f9818f9 Fix HER-1955 Some annoying interaction between new creation of latest link and disk full java bean
* DiskSpaceMonitor.java
    checkAvailableSpace() - really do ignore non-existent paths, as comment and log message claim is done
2011-09-30 20:07:15 +00:00
nlevitt c5de0048d1 "Fix" for HER-1951 ExtractorJS produces many false positives
* UriUtils.java
    isLikelyFalsePositive() - check for unusual characters, likely mimetypes, and a couple of other common traps
* UriUtilsTest.java
    add some tests for this code
2011-09-30 00:48:00 +00:00
nlevitt a577f1eb0b * PathSharingContext.java
start() - restore this override to call initLaunchDir() (how did I miss that), then super.start()
2011-09-29 23:12:26 +00:00