Commit Graph
700 Commits
Author SHA1 Message Date
gojomo 791df1b78e [HER-1641] migration tool to convert Heritrix 1.14.x order.xml to H3 crawler-beans.cxml
* H1toH3.map
    order-XPath-to-override-key map for translating simple H1 settings to H3 overrides
2009-10-07 01:23:37 +00:00
gojomo 78b3b0101f [HER-1641] migration tool to convert Heritrix 1.14.x order.xml to H3 crawler-beans.cxml
* H1toH3.map
    order-XPath-to-override-key map for translating simple H1 settings to H3 overrides
2009-10-07 01:14:44 +00:00
gojomo 4cf3c0b151 [HER-1641] migration tool to convert Heritrix 1.14.x order.xml to H3 crawler-beans.cxml
* H1toH3.map
    order-XPath-to-override-key map for translating simple H1 settings to H3 overrides
2009-10-07 01:11:12 +00:00
gojomo 329204b9ff [HER-1641] migration tool to convert Heritrix 1.14.x order.xml to H3 crawler-beans.cxml
* MigrateSettings.java, MigrateH1toH3Tool.java
    renamings, 'flatten' method for building map
* H1toH3.map
    order-XPath-to-override-key map for translating simple H1 settings to H3 overrides
2009-10-07 01:07:33 +00:00
szznax e2ee037786 Working commit... 2009-10-06 22:24:19 +00:00
gojomo 258da53d57 [HER-1676] improve bundled profiles to match best-practice, be self-documenting
* profile-crawler-beans.cxml
    add comments for all unstated default values an operator might want to change
* (many) 
    reorder, refactor, rename to better minimize/match simple configuration
2009-10-06 19:35:05 +00:00
szznax 6b1d1963d8 Incremental checkin. 2009-10-06 18:06:46 +00:00
gojomo 3f7d40412b Fix broken unit tests
* CandidatesProcessor.java
    properly set full-via CrawlURI on prereqs
2009-10-06 04:16:14 +00:00
gojomo 742e4e8cad [HER-1676] improve bundled profiles to match best-practice, be self-documenting
* DispositionProcessor.java
    indirect robots-through-metadata, to obviate explicit declaration in beans.xml
2009-10-06 04:14:29 +00:00
gojomo e2a61792a7 * (many)
harmonize our usage on '[Rr]egex' as the abbrieviation for regular-expression
    (replacing RegExp/etc.; 'regex' is 30-40% more prevalent by google hits)
2009-10-06 04:09:49 +00:00
gojomo d86f5f7403 * (many)
harmonize our usage on '[Rr]egex' as the abbrieviation for regular-expression
    (replacing RegExp/etc.; 'regex' is 30-40% more prevalent by google hits)
2009-10-06 03:45:44 +00:00
gojomo dbc1c1b411 * KeyWordProcessor.java
update shouldProcess() to be based on via CrawlURI's type
2009-10-06 02:28:47 +00:00
gojomo 4ce8aef47a Remove obsolete test class 2009-10-06 01:40:22 +00:00
gojomo 6769cdb2dc Fix inadvertent build-breaking upward dependency from modules to engine
* modules//ProcessorChain.java
    send updates to ChainStatusReceiver interface
* engine//ToeThread.java
    implement ChainStatusReceiver interface
2009-10-06 01:01:32 +00:00
szznax 92da7ab8cc Incremental check-in with DOM search and XPath interrogation of scope node from existing order XML. 2009-10-06 00:36:00 +00:00
gojomo 047a157fe8 [HER-1605] Refactor parameterizable policies out of frontier
* selftest-crawler.beans.cxml, FormAuthSelfTest.java, Precedence[134]SelfTest.java
    update self-tests for new chains refactoring
2009-10-05 23:44:30 +00:00
gojomo 13c9cc1915 [HER-1605] Refactor parameterizable policies out of frontier
* defaults.xml
    update bundled profile for new chains refactoring
* CrawlController.java
    move to three processor-chains rather than one
* Frontier.java
    (loadSeeds) removed
* ToeThread.java
    delegate most processing-loop to FetchChain and DispositionChain
