Commit Graph
99 Commits
Author SHA1 Message Date
gojomo 4cd9eb2e41 Work for [HER-1654] suspicious Cookie bottlenecks: synchronization, growth
* Cookie.java
    simple non-contending String compare (fixed similarly upstream in HttpClient;
    see https://cwiki.apache.org/jira/browse/HTTPCLIENT-645 )
2009-07-28 00:48:36 +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 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 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 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 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 e1563a7239 (W)ARCs not being written compressed by default
* WriterPoolProcessor
    set 'compress' field default to true
2009-07-20 17:15:41 +00:00
szznax e8a8639277 initial checkin: this class is useful for determining why ArchiveReader fails for problematic W/ARC files 2009-07-17 21:52:21 +00:00
szznax 9fe716cf8f copy to h3
Fix for [HER-1568] ARCReader fails on some newer Alexa ARC files
* ARCConstants.java
  added ArcRecordErrors enum for known reading errors
* ARCReaderFactory.java
  only check for 'LX' extension in GZIP extra field
* ARCRecord.java
  added errors, hasErrors(), and getErrors()
2009-07-17 21:51:24 +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 9ed41e9ea2 Remedy potential filehandle leak
* RecordingOutputStream.java
    close ReplayInputStream used to create GenericReplayCharSequence
    use 'UTF-8' and not possibly-varying JVm default encoding when none specified
2009-07-15 23:23:06 +00:00
gojomo c01032a56f Excessive exceptions for unsupported/illegal encodings
* GenericReplayCharSequence.java, InMemoryReplayCharSequence.java
    catch, log, fallback to UTF-8 for problematic encoding names
2009-07-15 23:20:36 +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 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 c721d34fde [HER-1642] fix HOWTO-launch document
* HOWTO-Launch-Heritrix.txt
    removed; info mostly about H2 variants
* README.txt
    updated wiki link, launch info to match H3
* LICENSE.txt
    updated to Apache2
2009-07-13 23:06:23 +00:00
gojomo 8e5b46250e Fix undesired relativization of intended-absolute paths
* ConfigPath.java
    special check for path starting '/'; if so, ignore 'base'
2009-07-09 22:46:26 +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 cb8a374e5d [HER-1636] H3: Failed get of replay char sequence due the OutOfMemoryError: Map failed (port HER-1482)
(from nlevitt's H2 commit message:)
* InMemoryReplayCharSequence.java
    new, simple ReplayCharSequence that supports any encoding, keeping everything in memory
* GenericReplayCharSequence.java
    If the encoding supports random access, memory maps the backing file directly; otherwise decodes to UTF-16 and maps that. Supports the first Integer.MAX_VALUE bytes of the file. Maps up to 64M; moves the map around as necessary for larger files.
* Latin1ByteReplayCharSequence.java
    removed, functionality split between InMemoryReplayCharSequence and GenericReplayCharSequence
* ReplayCharSequenceTest.java
    xestHugeReplayCharSequence() - uncomment to test a huge replay char sequence
    testReplayCharSequenceByteToStringOverflow() - test both UTF-8 and windows-1252
* RecordingOutputStream.java
    use the new ReplayCharSequences
2009-07-07 21:53:57 +00:00
gojomo 1128ad638b [HER-1609] wide crawl performance is limited by lock contention in ServerCache.getServerFor(String)
* CachedBdbMap.java
    remove unnecessary import of CrawlController (from engine subproject)
2009-07-07 01:35: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 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 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 d336ea760f quiet excessive logging 2009-06-05 02:00:07 +00:00
gojomo 92f5ca2a45 remove unused imports/code 2009-06-05 01:12:51 +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
gojomo 7ca3fbff72 * heritrix.cmd
remove JMX-related paths; streamline comments; link to Heritrix3-on-Windows wiki page
2009-05-28 00:05:44 +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 b125b05deb minor improvement
* TestUtils.java
  added tmpDir() w/deleteOnExit() as a convenience method for
  classes not needing to implement TmpDirTestCase
2009-05-21 23:46:34 +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
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