Commit Graph
1358 Commits
Author SHA1 Message Date
Noah Levitt eccddb3df3 use parent url metadata received via amqp in building CrawlURI 2014-02-10 20:38:37 -08:00
Noah Levitt 8d82c440d3 send url metadata with amqp message so that umbra can send it back with child urls 2014-02-10 20:36:51 -08:00
Eldon 704f4aa443 Merge pull request #38 from nlevitt/umbra
Umbra - AMQPUrlReceiver.java receive urls via amqp and add to frontier, related changes
2014-02-06 16:51:03 -05:00
Noah Levitt 6dbcac40d9 syncronize start() and stop() 2014-02-03 20:27:51 -08:00
Noah Levitt 500dafd390 AMQPPublishProcessor - annotate urls sent to AMQP; set special fetch status; add default amqpUri; replace queueName setting with exchange and routingKey, which seem to be what are needed; avoid sending urls that were received from AMQP, and robots.txt urls; set content-type of amqp message to application/json, which umbra seems to need 2014-02-03 18:41:33 -08:00
Noah Levitt af44522fdf FetchHTTPRequest - include CrawlURI.getData().get("customHttpRequestHeaders"), if any, in http request 2014-02-03 18:41:23 -08:00
Noah Levitt ecb0eaf435 AMQPUrlReceiver - ack amqp messages, get rid of misguided thread starting infinite consumers 2014-02-03 18:36:52 -08:00
Noah Levitt e90ba8278b Merge branch 'master' into umbra 2014-02-03 18:22:25 -08:00
vonrosen 63b70b427e Merge pull request #37 from nlevitt/her-2063
fix HER-2063 - omit port in Host request header when it is default for t...
2014-02-03 17:42:34 -08:00
Noah Levitt edd62f3de0 fix HER-2063 - omit port in Host request header when it is default for the scheme 2014-02-03 17:18:40 -08:00
Noah Levitt c980b452c9 annotate CrawlURI with "receivedViaAMQP" 2014-02-01 18:26:07 -08:00
Noah Levitt c7cf62bf80 license header 2014-02-01 18:23:49 -08:00
Noah Levitt bf0590a083 spaces not tabs for indentation 2014-02-01 18:23:05 -08:00
Noah Levitt c163f31851 AMQPUrlReceiver - receive urls and request headers via amqp in the format produced by https://github.com/internetarchive/umbra and add to frontier 2014-01-31 20:42:27 -08:00
Noah Levitt 5e8219b014 pull in json dependency from ia-web-commons 2014-01-31 20:41:05 -08:00
Eldon 10ec391da1 Merge pull request #36 from nlevitt/bad-charset
Avoid the exception below by handling bad charsets in FetchHTTP. Restore...
2014-01-29 10:43:24 -08:00
Noah Levitt 31aea014d9 also handle case where Charset.forName() throws IllegalCharsetNameException, as opposed to UnsupportedCharsetException 2014-01-28 16:36:51 -08:00
Noah Levitt 161b359979 Avoid the exception below by handling bad charsets in FetchHTTP. Restore annotation "unsatisfiableCharsetInHeader:...". Includes unit tests for good and bad charsets.
SEVERE thread-5973 org.archive.crawler.framework.ToeThread.recoverableProblem() Problem java.nio.charset.UnsupportedCharsetException: binary occured when trying to process 'http://example.com/' at step ABOUT_TO_BEGIN_PROCESSOR in
java.nio.charset.UnsupportedCharsetException: binary
        at java.nio.charset.Charset.forName(Charset.java:543)
        at org.apache.http.entity.ContentType.<init>(ContentType.java:111)
        at org.apache.http.entity.ContentType.create(ContentType.java:210)
        at org.apache.http.entity.ContentType.get(ContentType.java:258)
        at org.apache.http.entity.ContentType.getOrDefault(ContentType.java:277)
        at org.archive.modules.fetcher.FetchHTTP.setCharacterEncoding(FetchHTTP.java:580)
        at org.archive.modules.fetcher.FetchHTTP.innerProcess(FetchHTTP.java:693)
        at org.archive.modules.Processor.innerProcessResult(Processor.java:175)
        at org.archive.modules.Processor.process(Processor.java:142)
        at org.archive.modules.ProcessorChain.process(ProcessorChain.java:131)
        at org.archive.crawler.framework.ToeThread.run(ToeThread.java:148)