* AbstractFrontier.java, WorkQueueFrontier.java
    move policies/calculation out to processors
* CandidatesProcessor.java
    new processor for DispositionChain that runs every outlink through CandidateChain
* CrawlStateUpdater.java -> DispositionProcessor.java
    rename, expand to prep CrawlURI for frontier
* FrontierScheduler.java
    deleted; use CandidatesProcessor/CandidateChain
* LinksScoper.java
    deprecated; use CandidatesProcessor/CandidateChain/CandidateScoper
    (only temporarily retained for ease of comparison)
* CandidateScoper.java
    simple single-URI scope-testing for CandidateChain
* FrontierPreparer.java
    precalculate all frontier-policies in CandidateChain, before scheduling
* PreconditionEnforcer.java
    ProcessorURI->CrawlURI; take on some prerequisite preparation previously deferred to elsewhere
* ProcessorsReport.java
    update for 3-chains of Processors
* SheetOverlaysManager.java
    (applyOverridesTo) moved here for broader use
* CandidateChain.java, FetchChain.java, DispositionChain.java
    role-specific subclasses of ProcessorChain (suitable for type-based autowiring)
* CrawlURI.java
    new fields/accessors of use to new chains/frontier
* PostProcessor.java
    deleted; skip-to-'postprocessing' is now skip-to-end-of-chain
* ProcessorChain.java
    take-on control loop formerly in ToeThread
* ProcessResult.java
    absorb ProcessStatus
    eliminate problematic STUCK result
2009-10-05 23:41:59 +00:00
gojomo 30c729edb3 More ProcessorURI -> CrawlURI updates 2009-10-05 23:25:12 +00:00
gojomo b7d1a79b4d More ProcessorURI -> CrawlURI updates 2009-10-05 23:08:12 +00:00
gojomo 8f7ad4eae4 work for [HER-1605] Refactor parameterizable policies out of frontier
* QueueAssignmentPolicy.java, URIAuthorityBasedQueueAssignmentPolicy.java
    move 'force-queue-assignment' setting from frontier to policy
2009-10-05 23:04:37 +00:00
gojomo c7ed3e775d Misc
* ArchiveUtils.java
   (checkContinue) utility method relocated from ToeThread for converting interrupt status to exception
* ClassKeyMatchesRegExpDecideRule.java
   properly set up crawlController property for auto-wiring
2009-10-05 22:59:46 +00:00
gojomo 16538f175c Cleanup, refactoring
* (many)
   update license notice to Apache where appropriate
   eliminate ProcessorURI, DefaultProcessorURI in favor of CrawlURI (now in modules package)
   other comment/warning/unused code cleanup
2009-10-05 22:49:19 +00:00
gojomo c04c5dbdbc Improve test robustness
* Engine.java
    wait another second before testing for job wrap-up
2009-10-05 22:25:44 +00:00
szznax 62690268b7 Initial checkin for [HER-1641] migration tool to convert Heritrix 1.14.x order.xml to H3 crawler-beans.cxml 2009-10-05 20:00:56 +00:00
gojomo c05044d51b Eliminate double-database close log messages
* BdbModule.java
   split openDatabase() to openManagedDatabase() (auto-closed) and plain openDatabase() (caller-closes)
   set TempStoredSortedMap to use unmanaged openDatabase
* (others)
   use openManagedDatabase()
2009-10-04 05:06:14 +00:00
gojomo 3cb6b59b8c [HER-769] Support case where millions of seeds.
* BdbModule.java
    add temp-stored-map service method
    remove unused secondary-db support
* TempStoredSortedMap.java
    StoredSortedMap that can destroy its underlying database after temporary use
* StatisticsTracker.java
    update various sorted-by-decreasing-frequency methods to use temp StoredMaps, with duplicate keys that are negative counts
* (Multiple)Report.java
    update to use new duplicate-keyed frequency maps
2009-10-03 23:28:11 +00:00
gojomo 99020c4981 [HER-1672] parallelQueues with overlays - prerequisites not landing in right queues (causes massive DNS-fetch repeats)
* PreconditionEnforcer.java, CrawlServer.java
    in testing found some ordering issues affecting robots-scheduling if parallelQueues>1
    reordered/refactored to put more responsibility in CrawlServer to resolve
