Commit Graph

133 Commits

Author SHA1 Message Date
gojomo b571730b4b Fix [HER-1774] TransclusionDecideRule defies expectation when seed redirects
with seed-redirects-new-seed enabled
* TransclusionDecideRule.java
    evaluate(): skip over 'R' hops without counting them as transcludes
2010-06-14 23:30:22 +00:00
gojomo 8b696da475 * CrawlURI.java
dump more info if code that really shouldn't run actually runs
2010-06-04 22:27:59 +00:00
gojomo f81a941d97 HER-1010 crawl favicon.ico
* ExtractorHTTP.java
    consider /favicon.ico 'discovered' from every other HTTP fetch
* Extractor.java
    utility method addOutlink()
2010-06-01 23:36:16 +00:00
nlevitt 0dbc773fc8 Followup on HER-1728 - treat flashvars strings more like url query strings
(key=value&[key=value]*)
* ExtractorHTML.java
    considerQueryStringValues(): split pairs on "&" instead of ";" and
    url-decode values
2010-05-15 02:13:19 +00:00
nlevitt f7a9327334 Fix for [HER-1772] NullPointerException in ExtractorHTML related to flashvars
* modules/src/main/java/org/archive/modules/extractor/ExtractorHTML.java
    processGeneralTag(): check for null nameVal
2010-05-11 22:11:38 +00:00
gojomo e3c608fab4 HER-1762 H3 performance tuning
* ExtractorHTML.java
    smaller caps on element-name, attribute-name, attribute-value lengths -- costly match-failures on bad/non-HTML may be eating a lot of cycles
