## Arxiv Used metha-sync tool to update. Then went in raw storage directory (as opposed to using `metha-cat`) and plucked out weekly files updated since last import. Created a tarball and uploaded to: https://archive.org/download/arxiv_raw_oai_snapshot_2019-05-22/arxiv_20190522_20191220.tar.gz Downloaded, extracted, then unzipped: gunzip *.gz Run importer: export FATCAT_AUTH_WORKER_ARXIV=... ./fatcat_import.py --batch-size 100 arxiv /srv/fatcat/datasets/arxiv_20190522_20191220/2019-05-31-00000000.xml # Counter({'exists': 1785, 'total': 1001, 'insert': 549, 'skip': 1, 'update': 0}) fd .xml /srv/fatcat/datasets/arxiv_20190522_20191220/ | parallel -j15 ./fatcat_import.py --batch-size 100 arxiv {} Things seem to run smoothly in QA. New releases get grouped with old works correctly, no duplication obvious. In prod, loaded just the first file as a start, waiting to see if auto-ingest happens. Looks like yes! Great that everything is so smooth. All seem to be new captures. In production prod elasticsearch, 2,377,645 arxiv releases before this updated import, 741,033 with files attached. Guessing about 150k new releases, but will check. Up to 2,531,542 arxiv releases, so only 154k or so new releases created. 781,122 with fulltext. ## Pubmed QA Grabbed fresh 2020 baseline, released in December 2019: gunzip *.xml.gz Run importer: export FATCAT_AUTH_WORKER_PUBMED=... ./fatcat_import.py pubmed /srv/fatcat/datasets/pubmed_medline_baseline_2020/pubmed20n1000.xml /srv/fatcat/datasets/ISSN-to-ISSN-L.txt # Counter({'total': 29975, 'update': 26650, 'skip': 2081, 'insert': 1193, 'warn-pmid-doi-mismatch': 36, 'exists': 36, 'skip-update-conflict': 15, 'inserted.container': 3}) Noticed that `release_year` was not getting set for many releases. Made a small code tweak (`1bb0a2181d5a30241d80279c5930eb753733f30b`) and trying another: time ./fatcat_import.py pubmed /srv/fatcat/datasets/pubmed_medline_baseline_2020/pubmed20n1001.xml /srv/fatcat/datasets/ISSN-to-ISSN-L.txt # Counter({'total': 30000, 'update': 25912, 'skip': 2119, 'insert': 1935, 'exists': 29, 'warn-pmid-doi-mismatch': 27, 'skip-update-conflict': 5, 'inserted.container': 1}) real 30m45.044s user 16m43.672s sys 0m10.792s time fd '.xml$' /srv/fatcat/datasets/pubmed_medline_baseline_2020 | time parallel -j16 ./fatcat_import.py pubmed {} /srv/fatcat/datasets/ISSN-to-ISSN-L.txt More errors: HTTP response body: {"success":false,"error":"MalformedExternalId","message":"external identifier doesn't match required pattern for a DOI (expected, eg, '10.1234/aksjdfh'): 10.3760/cma. j. issn.2095-4352. 2014. 07.014"} HTTP response body: {"success":false,"error":"MalformedExternalId","message":"external identifier doesn't match required pattern for a DOI (expected, eg, '10.1234/aksjdfh'): 10.13201/j.issn.10011781.2016.06.002"} HTTP response body: {"success":false,"error":"MalformedExternalId","message":"external identifier doesn't match required pattern for a DOI (expected, eg, '10.1234/aksjdfh'): 10.23750/abm.v88i2 -s.6506"} 10.1037//0002-9432.72.1.50 BOGUS DOI: 10.1037//0021-843x.106.2.266 BOGUS DOI: 10.1037//0021-843x.106.2.280 => actual ok? at least redirect ok unparsable medline date, skipping: Summer 2018 TODO: x fix bad DOI error (real error, skip these) x remove newline after "unparsable medline date" error x remove extra line like "existing.ident, existing.ext_ids.pmid, re.ext_ids.pmid))" in warning NOTE: Remember having run through the entire baseline in QA, but didn't save the command or output. ## Pubmed Prod (2020-01-17) This is after adding a flag to enforce no updates at all, only new releases. Will likely revisit and run through with updates that add important metadata like exact references matches for older releases, after doing release merge/group cleanups. # git commit: d55d45ad667ccf34332b2ce55e8befbd212922ec # had a trivial typo in fatcat_import.py, will push a fix export FATCAT_AUTH_WORKER_PUBMED=... time ./fatcat_import.py pubmed /srv/fatcat/datasets/pubmed_medline_baseline_2020/pubmed20n1001.xml /srv/fatcat/datasets/ISSN-to-ISSN-L.txt Full run: fd '.xml$' /srv/fatcat/datasets/pubmed_medline_baseline_2020 | time parallel -j16 ./fatcat_import.py pubmed {} /srv/fatcat/datasets/ISSN-to-ISSN-L.txt [...] Command exited with non-zero status 2 1271708.20user 23689.44system 31:42:15elapsed 1134%CPU (0avgtext+0avgdata 584588maxresident)k 486129672inputs+2998072outputs (3672major+139751796minor)pagefaults 0swaps => so apparently 2x tasks failed => 1271708 = 353 hours... but what walltime? about 31-32 hours if divide by CPU Only received a single exception at: Jan 18, 2020 8:33:09 AM UTC /srv/fatcat/datasets/pubmed_medline_baseline_2020/pubmed20n0936.xml MalformedExternalId: 10.4149/gpb¬_2017042 Not sure what the other failure was... maybe an invalid filename or argument, before processing actually started? Or some failure (OOM) that prevented sentry reporting? Patch normal.py and re-run that single file: ./fatcat_import.py pubmed /srv/fatcat/datasets/pubmed_medline_baseline_2020/pubmed20n0936.xml /srv/fatcat/datasets/ISSN-to-ISSN-L.txt [...] Counter({'total': 30000, 'exists': 27243, 'skip': 1605, 'insert': 1152, 'warn-pmid-doi-mismatch': 26, 'update': 0}) Done! ## Chocula Command: export FATCAT_AUTH_WORKER_JOURNAL_METADATA=[...] ./fatcat_import.py chocula /srv/fatcat/datasets/export_fatcat.2019-12-26.json Result: Counter({'total': 144455, 'exists': 139807, 'insert': 2384, 'skip': 2264, 'skip-unknown-new-issnl': 2264, 'exists-by-issnl': 306, 'update': 0})