2009-09-29 00:47:38 +00:00
gojomo 1c1a6501ba [HER-1672] parallelQueues with overlays - prerequisites not landing in right queues (causes massive DNS-fetch repeats)
* CrawlURI.java
    (getPolicyBasisUURI) return either own UURI, or -- for prereqs -- via UURI, as basis for overlays/policy calculations
* URIAuthorityBasedQueueAssignmentPolicy.java
    use getPolicyBasisUURI for queue-name decisions
* SheetOverlaysManager.java
    use getPolicyBasisUURI for surt-based overlay decisions
2009-09-26 04:18:25 +00:00
gojomo 71aa2ad51d * StatisticsTracker.java, HostsReport.java
rename getReverseSortedHostsDistribution() so it isn't misinterpreted as beans property
2009-09-26 04:09:20 +00:00
gojomo e7ab73dd5d [HER-1677] threads stuck in CachedBdbMap.get/_getMem
alternate simplified implementation of our object-cache need
* ObjectIdentityCache.java
    new interface, far less than (Concurrent)Map, for big seems-like-in-memory object-cache
* Supplier.java
    trivial interface for deferred-provision of new instance
* CachedBdbMap.java
    implement ObjectIdentityCache, mainly via getOrUse()
* ObjectIdentityMemCache.java
    trivial ConcurrentHashMap-based all-in-memory ObjectIdentityCache implementation
* ObjectIdentityBdbCache.java
    BDB-backed ObjectIdentityCache implementation, carved from CachedBdbMap
* BdbModule.java
    refactor utility methods to offer CachedBdbMap or ObjectIdentityBdbCache instances, via source toggle
* EnhancedEnvironment.java
    convenience test-environment method
* (others)
    update to use ObjectIdentityCache/ObjectIdentityMemCache in place of ConcurrentMap/ConcurrentHashMap
2009-09-25 21:16:53 +00:00
gojomo 163dcb7826 [HER-1607] handle persist state when crawl starts up
* BdbModule.java
    fail-fast if not started properly; stop with fewer errors in problem situations
* CrawlController.java
    continue past runtimeException on stop
* CrawlJob.java
    less redundant error-reporting
* AbstractFrontier.java
    consider PAUSE or FINISH valid targets after unexpected exception 
* StatisticsTracker.java
    avoid promoting runtimeException in report-generating up
* PersistOnlineProcessor.java
    delegate DB-closing to BdbModule to avoid double-close
2009-09-11 02:26:04 +00:00
gojomo d5e088ed6a * WorkQueueFrontier.java
improve frontier report: move longest-queue to top, add labels/counters to long lists of queue groups
2009-09-10 22:40:30 +00:00
gojomo 1c451021d1 * PagedRepresentation.java
make 'end' link go to true end, not end-as-of-moment-of-rendering
2009-09-10 21:57:21 +00:00
gojomo 1e3ec9fe35 * SheetAssociation.java
initialize list of names for easier in-crawl construction/insertion
2009-09-10 21:56:44 +00:00
gojomo 0b10862c8d Make during-crawl sheets/overlay changes easier
* SheetOverlaysManager.java
    convenience methods for during-crawl changes:
    (getOrCreateSheet)
    (deleteSheet)
    (putSheetOverlay)
    (removeSheetOverlay)
* Sheet.java
    improved comments
2009-09-03 06:33:25 +00:00
gojomo c88744ab27 Improve bean-browse UI
* BeanBrowseResource.java
    coerce edits to type of value they're replacing; makes for safer mid-crawl edits of values in maps
* JobRelatedResource.java
    improve rendering/clickability of map, indexed objects
2009-09-03 03:32:07 +00:00
gojomo f26803bd4f UI tweaks
* JobResource.java
    make jaob main page begin with job title -- easier to distinguish tabs with different jobs in them
2009-09-03 03:27:05 +00:00
gojomo 635d27b390 More action directory capabilities
* ActionDirectory.java
    execute scripts found in action directory, determining language by their suffix
2009-09-03 03:15:54 +00:00
gojomo 21d90f2a3a UI annoyances
* ReportGenResource.java
    ensure redirect after regeneration of report doesn't show stale cached version
