Commit Graph

450 Commits

Author SHA1 Message Date
gojomo 9bfa8fc1db * JobResource.java
remove stray whitespace
2010-09-02 23:56:52 +00:00
gojomo ad8941fa23 1-liner fixing argument display for usage help argument echo
* Heritrix.java
    (usage) StringUtils.join the String[] args
    commit in honor of Travis, who suggested fix
2010-08-27 00:56:42 +00:00
gojomo 2f78980e5d [HER-1814] remove dependency on apache commons-pool/GenericObjectPool
* SelfTestBase.java
    don't try to UURIify 'fieldesc:' ad-hoc URIs
2010-08-26 21:56:50 +00:00
gojomo 790469280e [HER-1814] remove dependency on apache commons-pool/GenericObjectPool
* WriterPoolMember.java
    fix ops broken by removal of checkSize at preWriteRecordTasks -- still create if out == null
2010-08-26 21:19:56 +00:00
gojomo 8d1083922d [HER-1814] remove dependency on apache commons-pool/GenericObjectPool
* .classpath, pom.xml, org/apache/commons/pool/impl/*
    remove references to and patched classes based on commons-pool
* WriterPool.java
    move instance creation/round-robin-pool/dispose into this class
    close (rather then recycle) extra writers when crawl slows (via tracking time of last need/rollover)
* WriterPoolMember.java
    add isOversize() for external check of ready-to-rollover file
    avoid rollover before every record (so that set of related WARC records aren't split between files)
* ARCWriterPool.java, WARCWriterPool.java
    remove BasePoolableObjectFactory reference, implement class-appropriate makeWriter()
* ARCWriterPoolTest.java
    adjust for new never-timeout behavior
* ARCWriterPoolProcessor.java WARCWriterPoolProcessor.java
    adjust constructor calls
* WriterPoolProcessor.java
    replace poolMaxWaitMs (which caused eventual complete timeout from waiting for writer) with maxWaitForIdleMs, a much smaller value which only controls how long a thread waits for an reusable writer before considering creating a new one. (If creation isn't allowed, threads will now wait indefinitely for a writer to become available.)
2010-08-25 23:25:26 +00:00
gojomo 03778ff943 [HER-1727] (W)ARC filename uniqueness guarantees: adminport option, process_id option(?), JVM-global-repeat-suppression
* WriterPoolMember.java
    use '~' rather than '@' and '#' as pid~hostname~port separators, for less risk in shell scripts and URLs
2010-08-23 22:17:39 +00:00
gojomo e3023218e1 null check; fix broken test 2010-08-20 04:08:07 +00:00
gojomo 47b28f92f8 fix class reference (and build) 2010-08-20 00:47:55 +00:00
gojomo b388479d32 [HER-1727] (W)ARC filename uniqueness guarantees: adminport option, process_id option(?), JVM-global-repeat-suppression
* Heritrix.java
    make heritrix.hostname, heritrix.pid, heritrix.port available as global properties
* PropertyUtils.java, PropertyUtilsTest.java
    utility methods to interpolate string values from one or several supplied Properties instances
* ArchiveUtils.java
    utility methods to give timestamps guaranteed larger/different than any previously-issued timestamp

* WriterPoolSettings.java, WriterPool.java, ARCWriterPool.java, WARCWriterPool.java, ARCWriterPoolTest.java
    improve field names, change 'suffix' to more general 'template'
* WriterPoolMember.java
    replace 'suffix' with 'template' which is interpolated when specific name is needed
    set default template to pattern extremely unlikely to generate duplicate filenames
    change default prefix to 'WEB'
    centralize creation of new basenames into generateNewBasename() method, which internalizes timetamp/serialNo minting and interpolation
* WriterPoolProcessor.java, ARCWriterProcessor.java, WARCWriterProcessor.java
    serve as own WriterPoolSettings instance
    replace 'suffix' with 'template' 
    
* ARCWriter.java
    accept (but truncate) 17-digit timestamps at creation
* DefaultWriterPoolSettings.java, TimestampSerialNo.java
    delete as superfluous
2010-08-20 00:21:43 +00:00
kristinn_sig c410c90b76 Implementation of [HER-1811] Replace the LowDiskPauseProcessor with something that works
* profile-crawler-beans.cxml
    Added a commented-out configuration for new DiskSpaceMonitor
* DiskSpaceMonitor.java
    Implements the required functionality
* package-info.java
    Description of new package for monitoring utilities
* LowDiskPauseProcessor.java
    Now marked as deprecated
2010-08-19 10:47:22 +00:00
szznax afc2a55e49 fix for [HER-1808] uncaught URLDecoder IllegalArgumentException in ExtractorHTML
* ExtractorHTML.java
    still consider values rejected by URLDecoder
2010-08-13 00:37:55 +00:00
szznax dd4bf9a910 correct canonicalizationPolicy bean template per archive-crawler msg 6649
* profile-crawler-beans.cxml, migrate-template-crawler-beans.cxml
    surround canonicalizationPolicy list with property element
2010-08-09 21:22:50 +00:00
gojomo a729c041e1 * URIAuthorityBasedQueueAssignmentPolicy.java
* SurtAuthorityQueueAssignmentPolicy.java
* HostnameQueueAssignmentPolicy.java
    correct inadvertent 'default' access rather than 'protected' allowing overriding
2010-08-04 20:26:22 +00:00
gojomo 9a74685065 correct whitespace 2010-07-27 00:13:16 +00:00
gojomo be954bc9b9 [HER-1804] H3: avoid echoing admin credentials to (possibly world-readable) _out log
* Heritrix.java
    replace echo of exact login/pw with note about whether it came from cmd-line or @file
2010-07-22 22:55:56 +00:00
gojomo 5f76c7ef56 [HER-1800] H3: Incomplete checkpoint listed in combo box
* CheckpointService.java
    use static method on Checkpoint for validity check
* Checkpoint.java 
    throw early-startup exception if attempting resumption of invalid checkpoint
2010-07-13 02:59:47 +00:00
gojomo 899fb6f404 [HER-1800] H3: Incomplete checkpoint listed in combo box
* CheckpointService.java
    (getAvailableCheckpointDirectories) return List, filtered to leave out directories without a 'valid' stamp; log WARNING to _out so that the attentive operator can manually clean-up/investigate
2010-07-13 01:19:10 +00:00
gojomo f08c6bd749 [HER-1801] H3: Unreleased lock causes deadlock when checkpointing
* DispositionChain.java
    ensure lock-release after unhandled runtime exceptions with try-finally
2010-07-12 23:44:36 +00:00
gojomo 7d4ed491be * ReadSourceEditor.java
PropertyEditor to ease inline specification (as String/ConfigString) anywhere a ReadSource is expected
2010-07-09 23:17:06 +00:00
gojomo bba186f333 [HER-1799] H3: expand 'inferred' URI options to optionally include root-page (/)
* ExtractorHTTP.java
    add property inferRootPage; if true (not the default), always consider '/' inferred from all HTTP(S) URIs
* Hop.java, LinkContext.java
    add new hop-type 'I' for inferred URIs; add corresponding LinkContext
* ExtractorImpliedURI.java
    use new 'I'nferred types
2010-07-09 22:39:22 +00:00
gojomo b4485b05b1 * EngineResource.java
show proper separator in path prompt
2010-07-09 21:55:13 +00:00
gojomo cfc4b347a6 [HER-1796] H3: interval rescheduling becomes erratic after URI rescheduled more than maxRetries times
* CrawlURI.java
    improve comments for fetchAttempts methods
    (resetForRescheduling) added to clear per-scheduling state
* WorkQueueFrontier.java
    call resetForRescheduling just before scheduling-at-specific-time
* FrontierJournal.java, AbstractFrontier.java
    renamings: prefer 'reenqueue' instead of 'reschedule' for describing simple (non-timed) retries
2010-07-09 01:45:26 +00:00
gojomo 274e522f85 [HER-1793] BOM in seeds.txt confuses heritrix
* RegexpLineIterator.java
    ignore \ufeff along with leading whitespace
2010-07-02 17:47:41 +00:00
gojomo f75f95648a [HER-1795] H3: Wrong schemaLocation in .cxml
* **/*crawler-beans.cxml
    update all 2.0 spring schema refs to 2.5
