Commit Graph
44 Commits
Author SHA1 Message Date
gojomo 4d06b239ee Push CrawlURI and related constants down to modules subproject/package
(many)
2009-08-06 20:22:00 +00:00
gojomo 64d3fd212f [HER-1659] make default WARC size comply with spec; adjust default pool size for fewer odd-sized (W)ARCs
* ArchiveFileConstants.java
    remove superfluous constant
* WriterPool.java
    DEFAULT_MAX_ACTIVE -> 1
* WriterPoolMember.java
    update constant use; remove deprecated+unused methods
* WriterPoolProcessor.java
    pull storePaths up from subclasses, but set default via subclass method
    set defaultMaxSize via subclass method
* WARCWriterProcessor.java, ARCWriterProcessor.java
   (getDefaultMaxFileSize), (getDefaultStorePaths) as appropriate
2009-08-06 00:55:27 +00:00
gojomo 5bb8596fab Work for [HER-1656] add multiple-queues-per-host ('parallelQueues') capabilities to QueueAssignmentPolicies
* LongToIntConsistentHash.java + Test
    consistent-hashing utility class
* URIAuthorityBasedQueueAssignmentPolicy.java
    shared superclass for the hostname and surtauthority QAPs
    setting for 'deferToPrevious' -- avoid changing assignments
    setting for 'parallelQueues' -- when > 1, consistent-hash URIs across that many separate queues (with numerical suffix)
* SurtAuthorityQueueAssignmentPolicy.java, HostnameQueueAssignmentPolicy.java
    refactor to derive from URIAuthorityBasedQueueAssignmentPolicy
* QueueAssignmentPolicy.java
    add Apache license
* Hop.java
    add String representation for convenience
2009-07-28 23:02:11 +00:00
gojomo 478e425b34 Work for [HER-1655] Excessive charset/character-encoding exceptions; is fallback behavior correct?
* FetchHTTP.java
    really disable the WARNING logging, now
2009-07-28 22:46:04 +00:00
gojomo 597c910422 Work for [HER-1655] Excessive charset/character-encoding exceptions; is fallback behavior correct?
* FetchHTTP.java
    catch charset problems early and add as crawl.log annotation, fallback to default without raising log/alert/WARNING-level notice
2009-07-28 01:01:09 +00:00
gojomo 917dfc2bd3 Fix ConfigPath inconsistencies in reporting, relative paths, fixup-ordering
* ConfigPathConfigurer.java
    work in two passes: one (BeanPostProcessor) collects all candidates for fixup, two (ApplicationListener) actually performs fixup
    suppress fixup of own base path, preventing circulare ref/StackOverflow
* ConfigPath.java
    change sense of 'merge' to merge into receiver
* SurtPrefixedDecideRule.java
    use ConfigFile, use 'merge' in assignment
* CrawlerLoggerModule.java
    use merge in assignment
* CrawlJob.java
    (getBeanpathTarget) utility method
* JobResource.java
    respect unset ConfigPaths
* ConfigPathEdito.java, ConfigFileEditor.java
    better comments, ConfigFile variant
2009-07-24 20:22:06 +00:00
gojomo 0b577387af improve display of known ConfigPaths
* ConfigPathConfigurer.java
    key by propPath
* JobResource.java
    display by "propPath: assigned name"
* WriterPoolProcessor.java
    fix typo
2009-07-24 00:06:34 +00:00
gojomo ef0a9f89d4 Fix risk of destruction/confusion from WriteTarget#getWriter
* WriteTarget.java, ReadSource.java
    renamed Writer/Reader accessors to avoid bean-style 'get-' naming
    improve comments
* ConfigFile.java, ConfigString.java, ScriptedProcessor.java, ScriptedDecideRule.java, SurtPrefixedDecideRule.java, TextSeedModule.java
    reflect above change
2009-07-23 20:30:48 +00:00
gojomo 1fc2880106 * SurtPrefixedDecideRule.java
make surt-config files ConfigPaths, so they can be job-relative
2009-07-22 15:51:58 +00:00
gojomo 1cea6dc412 * TextSeedModule.java
(addSeed) synchronize, just in case a thread contention is causing problems
2009-07-22 15:49:59 +00:00
gojomo e1563a7239 (W)ARCs not being written compressed by default
* WriterPoolProcessor
    set 'compress' field default to true