2014-01-28 16:19:44 -08:00
vonrosen 6933232583 Merge pull request #35 from nlevitt/urls-with-spaces
whoops! send escaped path+query on http request line; had been sending r...
2014-01-27 18:04:00 -08:00
Noah Levitt b803ea0ec0 whoops! send escaped path+query on http request line; had been sending raw spaces (includes unit test) 2014-01-27 16:57:37 -08:00
Adam Miller 21f04cdf79 Merge pull request #34 from nlevitt/401-no-challenge
fix NullPointerException in case of 401 with no auth challenge (includes...
2014-01-27 11:52:51 -08:00
Noah Levitt 26a5dfebdc fix NullPointerException in case of 401 with no auth challenge (includes unit test) 2014-01-27 11:47:37 -08:00
Noah Levitt b1a28358d7 Merge pull request #33 from eldondev/master
First pass at a processor to publish crawluris to AMQP channels
2014-01-24 18:52:33 -08:00
Eldon b33d3faa75 Better Log messages 2014-01-24 18:49:04 -08:00
Eldon ab3aadf199 Pull out most umbra refs, only do http/https 2014-01-24 18:47:50 -08:00
Eldon d837536dc6 Use toString method instead 2014-01-24 18:28:38 -08:00
Eldon d3e96b2770 First pass at a processor to publish crawluris to AMQP channels 2014-01-24 18:11:47 -08:00
Kenji Nagahashi 7353f62d84 Merge pull request #32 from nlevitt/hc43
Switch to BasicHttpClientConnectionManager instead of PoolingHttpClientConnectionManager
2014-01-24 16:43:06 -08:00
Noah Levitt 6b72ac9705 Switch to BasicHttpClientConnectionManager instead of
PoolingHttpClientConnectionManager, and make the connection manager a member
variable of HttpRequest. We had been seeing a strange bug where once in
every few thousand urls or so, the connection manager would get gc'd
while the http request was being sent, and RecordingOutputStream.flush()
would get called, as in the stack trace below.  The ToeThread was using
it at the same time, so if conditions were right, the recorded stream
would get mangled. This commit makes the connection manager a member of
FetchHTTPRequest so it doesn't get gc'd prematurely. Also switches to
BasicHttpClientConnectionManager, since we're not doing any pooling.

  it.unimi.dsi.fastutil.io.FastBufferedOutputStream.dumpBuffer(boolean) line: 133
  it.unimi.dsi.fastutil.io.FastBufferedOutputStream.flush() line: 166
  org.archive.io.RecordingOutputStream.flush() line: 469
  org.apache.http.impl.io.SessionOutputBufferImpl.flushStream() line: 128
  org.apache.http.impl.io.SessionOutputBufferImpl.flush() line: 143
  org.archive.modules.fetcher.FetchHTTPRequest$RecordingHttpClientConnection(org.apache.http.impl.BHttpConnectionBase).close() line: 314
  org.archive.modules.fetcher.FetchHTTPRequest$RecordingHttpClientConnection.close() line: 520
  org.apache.http.impl.conn.CPoolEntry.closeConnection() line: 69
  org.apache.http.impl.conn.CPoolEntry.close() line: 95
  org.apache.http.impl.conn.CPool(org.apache.http.pool.AbstractConnPool<T,C,E>).shutdown() line: 130
  org.apache.http.impl.conn.PoolingHttpClientConnectionManager.shutdown() line: 347
  org.apache.http.impl.conn.PoolingHttpClientConnectionManager.finalize() line: 168
  java.lang.ref.Finalizer.invokeFinalizeMethod(java.lang.Object) line: not available [native method]
2014-01-24 16:07:04 -08:00
Kenji Nagahashi b1b2f2bc42 Merge pull request #31 from nlevitt/proxy-port-configurable
make http proxy port configurable in cxml, avoiding this: org.springfram...
2014-01-22 16:05:44 -08:00
Noah Levitt c5c8788227 make http proxy port configurable in cxml, avoiding this: org.springframework.beans.NotWritablePropertyException: Invalid property 'httpProxyPort' of bean class [org.archive.modules.fetcher.FetchHTTP]: Bean property 'httpProxyPort' is not writable or has an invalid setter method. Did you mean 'httpProxyHost'? 2014-01-22 16:01:21 -08:00
Kenji Nagahashi fafcc1e28b Merge pull request #30 from nlevitt/fix-bdb-cookie-store
Fix bdb cookie store (cookie is piling up due to lack of proper equality method in Cookie)
2014-01-21 12:01:10 -08:00
Noah Levitt 3ba476c39b restore useful comment 2014-01-20 20:05:12 -08:00
Noah Levitt cba663a107 fix BdbCookieStore so that cookies get replaced correctly! and test it 2014-01-20 20:02:56 -08:00
Noah Levitt 9a7e868022 BdbCookieStoreTest.java partly done 2014-01-20 09:13:55 -08:00
Roger G. Coram 4b8567dca2 Merge pull request #29 from kris-sigur/HER-2062
HER-2062 Fix for WorkQueueFrontier.deleteURIs handling of retired queues
2014-01-16 02:48:27 -08:00
Noah Levitt e36b9e74e4 remove debug logging 2014-01-15 13:41:36 -08:00
Kristinn Sigurðsson df72bc8afc Minor tidying up 2014-01-15 12:51:35 +00:00
Kristinn Sigurðsson bc77e82da5 Fix for WorkQueueFrontier.deleteURIs mishandles deletions from retired
queues (HER-2062)
2014-01-15 12:49:41 +00:00
Kenji Nagahashi 07293fbfb2 Merge pull request #28 from nlevitt/hc43
switch to httpcomponents, get rid of archive-overlay-commons-httpclient
2014-01-14 14:58:36 -08:00
Noah Levitt 420452195c pull in stock commons-httpclient dependency through ia-web-commons instead of specifying it explicitly 2014-01-14 14:52:24 -08:00
Noah Levitt 5930561042 fix contrib modules that had been using CrawlURI.getHttpMethod() 2014-01-14 14:27:34 -08:00
Noah Levitt c50393fe53 remove some cruft from testing 2014-01-13 21:29:23 -08:00
Noah Levitt 9f88da1735 add javadoc explaining newfound absence of getHttpMethod() 2014-01-13 20:51:08 -08:00
Noah Levitt 2f137dab50 remove obsolete httpcomponents.diff 2014-01-13 12:38:42 -08:00
Noah Levitt a86efb419f bump httpcomponents httpclient dependency to latest 4.3.1 2014-01-12 13:24:48 -08:00
Noah Levitt 16fa2b25f1 selftest-crawler-beans.cxml - replace obsolete BdbCookieStorage with BdbCookieStore 2014-01-12 13:11:25 -08:00
Noah Levitt 41ffae253e mark beginning of content at beginning of test payload, now that Recorder tries to auto-detect 2014-01-12 12:42:46 -08:00
Noah Levitt 3a429ffa44 Merge branch 'master' into hc43
Conflicts:
	commons/pom.xml
	commons/src/main/java/org/archive/io/RecordingInputStream.java
	commons/src/main/java/org/archive/io/RecordingOutputStream.java
	commons/src/main/java/org/archive/io/ReplayInputStream.java
	dist/pom.xml
	engine/pom.xml
	modules/pom.xml
	modules/src/main/java/org/archive/modules/extractor/ExtractorHTTP.java
	modules/src/main/java/org/archive/modules/recrawl/FetchHistoryProcessor.java
	pom.xml
2014-01-10 17:52:03 -08:00
Noah Levitt 6bdfec7e7f Merge branch 'master' of github.com:internetarchive/heritrix3 2014-01-10 16:22:51 -08:00