Commit Graph
51 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 4f0961c371 Fix NPE
* URIAuthorityBasedQueueAssignmentPolicy.java
    tolerate null getRawPathQuery response
2009-08-04 01:31:38 +00:00
gojomo c196a1de77 [HER-1658] CachedBdbMaps not expunging as expected (especially StatisticsTracker.processedSeedsRecords)
* CachedBdbMap.java
    do expunge on put(), replace()
    add low-memory-sensitive 'canary' to force expunge even if otherwise untriggered
* CachedBdbMapTest.java
    add test of idle expunge in low-memory conditions
* CrawlURI.java
    (getURI) direct access to String URI (don't reuse toString() functionally)
* SeedRecord.java
    support for updating record with later/repeat report
* StatisticsTracker.java
    remove put()s for processedSeedRecords, hostsLastFinished
* BdbFrontier.java
    (getQueueFor) remove put, do in concurrent-compliant manner
2009-08-04 00:06:22 +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 d2a82228a3 TODO/FIXME comments where things don't seem quite right but aren't definitively buggy
* CachedBdbMap.java
    reevaluate if clear() should include close()
* CrawlURI.java
    investigate possible confusion in meaning of isPrerequisite()
2009-07-28 22:56:54 +00:00
gojomo 5027fb9aa0 * AbstractFrontier.java, WrokQueueFrontier.java
remove outdated comments; use isEmpty()
2009-07-28 22:47:01 +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 60ebd6cfdb * CrawlController.java
better handle case where crawl is discarded before launched
2009-07-24 00:27:57 +00:00
gojomo c3cc7cc7e5 * JobResource.java
complete rename of printLinked to printLinkedFile
2009-07-24 00:27:27 +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 3d573a8d5f Resolve remaining broken links to logs outside job dir
* JobResource.java
    refactor, improve printLinkedFile
* EngineApplication.java
    remove debug output
2009-07-24 00:00:28 +00:00
gojomo ace6d95ab8 Fix race conditions/unclean shutdown around 'teardown' (esp. if crawl running)
* CrawlController.java
   (isFinished) added
* CrawlJob.java 
   rename reset to teardown
   wait for CrawlController to report finished before discarding AppContext
   if not finished in time, fail reporting 'false'
* JobResource.java
   show Flash if teardown did not succeed; user must retry
* BdbUriUniqFilter.java
   don't throw DatabaseException from simple accessor
2009-07-23 22:49:42 +00:00
gojomo e0d748cd3b improve comment 2009-07-23 20:28:29 +00:00
gojomo 52a0895c6b * JobResource.java
rename 'discard' to 'teardown'
    enable browse/edit of paths outside jobdir via new /anypath/ service
* EngineResource.java, Engine.java
    enable addition of job dirs from outside main jobs directory
* EngineApplication.java
    register new /engine/anypath service for outside-job-dir paths
2009-07-22 15:59:30 +00:00
gojomo 4d7c4834d8 * ScriptResource.java
offer better ack of lines-executed (even if they generate no output)
2009-07-22 15:53:49 +00:00
gojomo d6496b993a * SheetOverlaysManager.java
make empty map modifiable, to ease during-crawl additions
    add accessors for other fields, to ease browsing
2009-07-20 20:09:08 +00:00
gojomo 427b633826 Large seed list = web UI launch spins for hours without returning
* CrawlJob.java
    move the requestCrawlStart into the background/crawl-group thread
2009-07-14 23:56:53 +00:00
gojomo 4251e5311f * SelfTestBase.java
report full path of unclosed ARC for manual checking -- truly unclosed or timing issue?
2009-07-08 01:21:49 +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 89a55c7fdd * JobResource.java
make UI more robust against browser/platform font size variances
2009-07-06 23:37:30 +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 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 ecd93ae458 Fixes from trial guide testing
* Heritrix.java
    fail-fast with helpful error message if launched with Java < 1.6
* EditRepresentation.java
    "save changes" rather than "update content"
* EngineApplication.java
    customize restlet error to include back-button and full stack (instead of link to HTTP spec!)
2009-06-10 22:31:44 +00:00
gojomo 27783e87ab Fixes from trial guide testing
* StatisticsTracker.java
    allow Crawl Summary report to complete even pre-launch
* BeanBrowseResource.java, ScriptResource.java
    add page title, backlink to job
* EngineResource.java, PagedRepresentation.java
    better in-page labeling
2009-06-09 21:59:45 +00:00
gojomo c2b82efb89 Fixes from trial guide testing
* EngineApplication.java
    better handle job directories with spaces in them
2009-06-09 08:22:21 +00:00
gojomo 3862c361a4 Fixes from trial guide testing
* defaults.xml
    remove error-causing redundant BdbCookieStorage declaration
* TextUtils.java
    exception- and deprecation-free UTF8 URL escaping
* CrawlJob.java, JobResource.java
    ensure job log shows INFO-level items
    better handle job directories with spaces in them
2009-06-08 23:30:55 +00:00
gojomo 02b5ca5f1d [HER-1601] Restletify: per-job operator arbitrary script execution
* ScriptResource.java
    textarea offering execution of any script supported by available JSR-223 script engines
2009-06-05 02:59:28 +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 771d23240c refactor sheets to better enable mid-crawl changes
* Sheet.java
    make non-abstract; allow for name that might not be beanName
* SheetAssociation.java
    define targets as list of names, rather than Sheets themselves
* SheetForDecideRuled.java -> DecideRuledSheetAssociation.java; SheetForSurtPrefixes.java -> SurtPrefixesSheetAssociation.java
    make association separate from Sheet -- so same Sheet can be associated more than one place, more than one way
* SheetOverlaysManager.java
    match changes to Sheet and SheetAssociations
    offer convenience methods for post-construction addition of Sheets, associations
    use internal name-to-Sheet mapping, allowing for mid-crawl Sheet additions not in bean factory
* Precedence1SelfTest.java, Precedence4SelfTest.java
    update configs for Sheet changes
2009-06-05 02:12:32 +00:00
gojomo 92f5ca2a45 remove unused imports/code 2009-06-05 01:12:51 +00:00
szznax 8c0b539331 minor improvement
* CrawlURI.java
  removed static MAX_OUTLINKS in favor of ExtractorParameters.getMaxOutlinks()
2009-05-21 23:39:50 +00:00
gojomo 5746e422df [HER-1598] Restletify: enable report generating, viewing, refreshing
* ReportGenResource.java
    restlet to generate-report-to-file and redirect to view file
* JobResource.java
    links to reports from appropriate places for built job
    clarify profiles, simplify into-job-dir path-construction
* CrawlJob.java
    remove leading '/' from job-relative paths
* EngineApplication.java
    install ReportGenResource at appropriate in-job path
2009-05-18 21:23:31 +00:00
gojomo 895e822a81 [HER-1598] Restletify: enable report generating, viewing, refreshing
* StatisticsTracker.java
    fortify for reporting even pre-start/post-stop
    add new report types, new groupings: ALL_, LIVE_, END_
    dump END_ reports at stop()
    dump report by short (class) name
2009-05-18 21:20:55 +00:00
gojomo a504d518ba [HER-1598] Restletify: enable report generating, viewing, refreshing
* CrawlController.java
    fortify for report-generation even pre-start/post-stop
2009-05-18 21:18:03 +00:00
gojomo 7e4245bfee [HER-1598] Restletify: enable report generating, viewing, refreshing
* FrontierSummaryReport.java, FrontierNonemptyReport.java, ToeThreadsReport.java
    Report classes for usual frontier/toethread situations
2009-05-18 21:15:26 +00:00
gojomo 25b5da8c5b pull Lifecycle interface up to interface 2009-05-18 21:07:28 +00:00
gojomo 8b59ef1086 Restore directory-browsing broken by password Guard
* Heritrix.java
    reorder restlet setup so Context is passed through Guard to EngineApplication
2009-05-15 02:02:04 +00:00
gojomo 81a9a9f0f3 Fix unit test
* BadURIsStopPageParsingSelfTest.java
    update expected URIs to match H2 branch / fixed code
2009-05-15 00:27:27 +00:00
gojomo db794496fb copy to h3
Fix for [HER-1550] set-source-tag option nonfunctional
* CrawlURI.java
    ensure 'heritable' key is itself heritable; also change heritable collection to a set
2009-05-14 22:20:07 +00:00
gojomo dae03cb1de port to h3 noah's fix
Fix for [HER-1533] bottleneck in StatisticsTracker.saveSourceStats
* StatisticsTrackerImpl.java
    saveSourceStats() -- call put() on the CachedBdbMap only when entry is
    added, not on every change
2009-05-14 20:51:46 +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 ab6942a60d Fix for [HER-1291] accurate scoping not possible at log-recovery time; URIs may be recrawled against expectations
* FrontierJournal.java
    refactor to always operate on CrawlURI instances (with hops-path and via info), and to write longer info on success/failure lines
2009-05-13 01:43:41 +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 2c7c07ba64 apply to h3 noah's fix
[HER-1510] meta refresh url from a seed considered as a seed
* LinksScoper.java 
	(considerAsSeed) return true any seed with hop type Hop.REFER, which
	includes meta refreshes; also simplify the code a bit
2009-05-12 22:29:54 +00:00
gojomo 2c11eb1dc2 Remove cruft comments 2009-05-12 19:50:05 +00:00
gojomo 8de6b2a9c5 Fix for [HER-1502] selftests break if 'localhost' does not resolve to 127.0.0.1
* (all)
    change 'localhost' to '127.0.0.1'
2009-05-12 18:40:18 +00:00
gojomo c8a5446695 Test robustness
* SelfTestBase.java
    don't allow negative random passwords, in case leading '-' is causing problems
* Heritrix.java
    echo arguments when showing usage info -- to understand what went wrong
2009-05-12 02:10:37 +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