2010-07-02 00:58:23 +00:00
gojomo 829a3f78b3 [HER-1794] Extra white spaces in pom.xml
* **/pom.xml
    remove leading blank lines
2010-07-02 00:51:19 +00:00
nlevitt a68293982f Fix a couple of thinkos to really reserve RESERVE_BLOCKS of the intended
RESERVE_BLOCK_SIZE
2010-06-24 04:24:31 +00:00
gojomo 4c10d4b54f * engine/pom.xml
after test OOMEs on build machine, make sure tests use -server and a 256M heap
2010-06-23 00:47:24 +00:00
gojomo bdc1e078ad * Flash.java
protect against empty string, whitespace as well
2010-06-21 22:08:46 +00:00
gojomo 943ecf3088 [HER-1762] H3 performance tuning
* AbstractFrontier.java
    change config and defaults for 'inbound' and 'outbound': allowing any BlockinqQueue bean, of any size, to be specified if desired
* **/profile-crawler-beans.cxml
    changed commented-out descriptions of defaults to reflect what's used if nothing is specified for 'outbound' and 'inbound'
2010-06-18 21:17:40 +00:00
gojomo 4875135dc9 [HER-1762] H3 performance tuning
* KeyedProperties.java
    avoid allocation hotspot shown by profiling (creating iterator for empty collection)