2010-04-29 23:21:38 +00:00
gojomo 27cca4da60 Refinement of HER-1737 excessive job.log WARNINGs for misreported encoding (FLV reported as text/html;charset=UTF-8
* ReplayCharSequence.java, GenericReplayCharSequence.java, InMemoryReplayCharSequence.java
    store actual first exception for reference
* ExtractorHTML.java
    report exception in nonfatal-log, rather than WARNING (which was still polluting job log more than desired -- but should still be logged to allow future investigation of sites where encoding issues may exist)
2010-04-24 02:22:24 +00:00
gojomo 792d8e528b HER-1766 The use of the MatchesFilePatternDecideRule with the CUSTOM preset causes a fatal error (infinite loop)
* MatchesFilePatternDecideRule.java
    fix getRegex() to super.getRegex()
2010-04-23 22:16:25 +00:00
gojomo a7caceb8ad HER-1737 excessive job.log WARNINGs for misreported encoding (FLV reported as text/html;charset=UTF-8
* ReplayCharSequence.java
    new interface method: getDecoderExceptionCount(), reporting >0 if any decoding problems were encountered and silently replaced
* GenericReplayCharSequence.java
    count decoding problems, and only log as FINE rather than WARNING
* InMemoryReplayCharSequence.java
    try decoding with reporting; if any problems note at least one then decode without reporting errors
* ExtractorHTML.java
    after using ReplayCharSequence, log WARNING if nonzero decoding errors
2010-04-23 04:11:53 +00:00
gojomo cb5ec19b6c HER-1765 quiet excessive INFO level logging
* GenericReplayCharSequence.java
* Scoper.java
* FetchFTP.java
* FetchHTTP.java
    demote a bunch of INFO logging to FINE so that be default, console isn't filled with output for every URI handled by a busy crawl
2010-04-23 00:44:25 +00:00
gojomo c1207582c4 HER-1728 Heritrix could be enhanced to parse flashvars parameter to correctly extract the links
* ExtractorHTMLTest.java
    tests for embed/@flshvars, param[@name=flashvars]/@value likely-URI discovery
* ExtractorHTML.java
    move likely-URI testing to UriUtils
    add FLASHVARS support
* JerichoExtractorHTML.java
    use UriUtils ikely-URI testing
    add FLASHVARS support
2010-04-22 01:27:24 +00:00
gojomo f933dc922d HER-1763 unify/improve/document likely-URI string tests
* UriUtils.java
    move likely-URI heuristics here for better consistency, reuse, testing, improvement
* UriUtilsTest.java
    testing for UriUtils
* ExtractorJS.java
    move likely-URI support to UriUtils; use new test
* ExtractoSWF.java
    use new UriUtils likely-URI testing
* ExtractorHTML.java
    move likely-URI testing to UriUtils, use new test
* JerichoExtractorHTML.java
    use new UriUtils likely-URI testing
2010-04-22 01:08:14 +00:00
gojomo affa3b672c HER-1620 Tolerate trailing '*' in robots disallow (& allow?) rules
* Robotstxt.java
    trim single trailing '*' if present (assume unintentional or redundant)
2010-04-13 22:46:23 +00:00
gojomo 647a0b3edf HER-1754 treat robots.txt non-response as 404 (optionally?)
* CrawlServer.java
    enable a specific kind of connect-lost (no response given) to be counted as 'deemed 404' on robots retries over a minimum
* FetchStatusCodes.java
    add a synthetic code: -404, S_DEEMED_NOT_FOUND
* FetchHTTP.java
    better distinguish CONNECT_FAILED and CONNECT_LOST
* DispositionProcessor.java
    treat CONNECT_LOST same as _FAILED; simplify a test
2010-04-02 03:55:12 +00:00
gojomo fd5644f109 HER-1627 followup: show error rather than match faulReadSize
* PersistProcessor.java
    rename setupEnvironment to setupCopyEnvironment to make limited purpose of env clear; catch and rethrow IllegalArgumentException with hint that second-open may be cause
* PersistLoadProcessor.java 
    catch and display IllegalArgumentException same as other failure-to-open SEVERE but proceedable exceptions
* PrecedenceLoader.java
    update method names
2010-03-26 01:02:48 +00:00
szznax 9f77412581 part of fix for HER-1627 incorrect source tag in crawl.log (of persist-loaded crawl)
* EnhancedEnvironment.java
    in getClassCatalog(), when read-only env, insist on read-only catalog
* PersistLoadProcessor.java
    remove existing curi members from prior to prevent clobbering source
* PersistProcessor.java
    set historyDbConfig read-only, set je.log.faultReadSize for
        compatability with BDBModule.setup()
2010-03-23 20:52:40 +00:00
nlevitt 20b8a7bc90 mention url in question in debug level logging 2010-03-19 18:39:14 +00:00
szznax e9df65d446 fix for HER-1744 Incorrect comparison of Strings in ProcessorChain.process() with "!=" operator
* ProcessorChain.java
    use equals() to compare string values rather than objects (with "!=")
2010-02-16 19:13:43 +00:00
gojomo 1a95e530e8 Clean-up where assumption of serializability no longer appropriate 2010-01-26 01:25:47 +00:00
gojomo b9ab0b296d [HER-1731] Unable to set HTTPProxyPort on org.archive.modules.fetcher.FetchHttp
* FetchHTTP.java
    make getter/setter types agree
2009-12-28 01:56:32 +00:00
nlevitt df6e31697d Rename short report methods:
- singleLineReport() -> shortReportLine()
 - singleLineReportTo() -> shortReportLineTo()
 - singleLineReportData() -> shortReportMap()
2009-12-09 02:53:02 +00:00
gojomo cb7df416d4 post-3.0.0 release build
* **/pom.xml
    bump version identifiers to "3.1.1-SNAPSHOT" (odd minor number meaning dev version, odd patch number indicating expected next patch number of 3.0.x release if before a 3.2.0 release)
2009-12-05 23:48:38 +00:00
gojomo 5661658b1b prep for 3.0.0 release
* **/pom.xml
    bump version-id to "3.0.0"
* README.txt
    refer to exactly 3.0.0 release notes
2009-12-05 09:28:19 +00:00
gojomo dd4a8d4705 [HER-1718] misleading "writer subdirectory" shown in webui
* WriterPoolProcessor.java
    change description of WriterPoolProcessor.directory ConfigPath to not imply as strongly that is where writing much be occurring
2009-12-03 08:41:08 +00:00
gojomo ed2061560e Improve Maven build robustness
* UURIFactoryTest.java
    specify stirng literal with escape-encoding, rather than as raw UTF-8
* **/pom.xml
    include 'project.build.sourceEncoding' property to suppress platform-encoding warnings
    (unfortunately, neither this nor similar 'maven.compile.encoding' property actually casues maven build to interpret Java source as UTF-8)
2009-12-02 01:34:40 +00:00
nlevitt 8ba641ed4b Part of [HER-1603] Restletify: xml representations of all resources that also
offer html
* XmlMarshaller.java
    new class to write xml based on nested map structure
* BeanBrowseResource.java ScriptResource.java EngineResource.java
  JobResource.java JobRelatedResource.java
    support xml representation
* WorkQueueFrontier.java PrecedenceProvider.java WorkQueue.java ToeThread.java
  ToePool.java CrawlJob.java Engine.java Frontier.java CrawlController.java
  StatisticsTracker.java CrawledBytesHistotable.java FetchStats.java
  ProcessorChain.java CrawlURI.java Reporter.java
    offer same data that is returned in the single line reports in a map
    suitable for use with XmlMarshaller
* FileUtils.java
    new method tryToCanonicalize(File)
2009-11-25 01:43:57 +00:00
gojomo 79fd64a2b5 Post-RC1-build
* **/pom.xml
    revert version name to SNAPSHOT
2009-11-23 10:23:28 +00:00
gojomo 0c7a74bd35 RC1
* **/pom.xml
    rename version to '3.0.0-RC1' for distinguished 'RC1' identified build (instead of SNAPSHOT/timestamp)
2009-11-23 09:57:42 +00:00
gojomo 18e165f21e [HER-1714] fixed-interval rescheduling
* AbstractFrontier.java, WorkQueueFrontier.java, BdbFrontier.java
    add 'futureUris' map of CrawlURIs to be reenqueued at specific future dates
    the usual findEligibleUri also checks for newly-eligible rescheduled URIs
    the frontier is no longer empty unless the future count is also 0
* CrawlURI.java
    add rescheduleTime property
* ReschedulingProcessor.java
    optional post-processor to set a CrawlURI's reschedulingTime
* CrawlStatSnapshot.java, CrawlJob.java
    add futureUriCount to stats/uriTotalsReport
2009-11-23 08:47:14 +00:00
gojomo 5b6b2fe954 BDBJE updates, refactoring
* BdbModule.java
    (openDatabase) all databases now 'managed'
    (getStoredMap) all reuse of prior data as for checkpoints
* (others)
    match above changes
2009-11-23 08:18:41 +00:00
gojomo daab317c94 [HER-1546] Springify(5): Update checkpointing to work smoothly with spring-configured crawls
processor-related bean checkpoint support:
* Checkpoint.java
    move to commons for proper dependency graph
* (others) 
    recognize above
2009-11-20 01:10:32 +00:00
gojomo fbd3af35ac [HER-1546] Springify(5): Update checkpointing to work smoothly with spring-configured crawls
* PersistLogProcessor.java
    rotate logs on checkpoint
* CrawlerJournal.java, FrontierJournal.java
    rotate for checkpoint support without full Checkpointable
2009-11-20 00:47:54 +00:00
gojomo 124d1524d9 [HER-1546] Springify(5): Update checkpointing to work smoothly with spring-configured crawls
processor-related bean checkpoint support:
* Processor.java
    implement Checkpointable and BeanNameAware; methods to support JSON state-saving
* DispositionChain.java
    implement Checkpointable and during-checkpoint disposition-lockout for state stability
2009-11-19 23:10:13 +00:00
gojomo 2bb65e9200 [HER-1546] Springify(5): Update checkpointing to work smoothly with spring-configured crawls
processor-related bean checkpoint support:
* Processor.java
    implement Checkpointable and BeanNameAware; methods to support JSON state-saving
* DispositionChain.java
    implement Checkpointable and during-checkpoint disposition-lockout for state stability
* **Extractor**.java
    pull common reporting & checkpointing up to Extractor.java
* WriterPoolProcessor.java
    implement Checkpointable; freeze and roll writer-pool during checkpoint
* PersistLogProcessor.java
    roll log on checkpoint
* TextSeedModule.java, SeedModule.java
    eliminate obsolete (and probably unnecessary) checkpoint support
* (others)
    adapt to above changes
2009-11-19 22:52:39 +00:00
gojomo e42e2ed7f6 Cleanup/consolidation/expansion of *Utils classes
* IoUtils.java
    remove class that confusingly-overlaps with commons IOUtils; move remaining methods to ArchiveUtils or archive's FileUtils
* ArchiveUtils.java, FileUtils.java
    receive relocated methods; eliminated deprecated or unused methods
* JSONUtils.java
    new class to collect common JSON actions
* Iteratorable.java
    wrap Iterator as Iterable for foreach usage
* (many)
    update to use alternate utils methods
2009-11-19 22:39:53 +00:00
gojomo 2cb91e33f5 Fix or suppress warnings 2009-11-19 21:55:43 +00:00
nlevitt be81d3733a [HER-1710] on problem loading persist log, close reader 2009-11-18 03:02:28 +00:00
nlevitt 148c7332c4 Merge ServerCache+ServerCacheUtil abstract superclass ServerCache
* ServerCache.java
    make abstract, implement getHostFor(UURI) and getServerFor(UURI)
* DefaultServerCache.java
    extend ServerCache, remove getHostFor(UURI) and getServerFor(UURI)
* ServerCacheUtil.java
    removed
* other classes
    change usage of ServerCacheUtil to ServerCache
2009-11-17 06:10:42 +00:00
nlevitt b72750691f [HER-1694] support for storing ftp fetches in warcs, along with improvements to
ftp fetching, to match h1 ftp competency
2009-11-13 02:58:56 +00:00
nlevitt 3b5e9f7c45 Improve pretty printing of arrays, in particular the fetch-history array. 2009-11-13 02:21:38 +00:00
nlevitt df83c093e9 * PersistLogProcessor.java
innerProcess(): persist only "persistent" data, like PersistStoreProcessor
2009-11-13 01:51:56 +00:00
nlevitt 2740cc7bb0 Change the artifactId from commons to heritrix-commons, modules to
heritrix-modules, engine to heritrix-engine.
2009-11-12 02:48:38 +00:00
nlevitt f6b2066d6e [HER-1693] dedup numbers in crawl,host reports - patch contributed by Matt
Warhaftig
2009-11-12 01:38:28 +00:00
nlevitt 9743be5d8c Fix for [HER-1683] h3: inconsistent host classification for dns: urls
* DefaultServerCache.java
    getHostFor(UURI): special case dns uris
* ServerCache.java
    add getHostFor(UURI) to public interface
* ServerCacheUtil.java
    remove now redundant wrapper method
* DispositionProcessor.java AbstractFrontier.java IPQueueAssignmentPolicy.java
  BucketQueueAssignmentPolicy.java PreconditionEnforcer.java QuotaEnforcer.java
  StatisticsTracker.java ServerCacheTest.java FetchHTTP.java
  Kw3WriterProcessor.java WriterPoolProcessor.java 
    changed to use serverCache.getHostFor(UURI) (a few cases remain that use
    getHostFor(String))
2009-11-12 01:28:22 +00:00
nlevitt da9eb5970c Fix bug preventing preload source from being loaded. 2009-11-12 00:15:31 +00:00
gojomo 91ffdac6d9 [HER-1561] update license to Apache License 2.0
* ScopePlusOneDecideRule.java
    removing, in favor of SurtPrefixedDecideRule's 'alsoCheckVia' option
* RecyclingFastBufferedOutputStream.java
    use library by deriving as subclass (rather than c&p), now that class is available in an included library (fastutil)
2009-11-11 01:40:43 +00:00
gojomo dd0ca367c3 [HER-1706] PersistLoadProcessor and PersistStoreProcessor can't share same BdbModule
* BdbModule.java
    allow Database instance reuse if BdbConfig is identical instance
* PersistProcessor.java
    convert shared BdbConfig for history db to static constant HISTORY_DB_CONFIG
* PersistOnlineProcessor.java
    use HISTORY_DB_CONFIG, don't close possibly-shared DB on stop()
* PrecedenceLoader.java, PreloadedUriPrecedencePolicy.java
    use HISTORY_DB_CONFIG
2009-11-10 23:48:10 +00:00
gojomo 0497efbb32 [HER-1561] update license to Apache License 2.0
* (many)
    update license boilerplate
* (few)
    delete no-longer used classes
2009-11-10 21:03:27 +00:00
gojomo e3f3402213 * DefaultServerCache.java
remove superfluous synchronization
2009-11-10 01:37:04 +00:00
gojomo 9e0584b021 Followup for [HER-1703] convert all maps that operator might want to change on the fly to concurrent maps
* HTTPContentDigest.java
    avoid using null for overlayable KeyedProperty -- fix broken NPE in test
2009-11-07 20:10:19 +00:00