Commit Graph
239 Commits
Author SHA1 Message Date
Alex OsborneandGitHub 7764f9265f Merge pull request #320 from bnfleb/sftp
Add support for the SFTP protocol
2020-04-24 08:13:39 +09:00
Barbara Miller 0a2f57fa73 best medium-ish size 2020-04-03 16:18:07 -07:00
Leslie Bellony 40725372d6 Add support for the SFTP protocol 2020-04-01 14:47:34 +02:00
Andrew Jackson ff05de44b6 [maven-release-plugin] prepare for next development iteration 2020-03-04 23:05:41 +00:00
Andrew Jackson a1bdcb1be7 [maven-release-plugin] prepare release 3.4.0-20200304 2020-03-04 23:05:33 +00:00
Alex Osborne 6fcc5e808a Exclude hbase-client's guava 12 transitive dependency
Guava 12 from hbase-client is closer to the root of the dependency tree than guava 17 from webarchive-commons so Maven prefers it. But recent changes to heritrix-commons rely on classes in the newer version of Guava. So let's ensure webarchive-commons wins.

Hopefully this doesn't break the hbase module, I have no way of testing it.

Fixes #311
2020-02-13 16:59:13 +09:00
Alex OsborneandGitHub 3528c990df Merge pull request #303 from hennekey/refactor-history
Replace constant with accessor methods
2020-01-28 14:49:00 +09:00
Tim Hennekey 3003a8e751 Replace constant with accessor methods
CrawlURI already had the accessor method, and the use of the constant
was a bit inconsistent. This change adds the corresponding mutator
method to make working with the CrawlURI history a bit simpler.
2020-01-24 12:28:11 -05:00
Noah Levitt 6667186826 java 8 compatibility 2020-01-22 14:12:36 -08:00
Noah Levitt 9229a51dcb limit ExtractorYoutubeDL heap usage
We were seeing OOME due to large youtoube-dl json (for playlists and
such). So instead of storing the json in ram, stream through it, and
stash the contents in an thread-local anonymous tempfile so it can be
written to to warc.
2020-01-22 13:49:24 -08:00
jkafaderandGitHub 739cf7fdb3 Merge pull request #287 from nlevitt/trough-dedup-fix
change trough dedup `date` type to varchar.
2020-01-15 11:21:06 -08:00
Alex Osborne dcdaba3b10 Disable test that connects to wwwb-dedup.us.archive.org
http://wwwb-dedup.us.archive.org:8083/web/timemap/cdx is currently
returning 503 intermittently and so this is breaking Travis builds for
unrelated changes.
2020-01-15 17:48:31 +09:00
jkafaderandGitHub 3a8b58998c Merge pull request #285 from nlevitt/warc-writer-chain
Warc writer chain
2020-01-13 16:39:42 -08:00
Noah Levitt 125547b93d change trough dedup date type to varchar.
By parsing/unparsing to/from java.util.Date, we ended up with a
different date format in trough (sqlite) than warcprox, which is no
good; see https://github.com/internetarchive/warcprox/pull/144
2019-11-19 14:34:49 -08:00
Noah Levitt ff8ebc4c2e use JSONObject.isNull()
because opt() returns org.json.JSONObject.Null
2019-11-18 14:42:38 -08:00
Noah Levitt 6e7bc54c9d use org.json like everybody else 2019-11-15 16:14:17 -08:00
Noah Levitt c4b08166f2 extract watch page links from youtube playlists
and equivalent for other sites. Usually we find these links through
normal link extraction, but we have the info here, so we may as well use
it to make sure.
2019-11-15 15:52:36 -08:00
Noah Levitt 4983e65929 fix non-playlist case (oops!) 2019-11-15 15:42:59 -08:00
Noah LevittandGitHub cefad96036 Merge pull request #276 from internetarchive/jdk11-upgrade-jetty
JDK11 support: upgrade to Jetty 9.4.19, Restlet 2.4.0 and drop JDK 7 support
2019-08-07 10:48:51 -07:00
Alex Osborne 0782fb0481 JDK11: upgrade engine to jetty 9.4.19 and restlet 2.4.0
Jetty 9.4.12+ is required for TLS to work correctly under JDK11
(due to SSL handshake failures). In order to upgrade
Jetty we also need to upgrade Restlet.

There is one intentional change in behaviour to simplify
upgrading. We remove a workaround for an old [webkit bug]
where the browser claimed to prefer application/xml. The
bug was fixed in 2011.

[webkit bug]: https://bugs.webkit.org/show_bug.cgi?id=27267

Summary of Jetty API changes:
- package names changed such as org.mortbay -> org.eclipse
- SocketConnector and SslSocketConnector merged to ServerConnector
- HashUserRealm split into UserStore and HashLoginService
- SecurityHandler -> ConstraintSecurityHandler

Summary of Restlet API changes:
- some classes have moved package (Request, Response, Router etc)
- ServerResource replaces Resource
- represent(), acceptRepresentation() renamed to get(), post()
- constructors were replaced by an init() method
- setModifiable() was removed
- getRequest().getEntityAsForm() -> new Form(entity)
- Guard -> ChallengeAuthenticator