2009-07-20 17:15:41 +00:00
gojomo f82432ca9d Improve conciseness/clarity of ReplayInputStream/ReplayCharSequence usage/cleanup
* ReplayCharSequence.java
    implement Closeable
* ArchiveUtils.java
    (closeQuietly) for ReplayCharSequence 
* ExtractorCSS.java, ExtractorDOC.java, ExtractorHTML.java, ExtractorJS.java, ExtractorXML.java, HTTPContentDigest.java, CrawlServer.java, MirrorWriterProcessor.java, WARCWriterProcessor.java
    cover more with finally blocks; use closeQuietly() variants
2009-07-15 23:30:22 +00:00
gojomo 20a1b19a6a * ScriptedProcessor.java
add intended ApplicationContextAware interface
2009-07-15 23:24:13 +00:00
gojomo fd072ffaaa Absolute paths not respected
* WriterPoolProcessor.java
    treat paths beginning '/' as absolute
* ARCWriterProcessor.java
    remove vestigial default-path var/method
2009-07-14 23:41:00 +00:00
gojomo dd254088e1 [HER-1633] port IsCrossTopmostAssignedSurtHopDecideRule to heritrix3
* HopCrossesAssignmentLevelDomainDecideRule.java
    port H2 IsCrossTopmostAssignedSurtHopDecideRule to H3 under this new name
* PublicSuffixes.java
    update comment, public method for 'Assignment Level Domain'/'Assignment Level SURT' term
* AssignmentLevelSurtQueueAssignmentPolicy
    renamed TopmostAssignedSurtQueueAssignmentPolicy
2009-07-08 00:28:56 +00:00
gojomo 149fc414df [HER-1609] wide crawl performance is limited by lock contention in ServerCache.getServerFor(String)
* (all, especially CachedBdbMap.java) 
    pbaclace-contributed patch, ported to H3, plus...
* StatisticsTracker.java
    replace LongWrapper with AtomicLong
    use non-recursive putIfAbsent-based idiom for get-or-create
* DefaultServerCache.java
    clean up host/server get-or-create around non-recursive concurrent idiom
* BdbModule.java
    add expectedConcurrency property & je.lock.nLockTables tuning
* TopNSet.java
    add synchronization, as calling StatisticsTracker method has lost it
2009-07-06 23:36:17 +00:00
gojomo 4583ff7306 Rename Rrc2617Credential to HttpAuthenticationCredential
* (multiple)
    use more-familiar name for HTTP authentication
2009-07-06 22:09:52 +00:00
gojomo 56b31490c8 [HER-1574] meta refresh urls not html unescaped
* ExtractorHTML.java
    apply same 1-line fix as H1/H2
2009-06-11 23:06:07 +00:00
gojomo 721089044a * **/pom.xml
revert version name to SNAPSHOT
2009-06-11 09:09:43 +00:00
gojomo e8e5fdd9a4 * **/pom.xml
rename version to 'alpha' for distinguished 'alpha' identified build (instead of SNAPSHOT/timestamp)
2009-06-11 08:06:19 +00:00
gojomo 28ed31c498 [HER-1604] Springify/restletify: offer web interface to view/edit beans in running crawl
* BeanBrowseResource.java
    offers browsing (and limited editting of simple values) of beans in built crawl
* JobRelatedResource.java, ReportGenResource.java
    refactor for reuse by other job sub-resources
* JobResource.java
    link to job/beans and job/script
* DescriptorUpdater.java
    helper for marking-up PropertyDescriptors to aid UI bean access
* CrawlJob.java
    don't auto-instantiate context on request
* EngineApplication.java
    add uri routes
* FetchHTTP.java, BdbCookieStorage.java, LongWrapper.java WorkQueueFrontier.java, BdbUriUniqFilter.java
   improve display when browsed (esp. before launch)
2009-06-05 02:51:11 +00:00
gojomo 02dd47b8dc [HER-1505] Expand BeanshellProcessor/BeanshellDecideRule for every JVM-friendly scripting language (Javascript/Jython/Groovy/JRuby)
* BeanShellProcessor.java -> ScriptedProcessor.java; BeanShellDecideRule.java -> ScriptedDecideRule.java
    update to use any present JSR-223 scripting engine (requested by free-text name) 
    update to allow script to come from inline string or file (just as with seeds)