2010-06-18 02:37:42 +00:00
szznax e83a6eceed follow-up patch for [HER-1764] H3 needs in-UI quit/shutdown option
* Flash.java
    avoid NPE when "flashdrop" cookie not set
2010-06-16 22:02:41 +00:00
gojomo edb70dae06 Fix [HER-1774] TransclusionDecideRule defies expectation when seed redirects with seed-redirects-new-seed enabled
* TransclusionDecideRule.java
    refine further: count 'R's for minimum-hops-necessary-to-transclude, but not for maximum-allowable
2010-06-16 21:51:50 +00:00
gojomo 2e03aa8cb7 [HER-1764] H3 needs in-UI quit/shutdown option
* EngineResource.java
    add 'exit' control area at bottom of page
    allow JVM-exit if confirm-box checked and either no jobs built/running or extra confirm boxes for each built job checked
* Flash.java
    fix to allow multiple flashes per page load
* JobResource.java, CrawlJob.java
    move useful status string method to CrawlJob
2010-06-16 00:51:58 +00:00
gojomo 4c1a4f2e12 remove unneeded import 2010-06-15 21:34:57 +00:00
gojomo 3c8e72a20e * BloomFilterTest.java
disable by renaming ('xest') those tests taking >15mins each
2010-06-15 21:33:34 +00:00
gojomo 6be649b286 [HER-1783] BloomFilter64bit bit-length bug prevents full bitfield from being used; premature saturation
* BloomFilter64bit.java
    include the split-to-subarrays (for larger bitfields) and round-up-to-power-of-2 (for performance) options previously in largely-redundant classes
    fit a number of problems with int/long overflow and bitwise ops
    add methods for reporting/testing
* BloomFilter.java
    add methods for reporting/testing
* BloomFilterTest.java, BloomFilter64bitTest.java
    more extensive tests, including two lengthy tests of default/oversized blooms usually disabled by renaming
* BloomFilter32bit.java, BloomFilter32bitSplit.java, BloomFilter32bp2.java, BloomFilter32bp2Split.java
    deleted as buggy or redundant
* BenchmarkBlooms.java
    move to test source dir
* BloomUriUniqFilter.java
    change to accept filter instance (rather than parameters) for added configuration flexibility
    fix comments
* BloomUriUniqFilterTest.java
    supply filter not paramters
2010-06-15 21:30:34 +00:00
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 e1f76dbc07 [HER-1784] default profile MatchesListRegexDecideRule intended to REJECT doesn't
* dist/src/main/conf/jobs/profile-defaults/profile-crawler-beans.cxml
* engine/src/main/resources/org/archive/crawler/restlet/profile-crawler-beans.cxml
    add intended REJECT decision for the late (rules[4]) MatchesListRegexDecideRule
2010-06-14 22:22:34 +00:00
gojomo f9a3c2344c * BloomFilterTest.java
explicit deferenced bloom instance to avoid OOME
2010-06-08 03:38:56 +00:00
gojomo 4e1b47746c * commons/pom.xml
increase heap for testing to 1024m to accomodate big bloom bitfield tests
2010-06-08 03:28:51 +00:00
gojomo e9a11e56c6 HER-1783 BloomFilter64bit bit-length bug prevents full bitfield from being used; premature saturation
* BloomFilter64bit.java
    fix long arithmetic calculating bit-length m in constructor
    slight optimization of add()
* BloomFilterTest.java
    abstract superclass for bloom impl class tests
* BloomFilter64bitTest.java
    sanity check that set bits, after a handful of adds into default-sized filter, occupy top and bottom 20% of range (which would have caught this bug earlier)
2010-06-08 02:39:35 +00:00
gojomo e673c7d781 * WorkQueueFrontier.java
experimental utility method to force-wake all snoozed (politeness and retry-delayed) queues
2010-06-04 22:31:16 +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 5f83fe75a2 HER-1010 crawl favicon.ico
* (self tests)
    correct expectations to now include /favicon.ico
2010-06-03 00:31:32 +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
szznax d1f27aaecd removed no-longer-referenced "recoveryDir" property from "frontier" bean 2010-05-27 17:46:44 +00:00
nlevitt 72bdad74e9 * pom.xml
install source jars to maven repository
2010-05-26 04:41:22 +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