Fixes #275
2019-08-06 15:16:37 +09:00
Alex Osborne bf819e19a5 JDK11 support: exclude tools.jar from hbase-client dependency
tools.jar is no longer included in the JDK as of JDK 11 (per JEP 220) so
exclude it as a dependency. According to [HBASE-13963] it is only
required when compiling hbase itself and was unintentionally leaked
as a transitive dependency.

Fixes #265

[HBASE-13963]: https://issues.apache.org/jira/browse/HBASE-13963
2019-08-02 16:47:42 +09:00
Noah Levitt bff33e00e6 write youtube-dl json to the warc
ExtractorYoutubeDL implements WARCRecordBuilder
2019-06-12 17:40:57 -07:00
Noah Levitt e928c218e7 accept any BaseWARCWriterProcessor 2019-06-12 12:57:27 -07:00
Noah Levitt 4d6314bc50 use --dump-single-json
seems better/cleaner and we will want the single json form if/when we
start writing it to warc
2019-06-07 15:14:32 -07:00
Noah Levitt 25848e9821 cap number of videos per page to 1000 2019-06-07 14:24:48 -07:00
Noah Levitt 99eebb8101 ugh, get it right
reading stderr in a separate thread doesn't help if you wait for that
thread to finish before reading stdout
2019-05-07 11:01:34 -07:00
Noah Levitt 75b33663f9 also annotate and log containing pages 2019-05-06 15:35:47 -07:00
Noah Levitt 7c66da7be7 whoops, better spawn the thread first 2019-05-02 15:48:46 -07:00
Noah Levitt b4aa3c9511 read stderr and stdout in separate threads...
... to avoid hanging

see https://github.com/internetarchive/heritrix3/pull/257/files#r279990349
thanks Alex!
2019-05-02 15:46:14 -07:00
Noah Levitt b7de2bd2ae nothing private ever 2019-04-30 16:20:35 -07:00
Noah Levitt 1bd8b713c6 quiet org.mortbay.log (jetty?) logging
There is already a clause for this in logging.properties, but it's using
log4j. It was dumping stack traces every time the client was dubious of
heritrix's self-signed certificate.

Why do we have so many identical log4j.xml's? 🤷‍♂️
2019-04-30 16:17:35 -07:00
Noah Levitt 21cfd4b73d making everything work 2019-04-30 16:16:25 -07:00
Noah Levitt 79a0d34adf ExtractorYoutubeDL 2019-04-29 15:29:16 -07:00
Andrew Jackson b3961a2f96 [maven-release-plugin] prepare for next development iteration 2019-04-18 15:36:28 +01:00
Andrew Jackson c7c6141ee1 [maven-release-plugin] prepare release 3.4.0-20190418 2019-04-18 15:36:20 +01:00
Noah Levitt f1dae275b4 give me some space 2019-04-10 11:09:57 -07:00
Noah Levitt 303ffb486e close the rethinkdb connection! 2019-04-10 10:43:22 -07:00
Noah Levitt 5f5d4615c2 fix some trough dedup bugs
especially this:

-    writeUrlCache.remove("segmentId");
+    writeUrlCache.remove(segmentId);

and some improvements and tweaks
2019-04-01 16:14:22 -07:00
Noah Levitt c596f49c8a use constant from rethinkdb lib for default port 2019-03-21 15:34:42 -07:00
Noah Levitt fd0e86cd64 less alarming logging for normal situation 2019-03-20 11:31:40 -07:00
Noah Levitt c4ec9d31fe make TroughCrawlLogFeed use TroughClient, and...
... configure using rethinkdb url and segment id, instead of write url,
which means it can work if the segment gets reassigned and so forth
***backward incompatible change***
2019-03-18 22:39:29 -07:00
Noah Levitt af1a325319 fix bugs around crawl finish
- make sure we "promote" segments (persist them to hdfs) after we're
  entirely finished writing to theme; in other words, when we reach the
  FINISH state, not while STOPPING
- shut down the promoter thread at crawl finish

plus a couple of tweaks and cleanups
2019-03-15 14:12:50 -07:00
Noah Levitt 82406f4028 promote dirty segments at crawl finish 2019-03-14 15:16:56 -07:00
Noah Levitt 1b89420f99 trough dedup! 2019-03-14 13:47:15 -07:00
Andrew Jackson ad9e74d8ad [maven-release-plugin] prepare for next development iteration 2019-02-07 13:52:56 +00:00
Andrew Jackson 83c7044b22 [maven-release-plugin] prepare release 3.4.0-20190207 2019-02-07 13:52:49 +00:00
Andrew Jackson 317b19e7e2 [maven-release-plugin] prepare for next development iteration 2019-02-05 12:33:08 +00:00
Andrew Jackson 9c7d0c299d [maven-release-plugin] prepare release 3.4.0-20190205 2019-02-05 12:32:57 +00:00
Andrew Jackson ab34a54566 [maven-release-plugin] prepare for next development iteration 2019-02-05 12:29:33 +00:00
Andrew Jackson d1fc5cedb4 [maven-release-plugin] prepare release 3.4.0-20190205-2 2019-02-05 12:29:26 +00:00