* modules/pom.xml
    include groovy and jsr-223-capable JARs
* .classpath
    add new JARs to classpath
* BeanShellProcessorTest.java -> ScriptedProcessorTest.java
    rename (empty) test class
2009-06-05 01:03:10 +00:00
szznax 6a5b5e4639 Fix HER-1509 changes carried forward from h2
* DefaultProcessorURI.java
  add constructor that supports setting via
* CustomSWFTags.java, CrawlUriSWFAction.java
  look for links in a couple more places
* ExtractorSWF.java
  ExtractorTagParser.parsePlaceObject2() - read 32 bit clip event
    flags when flash version >= 6
* ExtractorSWFTest.java
  xestHer1509() - test this fix (rename to enable the test)
2009-05-23 00:17:41 +00:00
szznax 78a38d6fc1 minor improvement
* Extractor.java
  added instance initializer for DEFAULT_PARAMETERS, and set
  @Autowired(required=false) eliminates the need for test
  classes to set them explicitly.
* ExtractorCSSTest.java
  remove explicit setting of default parameters
* ExtractorHTMLTest.java
  remove explicit setting of default parameters
* JerichoExtractorHTMLTest.java
  remove explicit setting of default parameters
2009-05-21 23:34:18 +00:00
szznax c891a0b278 copy to h3 2009-05-14 23:55:45 +00:00
gojomo 5a4e8c63d3 copy to h3
Fix for [HER-1533] robots.txt fetch referer header is via url which is confusing
* FetchHTTP.java
    configureMethod() don't set referer header if this is a prerequisite
2009-05-14 22:35:47 +00:00
gojomo bb6d1c9c41 copy to h3
Fix for [HER-1570] update extensions regexps in MatchesFilePatternDecideRule
* MatchesFilePatternDecideRule.java
2009-05-14 22:32:47 +00:00
gojomo dccf2becae copy to h3
Fix for [HER-1612] lock contention in BeanShellDecideRule/BeanShellProcessor occurs even if isolate-threads=true
* BeanShellDecideRule.java
    (getInterpreter) add synchronization
    (decisionFor) remove method synchronization; sync on interpreter/getInterpreter makes it a superfluous bottleneck
* BeanShellProcessor.java
    (getInterpreter) add synchronization
    (innerProcess) remove method synchronization; sync on interpreter/getInterpreter makes it a superfluous bottleneck
2009-05-14 22:27:10 +00:00
gojomo 58c9e5f0b1 copy to h3
Fix for [HER-1567] extractor for Wap 2.0 pages -- reported by Christian Dehning
* ExtractorHTML.java
    shouldExtract() - accept various Wap mime types
2009-05-14 22:23:17 +00:00
gojomo 58d2a2ec31 copy to h3
Fix for [HER-1552] Redirects not reported in seeds-report
* ExtractorHTTP.java
    restore expected convention of http-header context ending in ':'
2009-05-14 22:10:06 +00:00
gojomo e9622784f6 Apply to h3
Fix for [HER-1225] HtmlFormCredential.java may create non-wellformed URLs
* HtmlFormCredential.java
    only insert '&' if previous query-string was non-empty
2009-05-14 20:32:42 +00:00
gojomo 8ff73f8a97 apply to h3
Fix for [HER-1558]  ${HOSTNAME} in arc suffix is only replaced completely
* WriterPoolProcessor.java
    replace ${HOSTNAME} in suffix, rather than test for exactly ${HOSTNAME}