2009-09-02 23:15:18 +00:00
gojomo d4eabb9631 Improve log display
* JobResource.java
    form proper alerts-rev-tail link
    for any file ending ".log", use rev-tail-paged view
2009-09-01 22:42:52 +00:00
gojomo f0421e1f13 * ActionDirectory.java
also include 'Fi ' lines -- for recoveries of recoveries
2009-08-28 17:08:59 +00:00
gojomo 211cd7c659 [HER-1669] slow crawl/contention n WARCWriterProcessor
* CrawlController.java
    increase default size of in-memory recording buffers 
    outBuffer (requests): 4K -> 16K
    inBuffer (responses): 64K -> 512K
2009-08-27 23:13:11 +00:00
gojomo 3f9ecc4dfa * PagedRepresentation.java
fix negative estimated size error for log-tail viewing
2009-08-27 00:10:48 +00:00
gojomo b78fce045b Fix selftests hanging due to pauseAtStart default true
* selftest-crawler-beans.cxml
    make selftests not pauseAtStart
2009-08-13 10:03:56 +00:00
gojomo d654bb5651 [HER-1660] allow adding seeds, recovery-journal-like URI data at any point in crawl via 'action directory'
* ActionDirectory.java
     support for .seeds, .recover, .include, .schedule, .force files
* CrawlController.java
    change default for pause-at-start to true; ensure enters PAUSED rather than PAUSING
* Frontier.java 
    (importRecoverFormat) support method for .recover, .include, .schedule, .force additions
    (considerIncluded) change to accept CrawlURI
* AbstractFrontier.java
    (importRecoverFormat) support method for .recover, .include, .schedule, .force additions
* BdbFrontier.java
    remove too-strict assertion
* FrontierJournal.java
    rename recover-log 'frontier.recover.gz' (so that '.recover' is a dot-suffix)
* WorkQueueFrontier.java
    (considerIncluded) change to accept CrawlURI
2009-08-12 01:50:51 +00:00
gojomo bba028ce21 * StatisticsTracker.java, SeedsReport.java
remove redundant method
2009-08-12 01:35:19 +00:00
gojomo a37a1846b7 Move getBufferedReader() -> IoUtils
* CrawlerJournal.java, IoUtils.java
    move getBufferedReader to IoUtils
* FrontierJournal.java
    add new 'included' tag for log lines ("Fi")
* (others)
    update for relocated method
2009-08-11 02:17:20 +00:00
gojomo 023efe4aba [HER-1660] allow adding seeds, recovery-journal-like URI data at any point in crawl via 'action directory'
* ActionDirectory.java
    initial implementation; handle '.seeds' files
2009-08-06 21:33:31 +00:00
gojomo 0400d81ee5 support for...
[HER-1660] allow adding seeds, recovery-journal-like URI data at any point in crawl via 'action directory' 
[HER-769] Support case where millions of seeds. 
* AbstractFrontier.java
    move sourceTagSeeds setting to SeedModule
    trigger and schedule seeds via SeedModule's announcements and SeedListener protocols
* StatisticsTracker.java
    implement SeedListener, use processedSeedRecords as list of all seeds
* ProcessorURI.java, DefaultProcessorURI.java
    (getURI) convenience accessor for plain URI string
* SurtPrefixedDecideRule.java
    use seeds as prefixes via SeedListener notifications, rather than separate scan of seeds source text
* SeedListener.java
    simplify to notifications of new seed, and nonseed text mixed with seeds (as with SURT directives)
* SeedModule.java
    methods for SeedListener interface, announceSeeds, actOn(File)
* TextSeedModule.java
    eliminate interators; add methods for announcing seeds and scanning seed text sources (including arbitrary Files)
* PrefixSet.java, SurtPrefixSet.java
    derive from ConcurrentSkipListSet; eliminate now-unneeded extra synchronization and clone()s 
    offer considerAsDirective() for direct application of directive Strings
2009-08-06 21:24:04 +00:00
gojomo 4d06b239ee Push CrawlURI and related constants down to modules subproject/package
(many)
2009-08-06 20:22:00 +00:00