2009-05-14 20:17:38 +00:00
gojomo b2e1fe93fd apply to h3
Fix for [#HER-1554] META http-equiv refresh content containing only a number misinterpreted as a URI - IA Webteam JIRA:
* ExtractorHTML.java
    don't use full 'content' as META refresh URL in absence of '='
2009-05-14 20:14:03 +00:00
gojomo 7480d2933b Cleanup for h3 of [HER-1045] [contrib] make it easier to set FetchHTTP local bind address, use rotation of alternate local addresses
* FetchHTTP.java
    advertise key for CrawlURI-based bindAddress override as static constant HTTP_BIND_ADDRESS
* CoreAttributeConstants.java
    remove unused A_HTTP_BIND_ADDRESS
2009-05-13 23:49:36 +00:00
gojomo a89cf707ce apply to h3
Fix for [HER-1499] crawl.log has no annotation indicating that WARCWriterProcessor wrote a revisit record
* WARCWriterProcessor.java
    add annotations "warcRevisit:digest" or "warcRevisit:notModified" when revisit record written
2009-05-13 23:37:55 +00:00
gojomo 9558d94b5d apply to h3
Fix for [HER-1532] robots.txt with html <BR> markup causing NumberFormatException
* RobotsTxtTest.java
    test based on ecnountered robots.txt with HTML markup but clear intent
* RobotsTxt.java
    strip HTML markup from each line before parsing
    strip expected numbers in Crawl-Delay to first run of digits-and-decimal-points
    catch any NumberFormatException in Crawl-Delay number and ignore, continuing other parsing
2009-05-13 23:34:29 +00:00
gojomo 58486c5f18 (copying from h2 to h3)
Fix for [HER-1277] speculative javascript link caused 404s for "http%3A" and "www.example.com" like strings
* ExtractorJS.java
    perform additional decoding or prepending of "http:" for speculative candidate URIs that appear to need it
* ArchiveUtils.java
    add utility set/method with list of all TLDs
    
Fix for [HER-1524] speculativeFixup in ExtractorJS should maintain URL scheme
* ExtractorJS.java
    (speculativeFixup) maintain origin URI scheme if apparent target host is same
2009-05-13 02:14:15 +00:00
gojomo a530af6e5c Improvement for [HER-1] Support 'Crawl-Delay' and 'Allow' robots.txt directives
* AbstractFrontier.java
    change boolean 'respect-crawl-delay' to integer 'respect-crawl-delay-up-to-secs'
Fix for [HER-1516] in datamodel.Robotstxt, Integer.parseInt generates NumberFormatException on floating point Crawl-delay strings
* RobotsDirectives.java, RobotsTxt.java, RobotsExclusionPolicy.java
    parse, store, return crawlDelay as float
* RobotsTxtTest.java
    compare value as float
2009-05-13 01:14:58 +00:00
gojomo 2dec5dfd1a Fix for [HER-1268] ExtractorHTML not able to extract some links (due to them violating RFC2396)
* ExtractorHTMLTest.java, UURIFactoryTest.java
    test that relative-URIs with late-position colons aren't interpreted as absolute URIs with long, illegal schemes
* UURIFactory.java
    update RFC2396REGEX to require legal scheme
* LaxURI.java
    allow illegal candidate scheme to just be interpreted as something else
2009-05-12 22:22:11 +00:00
gojomo 252cf63863 Fix for [HER-1524] speculativeFixup in ExtractorJS should maintain URL scheme
* ExtractorHTMLTest.java
    test for maintaining 'https' when speculative, leading-domain URI is on same host
* ExtractorJS.java
    (speculativeFixup) maintain origin URI scheme if apparent target host is same

Fix for [HER-1526] SCRIPT writing script TYPE common trigger of bogus links (eg. 'text/javascript')
Fix for [HER-1611] more javascript false-positives from Google Analytics insert
* ExtractorJS.java
    port of Steve's work in h2: blacklist for URIs, extracted strings to handle common mis-extractions
* ExtractorHTMLTest.java
    port of test for 'text/javascript' false extract
2009-05-12 22:09:22 +00:00
gojomo 2a73339211 Forward port for [HER-1525] Bump WARC version to match latest (0.18, June-2008) ISO draft
* WARCConstants.java, WARCWriter.java, WARCWriterProcessor.java
    remove/update references to pre-0.18 versions or old class names
2009-05-12 19:51:16 +00:00
gojomo 4082195690 Fix for [HER-1529] AggressiveExtractorHTML reports back as ExtractorHTML2 in processor reports
* AggressiveExtractorHTML.java
    correct self-reported name
2009-05-12 18:04:14 +00:00
gojomo daf5ed7590 Update pom.xml * 4
more naming improvements
    ignore test cruft
    update SCM url
2009-05-12 00:17:01 +00:00
gojomo e047bf68e0 copy 'springy' branch to heritrix3 2009-05-11 22:56:36 +00:00