From 6558e9d9325ffbac62f6d3e150b493dcf4b7196c Mon Sep 17 00:00:00 2001 From: Alan Orth Date: Sun, 11 Jul 2021 14:22:14 +0300 Subject: [PATCH] Add notes --- content/posts/2021-07.md | 175 ++++++ docs/2015-11/index.html | 2 +- docs/2015-12/index.html | 2 +- docs/2016-01/index.html | 2 +- docs/2016-02/index.html | 2 +- docs/2016-03/index.html | 2 +- docs/2016-04/index.html | 2 +- docs/2016-05/index.html | 2 +- docs/2016-06/index.html | 2 +- docs/2016-07/index.html | 2 +- docs/2016-08/index.html | 2 +- docs/2016-09/index.html | 2 +- docs/2016-10/index.html | 2 +- docs/2016-11/index.html | 2 +- docs/2016-12/index.html | 2 +- docs/2017-01/index.html | 2 +- docs/2017-02/index.html | 2 +- docs/2017-03/index.html | 2 +- docs/2017-04/index.html | 2 +- docs/2017-05/index.html | 2 +- docs/2017-06/index.html | 2 +- docs/2017-07/index.html | 2 +- docs/2017-08/index.html | 2 +- docs/2017-09/index.html | 2 +- docs/2017-10/index.html | 2 +- docs/2017-11/index.html | 2 +- docs/2017-12/index.html | 2 +- docs/2018-01/index.html | 2 +- docs/2018-02/index.html | 2 +- docs/2018-03/index.html | 2 +- docs/2018-04/index.html | 2 +- docs/2018-05/index.html | 2 +- docs/2018-06/index.html | 2 +- docs/2018-07/index.html | 2 +- docs/2018-08/index.html | 2 +- docs/2018-09/index.html | 2 +- docs/2018-10/index.html | 2 +- docs/2018-11/index.html | 2 +- docs/2018-12/index.html | 2 +- docs/2019-01/index.html | 2 +- docs/2019-02/index.html | 2 +- docs/2019-03/index.html | 2 +- docs/2019-04/index.html | 2 +- docs/2019-05/index.html | 2 +- docs/2019-06/index.html | 2 +- docs/2019-07/index.html | 2 +- docs/2019-08/index.html | 2 +- docs/2019-09/index.html | 2 +- docs/2019-10/index.html | 2 +- docs/2019-11/index.html | 2 +- docs/2019-12/index.html | 2 +- docs/2020-01/index.html | 2 +- docs/2020-02/index.html | 2 +- docs/2020-03/index.html | 2 +- docs/2020-04/index.html | 2 +- docs/2020-05/index.html | 2 +- docs/2020-06/index.html | 2 +- docs/2020-07/index.html | 2 +- docs/2020-08/index.html | 2 +- docs/2020-09/index.html | 2 +- docs/2020-10/index.html | 2 +- docs/2020-11/index.html | 2 +- docs/2020-12/index.html | 2 +- docs/2021-01/index.html | 2 +- docs/2021-02/index.html | 2 +- docs/2021-03/index.html | 2 +- docs/2021-04/index.html | 2 +- docs/2021-05/index.html | 2 +- docs/2021-06/index.html | 700 +++++---------------- docs/404.html | 2 +- docs/categories/index.html | 2 +- docs/categories/notes/index.html | 2 +- docs/categories/notes/page/2/index.html | 2 +- docs/categories/notes/page/3/index.html | 2 +- docs/categories/notes/page/4/index.html | 2 +- docs/categories/notes/page/5/index.html | 2 +- docs/cgiar-library-migration/index.html | 2 +- docs/cgspace-cgcorev2-migration/index.html | 2 +- docs/cgspace-dspace6-upgrade/index.html | 2 +- docs/index.html | 2 +- docs/page/2/index.html | 2 +- docs/page/3/index.html | 2 +- docs/page/4/index.html | 2 +- docs/page/5/index.html | 2 +- docs/page/6/index.html | 2 +- docs/page/7/index.html | 2 +- docs/page/8/index.html | 2 +- docs/posts/index.html | 2 +- docs/posts/page/2/index.html | 2 +- docs/posts/page/3/index.html | 2 +- docs/posts/page/4/index.html | 2 +- docs/posts/page/5/index.html | 2 +- docs/posts/page/6/index.html | 2 +- docs/posts/page/7/index.html | 2 +- docs/posts/page/8/index.html | 2 +- docs/tags/index.html | 2 +- docs/tags/migration/index.html | 2 +- docs/tags/notes/index.html | 2 +- docs/tags/notes/page/2/index.html | 2 +- docs/tags/notes/page/3/index.html | 2 +- 100 files changed, 432 insertions(+), 639 deletions(-) create mode 100644 content/posts/2021-07.md diff --git a/content/posts/2021-07.md b/content/posts/2021-07.md new file mode 100644 index 000000000..6bba1c525 --- /dev/null +++ b/content/posts/2021-07.md @@ -0,0 +1,175 @@ +--- +title: "July, 2021" +date: 2021-06-01T08:53:07+03:00 +author: "Alan Orth" +categories: ["Notes"] +--- + +## 2021-07-01 + +- Export another list of ALL subjects on CGSpace, including AGROVOC and non-AGROVOC for Enrico: + +```console +localhost/dspace63= > \COPY (SELECT DISTINCT LOWER(text_value) AS subject, count(*) FROM metadatavalue WHERE dspace_object_id in (SELECT dspace_object_id FROM item) AND metadata_field_id IN (119, 120, 127, 122, 128, 125, 135, 203, 208, 210, 215, 123, 236, 242, 187) GROUP BY subject ORDER BY count DESC) to /tmp/2021-07-01-all-subjects.csv WITH CSV HEADER; +COPY 20994 +``` + + + +## 2021-07-04 + +- Update all Docker containers on the AReS server (linode20) and rebuild OpenRXV: + +```console +$ cd OpenRXV +$ docker-compose -f docker/docker-compose.yml down +$ docker images | grep -v ^REPO | sed 's/ \+/:/g' | cut -d: -f1,2 | xargs -L1 docker pull +$ docker-compose -f docker/docker-compose.yml build +``` + +- Then run all system updates and reboot the server +- After the server came back up I cloned the `openrxv-items-final` index to `openrxv-items-temp` and started the plugins + - This will hopefully be faster than a full re-harvest... +- I opened a few GitHub issues for OpenRXV bugs: + - [Hide "metadata structure" section in repository setup](https://github.com/ilri/OpenRXV/issues/103) + - [Improve "start plugins" and "commit indexing" buttons](https://github.com/ilri/OpenRXV/issues/104) + - [Allow running plugins individually](https://github.com/ilri/OpenRXV/issues/105) + - [Hide the "DSpace add missing items"](https://github.com/ilri/OpenRXV/issues/106) +- Rebuild DSpace Test (linode26) from a fresh Ubuntu 20.04 image on Linode +- The start plugins on AReS had seventy-five errors from the `dspace_add_missing_items` plugin for some reason so I had to start a fresh indexing +- I noticed that the WorldFish data has dozens of incorrect countries so I should talk to Salem about that because they manage it + - Also I noticed that we weren't using the Country formatter in OpenRXV for the WorldFish country field, so some values don't get mapped properly + - I added some value mappings to fix some issues with WorldFish data and added a few more fields to the repository harvesting config and started a fresh re-indexing + +## 2021-07-05 + +- The AReS harvesting last night succeeded and I started the plugins +- Margarita from CCAFS asked if we can create a new field for AICCRA publications + - I asked her to clarify what they want + - AICCRA is an initiative so it might be better to create new field for that, for example `cg.contributor.initiative` + +## 2021-07-06 + +- Atmire merged my spider user agent changes from last month so I will update the `example` list we use in DSpace and remove the new ones from my `ilri` override file + - Also, I concatenated all our user agents into one file and purged all hits: + +```console +$ ./ilri/check-spider-hits.sh -f /tmp/spiders -p +Purging 95 hits from Drupal in statistics +Purging 38 hits from DTS Agent in statistics +Purging 601 hits from Microsoft Office Existence Discovery in statistics +Purging 51 hits from Site24x7 in statistics +Purging 62 hits from Trello in statistics +Purging 13574 hits from WhatsApp in statistics +Purging 144 hits from FlipboardProxy in statistics +Purging 37 hits from LinkWalker in statistics +Purging 1 hits from [Ll]ink.?[Cc]heck.? in statistics +Purging 427 hits from WordPress in statistics + +Total number of bot hits purged: 15030 +``` + +- Meet with the CGIAR–AGROVOC task group to discuss how we want to do the workflow for submitting new terms to AGROVOC +- I extracted another list of all subjects to check against AGROVOC: + +```console +\COPY (SELECT DISTINCT(LOWER(text_value)) AS subject, count(*) FROM metadatavalue WHERE dspace_object_id in (SELECT dspace_object_id FROM item) AND metadata_field_id IN (119, 120, 127, 122, 128, 125, 135, 203, 208, 210, 215, 123, 236, 242, 187) GROUP BY subject ORDER BY count DESC) to /tmp/2021-07-06-all-subjects.csv WITH CSV HEADER; +$ csvcut -c 1 /tmp/2021-07-06-all-subjects.csv | sed 1d > /tmp/2021-07-06-all-subjects.txt +$ ./ilri/agrovoc-lookup.py -i /tmp/2021-07-06-all-subjects.txt -o /tmp/2021-07-06-agrovoc-results-all-subjects.csv -d +``` + +- Test [Hrafn Malmquist's proposed DBCP2 changes](https://github.com/DSpace/DSpace/pull/3162) for DSpace 6.4 (DS-4574) + - His changes reminded me that we can perhaps switch back to using this pooling instead of Tomcat 7's JDBC pooling via JNDI + - Tomcat 8 has DBCP2 built in, but we are stuck on Tomcat 7 for now +- Looking into the database issues we had last month on 2021-06-23 + - I think it might have been some kind of attack because the number of XMLUI sessions was through the roof at one point (10,000!) and the number of unique IPs accessing the server that day is much higher than any other day: + +```console +# for num in {10..26}; do echo "2021-06-$num"; zcat /var/log/nginx/access.log.*.gz /var/log/nginx/library-access.log.*.gz | grep "$num/Jun/2021" | awk '{print $1}' | sort | uniq | wc -l; done +2021-06-10 +10693 +2021-06-11 +10587 +2021-06-12 +7958 +2021-06-13 +7681 +2021-06-14 +12639 +2021-06-15 +15388 +2021-06-16 +12245 +2021-06-17 +11187 +2021-06-18 +9684 +2021-06-19 +7835 +2021-06-20 +7198 +2021-06-21 +10380 +2021-06-22 +10255 +2021-06-23 +15878 +2021-06-24 +9963 +2021-06-25 +9439 +2021-06-26 +7930 +``` + +- Similarly, the number of connections to the REST API was around the average for the recent weeks before: + +```console +# for num in {10..26}; do echo "2021-06-$num"; zcat /var/log/nginx/rest.*.gz | grep "$num/Jun/2021" | awk '{print $1}' | sort | uniq | wc -l; done +2021-06-10 +1183 +2021-06-11 +1074 +2021-06-12 +911 +2021-06-13 +892 +2021-06-14 +1320 +2021-06-15 +1257 +2021-06-16 +1208 +2021-06-17 +1119 +2021-06-18 +965 +2021-06-19 +985 +2021-06-20 +854 +2021-06-21 +1098 +2021-06-22 +1028 +2021-06-23 +1375 +2021-06-24 +1135 +2021-06-25 +969 +2021-06-26 +904 +``` + +- According to goaccess, the traffic spike started at 2AM (remember that the first "Pool empty" error in dspace.log was at 4:01AM): + +```console +# zcat /var/log/nginx/access.log.1[45].gz /var/log/nginx/library-access.log.1[45].gz | grep -E '23/Jun/2021' | goaccess --log-format=COMBINED - +``` + +- Moayad sent a fix for the add missing items plugins issue ([#107](https://github.com/ilri/OpenRXV/pull/107)) + - It works MUCH faster because it correctly identifies the missing handles in each repository + - Also it adds better debug messages to the api logs + + diff --git a/docs/2015-11/index.html b/docs/2015-11/index.html index fae70e4a7..6538fd3f9 100644 --- a/docs/2015-11/index.html +++ b/docs/2015-11/index.html @@ -34,7 +34,7 @@ Last week I had increased the limit from 30 to 60, which seemed to help, but now $ psql -c 'SELECT * from pg_stat_activity;' | grep idle | grep -c cgspace 78 "/> - + diff --git a/docs/2015-12/index.html b/docs/2015-12/index.html index 2aac0f955..9914b5e89 100644 --- a/docs/2015-12/index.html +++ b/docs/2015-12/index.html @@ -36,7 +36,7 @@ Replace lzop with xz in log compression cron jobs on DSpace Test—it uses less -rw-rw-r-- 1 tomcat7 tomcat7 387K Nov 18 23:59 dspace.log.2015-11-18.lzo -rw-rw-r-- 1 tomcat7 tomcat7 169K Nov 18 23:59 dspace.log.2015-11-18.xz "/> - + diff --git a/docs/2016-01/index.html b/docs/2016-01/index.html index 27c905299..40e9985ae 100644 --- a/docs/2016-01/index.html +++ b/docs/2016-01/index.html @@ -28,7 +28,7 @@ Move ILRI collection 10568/12503 from 10568/27869 to 10568/27629 using the move_ I realized it is only necessary to clear the Cocoon cache after moving collections—rather than reindexing—as no metadata has changed, and therefore no search or browse indexes need to be updated. Update GitHub wiki for documentation of maintenance tasks. "/> - + diff --git a/docs/2016-02/index.html b/docs/2016-02/index.html index c8a7d6d8a..bfc687cab 100644 --- a/docs/2016-02/index.html +++ b/docs/2016-02/index.html @@ -38,7 +38,7 @@ I noticed we have a very interesting list of countries on CGSpace: Not only are there 49,000 countries, we have some blanks (25)… Also, lots of things like “COTE D`LVOIRE” and “COTE D IVOIRE” "/> - + diff --git a/docs/2016-03/index.html b/docs/2016-03/index.html index a13a22504..fbe9f8365 100644 --- a/docs/2016-03/index.html +++ b/docs/2016-03/index.html @@ -28,7 +28,7 @@ Looking at issues with author authorities on CGSpace For some reason we still have the index-lucene-update cron job active on CGSpace, but I’m pretty sure we don’t need it as of the latest few versions of Atmire’s Listings and Reports module Reinstall my local (Mac OS X) DSpace stack with Tomcat 7, PostgreSQL 9.3, and Java JDK 1.7 to match environment on CGSpace server "/> - + diff --git a/docs/2016-04/index.html b/docs/2016-04/index.html index bd873d763..174c37d5c 100644 --- a/docs/2016-04/index.html +++ b/docs/2016-04/index.html @@ -32,7 +32,7 @@ After running DSpace for over five years I’ve never needed to look in any This will save us a few gigs of backup space we’re paying for on S3 Also, I noticed the checker log has some errors we should pay attention to: "/> - + diff --git a/docs/2016-05/index.html b/docs/2016-05/index.html index 6cee9880c..dbc5fe815 100644 --- a/docs/2016-05/index.html +++ b/docs/2016-05/index.html @@ -34,7 +34,7 @@ There are 3,000 IPs accessing the REST API in a 24-hour period! # awk '{print $1}' /var/log/nginx/rest.log | uniq | wc -l 3168 "/> - + diff --git a/docs/2016-06/index.html b/docs/2016-06/index.html index e63eb20eb..1219dcf72 100644 --- a/docs/2016-06/index.html +++ b/docs/2016-06/index.html @@ -34,7 +34,7 @@ This is their publications set: http://ebrary.ifpri.org/oai/oai.php?verb=ListRec You can see the others by using the OAI ListSets verb: http://ebrary.ifpri.org/oai/oai.php?verb=ListSets Working on second phase of metadata migration, looks like this will work for moving CPWF-specific data in dc.identifier.fund to cg.identifier.cpwfproject and then the rest to dc.description.sponsorship "/> - + diff --git a/docs/2016-07/index.html b/docs/2016-07/index.html index 33eb1208d..ef893eee7 100644 --- a/docs/2016-07/index.html +++ b/docs/2016-07/index.html @@ -44,7 +44,7 @@ dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and In this case the select query was showing 95 results before the update "/> - + diff --git a/docs/2016-08/index.html b/docs/2016-08/index.html index d0a9ae163..1c666778f 100644 --- a/docs/2016-08/index.html +++ b/docs/2016-08/index.html @@ -42,7 +42,7 @@ $ git checkout -b 55new 5_x-prod $ git reset --hard ilri/5_x-prod $ git rebase -i dspace-5.5 "/> - + diff --git a/docs/2016-09/index.html b/docs/2016-09/index.html index 900afbac1..3087871ff 100644 --- a/docs/2016-09/index.html +++ b/docs/2016-09/index.html @@ -34,7 +34,7 @@ It looks like we might be able to use OUs now, instead of DCs: $ ldapsearch -x -H ldaps://svcgroot2.cgiarad.org:3269/ -b "dc=cgiarad,dc=org" -D "admigration1@cgiarad.org" -W "(sAMAccountName=admigration1)" "/> - + diff --git a/docs/2016-10/index.html b/docs/2016-10/index.html index 8ce5b8fc5..584a630b9 100644 --- a/docs/2016-10/index.html +++ b/docs/2016-10/index.html @@ -42,7 +42,7 @@ I exported a random item’s metadata as CSV, deleted all columns except id 0000-0002-6115-0956||0000-0002-3812-8793||0000-0001-7462-405X "/> - + diff --git a/docs/2016-11/index.html b/docs/2016-11/index.html index 6b5e6ea6f..1b9237de3 100644 --- a/docs/2016-11/index.html +++ b/docs/2016-11/index.html @@ -26,7 +26,7 @@ Add dc.type to the output options for Atmire’s Listings and Reports module Add dc.type to the output options for Atmire’s Listings and Reports module (#286) "/> - + diff --git a/docs/2016-12/index.html b/docs/2016-12/index.html index 13a19d9ef..2322bd6bc 100644 --- a/docs/2016-12/index.html +++ b/docs/2016-12/index.html @@ -46,7 +46,7 @@ I see thousands of them in the logs for the last few months, so it’s not r I’ve raised a ticket with Atmire to ask Another worrying error from dspace.log is: "/> - + diff --git a/docs/2017-01/index.html b/docs/2017-01/index.html index 842972f20..73e7b65fe 100644 --- a/docs/2017-01/index.html +++ b/docs/2017-01/index.html @@ -28,7 +28,7 @@ I checked to see if the Solr sharding task that is supposed to run on January 1s I tested on DSpace Test as well and it doesn’t work there either I asked on the dspace-tech mailing list because it seems to be broken, and actually now I’m not sure if we’ve ever had the sharding task run successfully over all these years "/> - + diff --git a/docs/2017-02/index.html b/docs/2017-02/index.html index 11e881259..649e305d8 100644 --- a/docs/2017-02/index.html +++ b/docs/2017-02/index.html @@ -50,7 +50,7 @@ DELETE 1 Create issue on GitHub to track the addition of CCAFS Phase II project tags (#301) Looks like we’ll be using cg.identifier.ccafsprojectpii as the field name "/> - + diff --git a/docs/2017-03/index.html b/docs/2017-03/index.html index ac14c8d15..abc468f2d 100644 --- a/docs/2017-03/index.html +++ b/docs/2017-03/index.html @@ -54,7 +54,7 @@ Interestingly, it seems DSpace 4.x’s thumbnails were sRGB, but forcing reg $ identify ~/Desktop/alc_contrastes_desafios.jpg /Users/aorth/Desktop/alc_contrastes_desafios.jpg JPEG 464x600 464x600+0+0 8-bit CMYK 168KB 0.000u 0:00.000 "/> - + diff --git a/docs/2017-04/index.html b/docs/2017-04/index.html index 59af21292..39405658f 100644 --- a/docs/2017-04/index.html +++ b/docs/2017-04/index.html @@ -40,7 +40,7 @@ Testing the CMYK patch on a collection with 650 items: $ [dspace]/bin/dspace filter-media -f -i 10568/16498 -p "ImageMagick PDF Thumbnail" -v >& /tmp/filter-media-cmyk.txt "/> - + diff --git a/docs/2017-05/index.html b/docs/2017-05/index.html index 6b925ea6a..ff74f1b67 100644 --- a/docs/2017-05/index.html +++ b/docs/2017-05/index.html @@ -18,7 +18,7 @@ - + diff --git a/docs/2017-06/index.html b/docs/2017-06/index.html index a2b26d3f4..dfeec6cf4 100644 --- a/docs/2017-06/index.html +++ b/docs/2017-06/index.html @@ -18,7 +18,7 @@ - + diff --git a/docs/2017-07/index.html b/docs/2017-07/index.html index 2adcddc21..0c07d136e 100644 --- a/docs/2017-07/index.html +++ b/docs/2017-07/index.html @@ -36,7 +36,7 @@ Merge changes for WLE Phase II theme rename (#329) Looking at extracting the metadata registries from ICARDA’s MEL DSpace database so we can compare fields with CGSpace We can use PostgreSQL’s extended output format (-x) plus sed to format the output into quasi XML: "/> - + diff --git a/docs/2017-08/index.html b/docs/2017-08/index.html index e0880bd47..cb8e7d304 100644 --- a/docs/2017-08/index.html +++ b/docs/2017-08/index.html @@ -60,7 +60,7 @@ This was due to newline characters in the dc.description.abstract column, which I exported a new CSV from the collection on DSpace Test and then manually removed the characters in vim using g/^$/d Then I cleaned up the author authorities and HTML characters in OpenRefine and sent the file back to Abenet "/> - + diff --git a/docs/2017-09/index.html b/docs/2017-09/index.html index 5722370f7..adf4dbce4 100644 --- a/docs/2017-09/index.html +++ b/docs/2017-09/index.html @@ -32,7 +32,7 @@ Linode sent an alert that CGSpace (linode18) was using 261% CPU for the past two Ask Sisay to clean up the WLE approvers a bit, as Marianne’s user account is both in the approvers step as well as the group "/> - + diff --git a/docs/2017-10/index.html b/docs/2017-10/index.html index 4f9143ad8..3c5947870 100644 --- a/docs/2017-10/index.html +++ b/docs/2017-10/index.html @@ -34,7 +34,7 @@ http://hdl.handle.net/10568/78495||http://hdl.handle.net/10568/79336 There appears to be a pattern but I’ll have to look a bit closer and try to clean them up automatically, either in SQL or in OpenRefine Add Katherine Lutz to the groups for content submission and edit steps of the CGIAR System collections "/> - + diff --git a/docs/2017-11/index.html b/docs/2017-11/index.html index a5684eea5..8a91e6c6b 100644 --- a/docs/2017-11/index.html +++ b/docs/2017-11/index.html @@ -48,7 +48,7 @@ Generate list of authors on CGSpace for Peter to go through and correct: dspace=# \copy (select distinct text_value, count(*) as count from metadatavalue where metadata_field_id = (select metadata_field_id from metadatafieldregistry where element = 'contributor' and qualifier = 'author') AND resource_type_id = 2 group by text_value order by count desc) to /tmp/authors.csv with csv; COPY 54701 "/> - + diff --git a/docs/2017-12/index.html b/docs/2017-12/index.html index 7d1d58249..9414087eb 100644 --- a/docs/2017-12/index.html +++ b/docs/2017-12/index.html @@ -30,7 +30,7 @@ The logs say “Timeout waiting for idle object” PostgreSQL activity says there are 115 connections currently The list of connections to XMLUI and REST API for today: "/> - + diff --git a/docs/2018-01/index.html b/docs/2018-01/index.html index 541e5eed0..5f66a2b94 100644 --- a/docs/2018-01/index.html +++ b/docs/2018-01/index.html @@ -150,7 +150,7 @@ dspace.log.2018-01-02:34 Danny wrote to ask for help renewing the wildcard ilri.org certificate and I advised that we should probably use Let’s Encrypt if it’s just a handful of domains "/> - + diff --git a/docs/2018-02/index.html b/docs/2018-02/index.html index 857bc6b52..ba67338f7 100644 --- a/docs/2018-02/index.html +++ b/docs/2018-02/index.html @@ -30,7 +30,7 @@ We don’t need to distinguish between internal and external works, so that Yesterday I figured out how to monitor DSpace sessions using JMX I copied the logic in the jmx_tomcat_dbpools provided by Ubuntu’s munin-plugins-java package and used the stuff I discovered about JMX in 2018-01 "/> - + diff --git a/docs/2018-03/index.html b/docs/2018-03/index.html index d029d9ece..d7e32f9ba 100644 --- a/docs/2018-03/index.html +++ b/docs/2018-03/index.html @@ -24,7 +24,7 @@ Export a CSV of the IITA community metadata for Martin Mueller Export a CSV of the IITA community metadata for Martin Mueller "/> - + diff --git a/docs/2018-04/index.html b/docs/2018-04/index.html index d379fab8a..ca40d0a24 100644 --- a/docs/2018-04/index.html +++ b/docs/2018-04/index.html @@ -26,7 +26,7 @@ Catalina logs at least show some memory errors yesterday: I tried to test something on DSpace Test but noticed that it’s down since god knows when Catalina logs at least show some memory errors yesterday: "/> - + diff --git a/docs/2018-05/index.html b/docs/2018-05/index.html index dd5a3c3c0..e4b4ef527 100644 --- a/docs/2018-05/index.html +++ b/docs/2018-05/index.html @@ -38,7 +38,7 @@ http://localhost:3000/solr/statistics/update?stream.body=%3Ccommit/%3E Then I reduced the JVM heap size from 6144 back to 5120m Also, I switched it to use OpenJDK instead of Oracle Java, as well as re-worked the Ansible infrastructure scripts to support hosts choosing which distribution they want to use "/> - + diff --git a/docs/2018-06/index.html b/docs/2018-06/index.html index bf61b00c5..940caacbd 100644 --- a/docs/2018-06/index.html +++ b/docs/2018-06/index.html @@ -58,7 +58,7 @@ real 74m42.646s user 8m5.056s sys 2m7.289s "/> - + diff --git a/docs/2018-07/index.html b/docs/2018-07/index.html index a3d0321b3..eadf33fff 100644 --- a/docs/2018-07/index.html +++ b/docs/2018-07/index.html @@ -36,7 +36,7 @@ During the mvn package stage on the 5.8 branch I kept getting issues with java r There is insufficient memory for the Java Runtime Environment to continue. "/> - + diff --git a/docs/2018-08/index.html b/docs/2018-08/index.html index d4a7010b9..713d296b7 100644 --- a/docs/2018-08/index.html +++ b/docs/2018-08/index.html @@ -46,7 +46,7 @@ Anyways, perhaps I should increase the JVM heap from 5120m to 6144m like we did The server only has 8GB of RAM so we’ll eventually need to upgrade to a larger one because we’ll start starving the OS, PostgreSQL, and command line batch processes I ran all system updates on DSpace Test and rebooted it "/> - + diff --git a/docs/2018-09/index.html b/docs/2018-09/index.html index db1620fbb..6f741c068 100644 --- a/docs/2018-09/index.html +++ b/docs/2018-09/index.html @@ -30,7 +30,7 @@ I’ll update the DSpace role in our Ansible infrastructure playbooks and ru Also, I’ll re-run the postgresql tasks because the custom PostgreSQL variables are dynamic according to the system’s RAM, and we never re-ran them after migrating to larger Linodes last month I’m testing the new DSpace 5.8 branch in my Ubuntu 18.04 environment and I’m getting those autowire errors in Tomcat 8.5.30 again: "/> - + diff --git a/docs/2018-10/index.html b/docs/2018-10/index.html index 18a1ee687..7e414daf4 100644 --- a/docs/2018-10/index.html +++ b/docs/2018-10/index.html @@ -26,7 +26,7 @@ I created a GitHub issue to track this #389, because I’m super busy in Nai Phil Thornton got an ORCID identifier so we need to add it to the list on CGSpace and tag his existing items I created a GitHub issue to track this #389, because I’m super busy in Nairobi right now "/> - + diff --git a/docs/2018-11/index.html b/docs/2018-11/index.html index a68ce33f9..18f5fe173 100644 --- a/docs/2018-11/index.html +++ b/docs/2018-11/index.html @@ -36,7 +36,7 @@ Send a note about my dspace-statistics-api to the dspace-tech mailing list Linode has been sending mails a few times a day recently that CGSpace (linode18) has had high CPU usage Today these are the top 10 IPs: "/> - + diff --git a/docs/2018-12/index.html b/docs/2018-12/index.html index 011f4a007..80e7e1600 100644 --- a/docs/2018-12/index.html +++ b/docs/2018-12/index.html @@ -36,7 +36,7 @@ Then I ran all system updates and restarted the server I noticed that there is another issue with PDF thumbnails on CGSpace, and I see there was another Ghostscript vulnerability last week "/> - + diff --git a/docs/2019-01/index.html b/docs/2019-01/index.html index 8d9a83ce2..55d794492 100644 --- a/docs/2019-01/index.html +++ b/docs/2019-01/index.html @@ -50,7 +50,7 @@ I don’t see anything interesting in the web server logs around that time t 357 207.46.13.1 903 54.70.40.11 "/> - + diff --git a/docs/2019-02/index.html b/docs/2019-02/index.html index ef8462a0e..f95137aab 100644 --- a/docs/2019-02/index.html +++ b/docs/2019-02/index.html @@ -72,7 +72,7 @@ real 0m19.873s user 0m22.203s sys 0m1.979s "/> - + diff --git a/docs/2019-03/index.html b/docs/2019-03/index.html index deb9c8dc8..053daaf35 100644 --- a/docs/2019-03/index.html +++ b/docs/2019-03/index.html @@ -46,7 +46,7 @@ Most worryingly, there are encoding errors in the abstracts for eleven items, fo I think I will need to ask Udana to re-copy and paste the abstracts with more care using Google Docs "/> - + diff --git a/docs/2019-04/index.html b/docs/2019-04/index.html index 2310281d7..bbd80d015 100644 --- a/docs/2019-04/index.html +++ b/docs/2019-04/index.html @@ -64,7 +64,7 @@ $ ./fix-metadata-values.py -i /tmp/2019-02-21-fix-4-regions.csv -db dspace -u ds $ ./delete-metadata-values.py -i /tmp/2019-02-21-delete-2-countries.csv -db dspace -u dspace -p 'fuuu' -m 228 -f cg.coverage.country -d $ ./delete-metadata-values.py -i /tmp/2019-02-21-delete-1-region.csv -db dspace -u dspace -p 'fuuu' -m 231 -f cg.coverage.region -d "/> - + diff --git a/docs/2019-05/index.html b/docs/2019-05/index.html index 521c00d36..28fa0478b 100644 --- a/docs/2019-05/index.html +++ b/docs/2019-05/index.html @@ -48,7 +48,7 @@ DELETE 1 But after this I tried to delete the item from the XMLUI and it is still present… "/> - + diff --git a/docs/2019-06/index.html b/docs/2019-06/index.html index 5bc41ac59..1df2832cb 100644 --- a/docs/2019-06/index.html +++ b/docs/2019-06/index.html @@ -34,7 +34,7 @@ Run system updates on CGSpace (linode18) and reboot it Skype with Marie-Angélique and Abenet about CG Core v2 "/> - + diff --git a/docs/2019-07/index.html b/docs/2019-07/index.html index 2b7dc59fe..113240652 100644 --- a/docs/2019-07/index.html +++ b/docs/2019-07/index.html @@ -38,7 +38,7 @@ CGSpace Abenet had another similar issue a few days ago when trying to find the stats for 2018 in the RTB community "/> - + diff --git a/docs/2019-08/index.html b/docs/2019-08/index.html index e559207d1..ce0b63c96 100644 --- a/docs/2019-08/index.html +++ b/docs/2019-08/index.html @@ -46,7 +46,7 @@ After rebooting, all statistics cores were loaded… wow, that’s luck Run system updates on DSpace Test (linode19) and reboot it "/> - + diff --git a/docs/2019-09/index.html b/docs/2019-09/index.html index 68a68adda..0fee88fda 100644 --- a/docs/2019-09/index.html +++ b/docs/2019-09/index.html @@ -72,7 +72,7 @@ Here are the top ten IPs in the nginx XMLUI and REST/OAI logs this morning: 7249 2a01:7e00::f03c:91ff:fe18:7396 9124 45.5.186.2 "/> - + diff --git a/docs/2019-10/index.html b/docs/2019-10/index.html index 2c1b4fc9a..f22ce905c 100644 --- a/docs/2019-10/index.html +++ b/docs/2019-10/index.html @@ -18,7 +18,7 @@ - + diff --git a/docs/2019-11/index.html b/docs/2019-11/index.html index 9322b731f..f0a53a15d 100644 --- a/docs/2019-11/index.html +++ b/docs/2019-11/index.html @@ -58,7 +58,7 @@ Let’s see how many of the REST API requests were for bitstreams (because t # zcat --force /var/log/nginx/rest.log.*.gz | grep -E "[0-9]{1,2}/Oct/2019" | grep -c -E "/rest/bitstreams" 106781 "/> - + diff --git a/docs/2019-12/index.html b/docs/2019-12/index.html index ddc21d83a..0549467dc 100644 --- a/docs/2019-12/index.html +++ b/docs/2019-12/index.html @@ -46,7 +46,7 @@ Make sure all packages are up to date and the package manager is up to date, the # dpkg -C # reboot "/> - + diff --git a/docs/2020-01/index.html b/docs/2020-01/index.html index 21f9c3beb..cc63ae4b2 100644 --- a/docs/2020-01/index.html +++ b/docs/2020-01/index.html @@ -56,7 +56,7 @@ I tweeted the CGSpace repository link "/> - + diff --git a/docs/2020-02/index.html b/docs/2020-02/index.html index d2b1b55e9..c9598b90d 100644 --- a/docs/2020-02/index.html +++ b/docs/2020-02/index.html @@ -38,7 +38,7 @@ The code finally builds and runs with a fresh install "/> - + diff --git a/docs/2020-03/index.html b/docs/2020-03/index.html index 80a971fad..4a0707322 100644 --- a/docs/2020-03/index.html +++ b/docs/2020-03/index.html @@ -42,7 +42,7 @@ You need to download this into the DSpace 6.x source and compile it "/> - + diff --git a/docs/2020-04/index.html b/docs/2020-04/index.html index 96b6b7e35..a800c5294 100644 --- a/docs/2020-04/index.html +++ b/docs/2020-04/index.html @@ -48,7 +48,7 @@ The third item now has a donut with score 1 since I tweeted it last week On the same note, the one item Abenet pointed out last week now has a donut with score of 104 after I tweeted it last week "/> - + diff --git a/docs/2020-05/index.html b/docs/2020-05/index.html index 8992c610a..f3eb87f2f 100644 --- a/docs/2020-05/index.html +++ b/docs/2020-05/index.html @@ -34,7 +34,7 @@ I see that CGSpace (linode18) is still using PostgreSQL JDBC driver version 42.2 "/> - + diff --git a/docs/2020-06/index.html b/docs/2020-06/index.html index b0c4f15c0..380b7bcaa 100644 --- a/docs/2020-06/index.html +++ b/docs/2020-06/index.html @@ -36,7 +36,7 @@ I sent Atmire the dspace.log from today and told them to log into the server to In other news, I checked the statistics API on DSpace 6 and it’s working I tried to build the OAI registry on the freshly migrated DSpace 6 on DSpace Test and I get an error: "/> - + diff --git a/docs/2020-07/index.html b/docs/2020-07/index.html index aedbba61b..65c0e325b 100644 --- a/docs/2020-07/index.html +++ b/docs/2020-07/index.html @@ -38,7 +38,7 @@ I restarted Tomcat and PostgreSQL and the issue was gone Since I was restarting Tomcat anyways I decided to redeploy the latest changes from the 5_x-prod branch and I added a note about COVID-19 items to the CGSpace frontpage at Peter’s request "/> - + diff --git a/docs/2020-08/index.html b/docs/2020-08/index.html index 50178b608..da233a847 100644 --- a/docs/2020-08/index.html +++ b/docs/2020-08/index.html @@ -36,7 +36,7 @@ It is class based so I can easily add support for other vocabularies, and the te "/> - + diff --git a/docs/2020-09/index.html b/docs/2020-09/index.html index 2bb1aa96d..39f9a751f 100644 --- a/docs/2020-09/index.html +++ b/docs/2020-09/index.html @@ -48,7 +48,7 @@ I filed a bug on OpenRXV: https://github.com/ilri/OpenRXV/issues/39 I filed an issue on OpenRXV to make some minor edits to the admin UI: https://github.com/ilri/OpenRXV/issues/40 "/> - + diff --git a/docs/2020-10/index.html b/docs/2020-10/index.html index 64245d1ff..9f0600d24 100644 --- a/docs/2020-10/index.html +++ b/docs/2020-10/index.html @@ -44,7 +44,7 @@ During the FlywayDB migration I got an error: "/> - + diff --git a/docs/2020-11/index.html b/docs/2020-11/index.html index f93bb1b32..a835091ae 100644 --- a/docs/2020-11/index.html +++ b/docs/2020-11/index.html @@ -32,7 +32,7 @@ So far we’ve spent at least fifty hours to process the statistics and stat "/> - + diff --git a/docs/2020-12/index.html b/docs/2020-12/index.html index e104b9983..2a4c1eff5 100644 --- a/docs/2020-12/index.html +++ b/docs/2020-12/index.html @@ -36,7 +36,7 @@ I started processing those (about 411,000 records): "/> - + diff --git a/docs/2021-01/index.html b/docs/2021-01/index.html index 97a010678..25bc17f83 100644 --- a/docs/2021-01/index.html +++ b/docs/2021-01/index.html @@ -50,7 +50,7 @@ For example, this item has 51 views on CGSpace, but 0 on AReS "/> - + diff --git a/docs/2021-02/index.html b/docs/2021-02/index.html index e7e0fdba4..31e79e3f4 100644 --- a/docs/2021-02/index.html +++ b/docs/2021-02/index.html @@ -60,7 +60,7 @@ $ curl -s 'http://localhost:9200/openrxv-items-temp/_count?q=*&pretty } } "/> - + diff --git a/docs/2021-03/index.html b/docs/2021-03/index.html index 48a14b863..fbe9dc7e5 100644 --- a/docs/2021-03/index.html +++ b/docs/2021-03/index.html @@ -34,7 +34,7 @@ Also, we found some issues building and running OpenRXV currently due to ecosyst "/> - + diff --git a/docs/2021-04/index.html b/docs/2021-04/index.html index 0f09236bd..4a28a91d5 100644 --- a/docs/2021-04/index.html +++ b/docs/2021-04/index.html @@ -44,7 +44,7 @@ Perhaps one of the containers crashed, I should have looked closer but I was in "/> - + diff --git a/docs/2021-05/index.html b/docs/2021-05/index.html index a5d346b1f..24f72b8b8 100644 --- a/docs/2021-05/index.html +++ b/docs/2021-05/index.html @@ -36,7 +36,7 @@ I looked at the top user agents and IPs in the Solr statistics for last month an I will add the RI/1.0 pattern to our DSpace agents overload and purge them from Solr (we had previously seen this agent with 9,000 hits or so in 2020-09), but I think I will leave the Microsoft Word one… as that’s an actual user… "/> - + diff --git a/docs/2021-06/index.html b/docs/2021-06/index.html index cc91639de..e63a20daf 100644 --- a/docs/2021-06/index.html +++ b/docs/2021-06/index.html @@ -6,37 +6,31 @@ - - + - - + + - - + - + @@ -44,11 +38,11 @@ I simply started it and AReS was running again: { "@context": "http://schema.org", "@type": "BlogPosting", - "headline": "June, 2021", + "headline": "July, 2021", "url": "https://alanorth.github.io/cgspace-notes/2021-06/", - "wordCount": "3505", - "datePublished": "2021-06-01T10:51:07+03:00", - "dateModified": "2021-07-01T08:53:21+03:00", + "wordCount": "873", + "datePublished": "2021-06-01T08:53:07+03:00", + "dateModified": "2021-06-01T08:53:07+03:00", "author": { "@type": "Person", "name": "Alan Orth" @@ -61,7 +55,7 @@ I simply started it and AReS was running again: - June, 2021 | CGSpace Notes + July, 2021 | CGSpace Notes @@ -113,564 +107,188 @@ I simply started it and AReS was running again:
-

June, 2021

+

July, 2021

-

2021-06-01

+

2021-07-01

+
localhost/dspace63= > \COPY (SELECT DISTINCT LOWER(text_value) AS subject, count(*) FROM metadatavalue WHERE dspace_object_id in (SELECT dspace_object_id FROM item) AND metadata_field_id IN (119, 120, 127, 122, 128, 125, 135, 203, 208, 210, 215, 123, 236, 242, 187) GROUP BY subject ORDER BY count DESC) to /tmp/2021-07-01-all-subjects.csv WITH CSV HEADER;
+COPY 20994
+

2021-07-04

- - -
$ docker-compose -f docker/docker-compose.yml start angular_nginx
+
$ cd OpenRXV
+$ docker-compose -f docker/docker-compose.yml down
+$ docker images | grep -v ^REPO | sed 's/ \+/:/g' | cut -d: -f1,2 | xargs -L1 docker pull
+$ docker-compose -f docker/docker-compose.yml build
 
    -
  • Margarita from CCAFS emailed me to say that workflow alerts haven’t been working lately +
  • Then run all system updates and reboot the server
  • +
  • After the server came back up I cloned the openrxv-items-final index to openrxv-items-temp and started the plugins
      -
    • I guess this is related to the SMTP issues last week
    • -
    • I had fixed the config, but didn’t restart Tomcat so DSpace didn’t load the new variables
    • -
    • I ran all system updates on CGSpace (linode18) and DSpace Test (linode26) and rebooted the servers
    • +
    • This will hopefully be faster than a full re-harvest…
    • +
    +
  • +
  • I opened a few GitHub issues for OpenRXV bugs: + +
  • +
  • Rebuild DSpace Test (linode26) from a fresh Ubuntu 20.04 image on Linode
  • +
  • The start plugins on AReS had seventy-five errors from the dspace_add_missing_items plugin for some reason so I had to start a fresh indexing
  • +
  • I noticed that the WorldFish data has dozens of incorrect countries so I should talk to Salem about that because they manage it +
      +
    • Also I noticed that we weren’t using the Country formatter in OpenRXV for the WorldFish country field, so some values don’t get mapped properly
    • +
    • I added some value mappings to fix some issues with WorldFish data and added a few more fields to the repository harvesting config and started a fresh re-indexing
-

2021-06-03

+

2021-07-05

    -
  • Meeting with AMCOW and IWMI to discuss AMCOW getting IWMI’s content into the new AMCOW Knowledge Hub +
  • The AReS harvesting last night succeeded and I started the plugins
  • +
  • Margarita from CCAFS asked if we can create a new field for AICCRA publications
      -
    • At first we spent some time talking about DSpace communities/collections and the REST API, but then they said they actually prefer to send queries to sites on the fly and cache them in Redis for some time
    • -
    • That’s when I thought they could perhaps use the OpenSearch, but I can’t remember if it’s possible to limit by community, or only collection…
    • -
    • Looking now, I see there is a “scope” parameter that can be used for community or collection, for example:
    • +
    • I asked her to clarify what they want
    • +
    • AICCRA is an initiative so it might be better to create new field for that, for example cg.contributor.initiative
-
https://cgspace.cgiar.org/open-search/discover?query=subject:water%20scarcity&scope=10568/16814&order=DESC&rpp=100&sort_by=2&start=1
-
    -
  • That will sort by date issued (see: webui.itemlist.sort-option.2 in dspace.cfg), give 100 results per page, and start on item 1
  • -
  • Otherwise, another alternative would be to use the IWMI CSV that we are already exporting every week
  • -
  • Fill out the CGIAR-AGROVOC Task Group: Survey on the current CGIAR use of AGROVOC survey on behalf of CGSpace
  • -
-

2021-06-06

+

2021-07-06

    -
  • The Elasticsearch indexes are messed up so I dumped and re-created them correctly:
  • -
-
curl -XDELETE 'http://localhost:9200/openrxv-items-final'
-curl -XDELETE 'http://localhost:9200/openrxv-items-temp'
-curl -XPUT 'http://localhost:9200/openrxv-items-final'
-curl -XPUT 'http://localhost:9200/openrxv-items-temp'
-curl -s -X POST 'http://localhost:9200/_aliases' -H 'Content-Type: application/json' -d'{"actions" : [{"add" : { "index" : "openrxv-items-final", "alias" : "openrxv-items"}}]}'
-elasticdump --input=/home/aorth/openrxv-items_mapping.json --output=http://localhost:9200/openrxv-items-final --type=mapping
-elasticdump --input=/home/aorth/openrxv-items_data.json --output=http://localhost:9200/openrxv-items-final --type=data --limit=1000
-
    -
  • Then I started a harvesting on AReS
  • -
-

2021-06-07

+
  • Atmire merged my spider user agent changes from last month so I will update the example list we use in DSpace and remove the new ones from my ilri override file
      -
    • The harvesting on AReS completed successfully
    • -
    • Provide feedback to FAO on how we use AGROVOC for their “AGROVOC call for use cases”
    • -
    -

    2021-06-10

    -
      -
    • Skype with Moayad to discuss AReS harvesting improvements -
        -
      • He will work on a plugin that reads the XML sitemap to get all item IDs and checks whether we have them or not
      • +
      • Also, I concatenated all our user agents into one file and purged all hits:
    -

    2021-06-14

    -
      -
    • Dump and re-create indexes on AReS (as above) so I can do a harvest
    • -
    -

    2021-06-16

    -
      -
    • Looking at the Solr statistics on CGSpace for last month I see many requests from hosts using seemingly normal Windows browser user agents, but using the MSN bot’s DNS -
        -
      • For example, user agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; Trident/5.0) with DNS msnbot-131-253-25-91.search.msn.com.
      • -
      • I queried Solr for all hits using the MSN bot DNS (dns:*msnbot* AND dns:*.msn.com.) and found 457,706
      • -
      • I extracted their IPs using Solr’s CSV format and ran them through my resolve-addresses.py script and found that they all belong to MICROSOFT-CORP-MSN-AS-BLOCK (AS8075)
      • -
      • Note that Microsoft’s docs say that reverse lookups on Bingbot IPs will always have “search.msn.com” so it is safe to purge these as non-human traffic
      • -
      • I purged the hits with ilri/check-spider-ip-hits.sh (though I had to do it in 3 batches because I forgot to increase the facet.limit so I was only getting them 100 at a time)
      • -
      -
    • -
    • Moayad sent a pull request a few days ago to re-work the harvesting on OpenRXV -
        -
      • It will hopefully also fix the duplicate and missing items issues
      • -
      • I had a Skype with him to discuss
      • -
      • I got it running on podman-compose, but I had to fix the storage permissions on the Elasticsearch volume after the first time it tries (and fails) to run:
      • -
      -
    • -
    -
    $ podman unshare chown 1000:1000 /home/aorth/.local/share/containers/storage/volumes/docker_esData_7/_data
    -
      -
    • The new OpenRXV harvesting method by Moayad uses pages of 10 items instead of 100 and it’s much faster -
        -
      • I harvested 90,000+ items from DSpace Test in ~3 hours
      • -
      • There seem to be some issues with the health check step though, as I see it is requesting one restricted item 600,000+ times…
      • -
      -
    • -
    -

    2021-06-17

    -
      -
    • I ported my ilri/resolve-addresses.py script that uses IPAPI.co to use the local GeoIP2 databases -
        -
      • The new script is ilri/resolve-addresses-geoip2.py and it is much faster and works offline with no API rate limits
      • -
      -
    • -
    • Teams meeting with the CGIAR Metadata Working group to discuss CGSpace and open repositories and the way forward
    • -
    • More work with Moayad on OpenRXV harvesting issues -
        -
      • Using a JSON export from elasticdump we debugged the duplicate checker plugin and found that there are indeed duplicates:
      • -
      -
    • -
    -
    $ grep -oE '"handle":"[[:digit:]]+/[[:digit:]]+"' openrxv-items_data.json | awk -F: '{print $2}' | wc -l
    -90459
    -$ grep -oE '"handle":"[[:digit:]]+/[[:digit:]]+"' openrxv-items_data.json | awk -F: '{print $2}' | sort | uniq | wc -l
    -90380
    -$ grep -oE '"handle":"[[:digit:]]+/[[:digit:]]+"' openrxv-items_data.json | awk -F: '{print $2}' | sort | uniq -c | sort -h
    -...
    -      2 "10568/99409"
    -      2 "10568/99410"
    -      2 "10568/99411"
    -      2 "10568/99516"
    -      3 "10568/102093"
    -      3 "10568/103524"
    -      3 "10568/106664"
    -      3 "10568/106940"
    -      3 "10568/107195"
    -      3 "10568/96546"
    -

    2021-06-20

    -
      -
    • Udana asked me to update their IWMI subjects from farmer managed irrigation systems to farmer-led irrigation -
        -
      • First I extracted the IWMI community from CGSpace:
      • -
      -
    • -
    -
    $ dspace metadata-export -i 10568/16814 -f /tmp/2021-06-20-IWMI.csv
    -
      -
    • Then I used csvcut to extract just the columns I needed and do the replacement into a new CSV:
    • -
    -
    $ csvcut -c 'id,dcterms.subject[],dcterms.subject[en_US]' /tmp/2021-06-20-IWMI.csv | sed 's/farmer managed irrigation systems/farmer-led irrigation/' > /tmp/2021-06-20-IWMI-new-subjects.csv
    -
      -
    • Then I uploaded the resulting CSV to CGSpace, updating 161 items
    • -
    • Start a harvest on AReS
    • -
    • I found a bug and a patch for the private items showing up in the DSpace sitemap bug -
        -
      • The fix is super simple, I should try to apply it
      • -
      -
    • -
    -

    2021-06-21

    -
      -
    • The AReS harvesting finished, but the indexes got messed up again
    • -
    • I was looking at the JSON export I made yesterday and trying to understand the situation with duplicates -
        -
      • We have 90,000+ items, but only 85,000 unique:
      • -
      -
    • -
    -
    $ grep -E '"repo":"CGSpace"' openrxv-items_data.json | grep -oE '"handle":"[[:digit:]]+/[[:alnum:]]+"' | wc -l
    -90937
    -$ grep -E '"repo":"CGSpace"' openrxv-items_data.json | grep -oE '"handle":"[[:digit:]]+/[[:alnum:]]+"' | sort -u | wc -l
    -85709
    -
      -
    • So those could be duplicates from the way we harvest pages, but they could also be from mappings… -
        -
      • Manually inspecting the duplicates where handles appear more than once:
      • -
      -
    • -
    -
    $ grep -E '"repo":"CGSpace"' openrxv-items_data.json | grep -oE '"handle":"[[:digit:]]+/[[:alnum:]]+"' | sort | uniq -c | sort -h
    -
      -
    • Unfortunately I found no pattern: -
        -
      • Some appear twice in the Elasticsearch index, but appear in only one collection
      • -
      • Some appear twice in the Elasticsearch index, and appear in two collections
      • -
      • Some appear twice in the Elasticsearch index, but appear in three collections (!)
      • -
      -
    • -
    • So really we need to just check whether a handle exists before we insert it
    • -
    • I tested the pull request for DS-1977 that adjusts the sitemap generation code to exclude private items -
        -
      • It applies cleanly and seems to work, but we don’t actually have any private items
      • -
      • The issue we are having with AReS hitting restricted items in the sitemap is that the items have restricted metadata, not that they are private
      • -
      -
    • -
    • Testing the pull request for DS-4065 where the REST API’s /rest/items endpoint is not aware of private items and returns an incorrect number of items -
        -
      • This is most easily seen by setting a low limit in /rest/items, making one of the items private, and requesting items again with the same limit
      • -
      • I confirmed the issue on the current DSpace 6 Demo:
      • -
      -
    • -
    -
    $ curl -s -H "Accept: application/json" "https://demo.dspace.org/rest/items?offset=0&limit=5" | jq length
    -5
    -$ curl -s -H "Accept: application/json" "https://demo.dspace.org/rest/items?offset=0&limit=5" | jq '.[].handle'
    -"10673/4"
    -"10673/3"
    -"10673/6"
    -"10673/5"
    -"10673/7"
    -# log into DSpace Demo XMLUI as admin and make one item private (for example 10673/6)
    -$ curl -s -H "Accept: application/json" "https://demo.dspace.org/rest/items?offset=0&limit=5" | jq length       
    -4
    -$ curl -s -H "Accept: application/json" "https://demo.dspace.org/rest/items?offset=0&limit=5" | jq '.[].handle' 
    -"10673/4"
    -"10673/3"
    -"10673/5"
    -"10673/7"
    -
      -
    • I tested the pull request on DSpace Test and it works, so I left a note on GitHub and Jira
    • -
    • Last week I noticed that the Gender Platform website is using “cgspace.cgiar.org” links for CGSpace, instead of handles -
        -
      • I emailed Fabio and Marianne to ask them to please use the Handle links
      • -
      -
    • -
    • I tested the pull request for DS-4271 where Discovery filters of type “contains” don’t work as expected when the user’s search term has spaces -
        -
      • I tested with filter “farmer managed irrigation systems” on DSpace Test
      • -
      • Before the patch I got 293 results, and the few I checked didn’t have the expected metadata value
      • -
      • After the patch I got 162 results, and all the items I checked had the exact metadata value I was expecting
      • -
      -
    • -
    • I tested a fresh harvest from my local AReS on DSpace Test with the DS-4065 REST API patch and here are my results: -
        -
      • 90459 in final from last harvesting
      • -
      • 90307 in temp after new harvest
      • -
      • 90327 in temp after start plugins
      • -
      -
    • -
    • The 90327 number seems closer to the “real” number of items on CGSpace… -
        -
      • Seems close, but not entirely correct yet:
      • -
      -
    • -
    -
    $ grep -oE '"handle":"[[:digit:]]+/[[:digit:]]+"' openrxv-items_data-local-ds-4065.json | wc -l
    -90327
    -$ grep -oE '"handle":"[[:digit:]]+/[[:digit:]]+"' openrxv-items_data-local-ds-4065.json | sort -u | wc -l
    -90317
    -

    2021-06-22

    -
      -
    • Make a pull request to the COUNTER-Robots project to add two new user agents: crusty and newspaper -
        -
      • These two bots have made ~3,000 requests on CGSpace
      • -
      • Then I added them to our local bot override in CGSpace (until the above pull request is merged) and ran my bot checking script:
      • -
      -
    • -
    -
    $ ./ilri/check-spider-hits.sh -f dspace/config/spiders/agents/ilri -p   
    -Purging 1339 hits from RI\/1\.0 in statistics
    -Purging 447 hits from crusty in statistics
    -Purging 3736 hits from newspaper in statistics
    +
    $ ./ilri/check-spider-hits.sh -f /tmp/spiders -p
    +Purging 95 hits from Drupal in statistics
    +Purging 38 hits from DTS Agent in statistics
    +Purging 601 hits from Microsoft Office Existence Discovery in statistics
    +Purging 51 hits from Site24x7 in statistics
    +Purging 62 hits from Trello in statistics
    +Purging 13574 hits from WhatsApp in statistics
    +Purging 144 hits from FlipboardProxy in statistics
    +Purging 37 hits from LinkWalker in statistics
    +Purging 1 hits from [Ll]ink.?[Cc]heck.? in statistics
    +Purging 427 hits from WordPress in statistics
     
    -Total number of bot hits purged: 5522
    +Total number of bot hits purged: 15030
     
      -
    • Surprised to see RI/1.0 in there because it’s been in the override file for a while
    • -
    • Looking at the 2021 statistics in Solr I see a few more suspicious user agents: -
        -
      • PostmanRuntime/7.26.8
      • -
      • node-fetch/1.0 (+https://github.com/bitinn/node-fetch)
      • -
      • Photon/1.0
      • -
      • StatusCake_Pagespeed_indev
      • -
      • node-superagent/3.8.3
      • -
      • cortex/1.0
      • +
      • Meet with the CGIAR–AGROVOC task group to discuss how we want to do the workflow for submitting new terms to AGROVOC
      • +
      • I extracted another list of all subjects to check against AGROVOC:
      -
    • -
    • These bots account for ~42,000 hits in our statistics… I will just purge them and add them to our local override, but I can’t be bothered to submit them to COUNTER-Robots since I’d have to look up the information for each one
    • -
    • I re-synced DSpace Test (linode26) with the assetstore, Solr statistics, and database from CGSpace (linode18)
    • -
    -

    2021-06-23

    -
      -
    • I woke up this morning to find CGSpace down -
        -
      • The logs show a high number of abandoned PostgreSQL connections and locks:
      • -
      -
    • -
    -
    # journalctl --since=today -u tomcat7 | grep -c 'Connection has been abandoned'
    -978
    -$ psql -c 'SELECT * FROM pg_locks pl LEFT JOIN pg_stat_activity psa ON pl.pid = psa.pid;' | wc -l
    -10100
    +
    \COPY (SELECT DISTINCT(LOWER(text_value)) AS subject, count(*) FROM metadatavalue WHERE dspace_object_id in (SELECT dspace_object_id FROM item) AND metadata_field_id IN (119, 120, 127, 122, 128, 125, 135, 203, 208, 210, 215, 123, 236, 242, 187) GROUP BY subject ORDER BY count DESC) to /tmp/2021-07-06-all-subjects.csv WITH CSV HEADER;
    +$ csvcut -c 1 /tmp/2021-07-06-all-subjects.csv | sed 1d > /tmp/2021-07-06-all-subjects.txt
    +$ ./ilri/agrovoc-lookup.py -i /tmp/2021-07-06-all-subjects.txt -o /tmp/2021-07-06-agrovoc-results-all-subjects.csv -d
     
      -
    • I sent a message to Atmire, hoping that the database logging stuff they put in place last time this happened will be of help now
    • -
    • In the mean time, I decided to upgrade Tomcat from 7.0.107 to 7.0.109, and the PostgreSQL JDBC driver from 42.2.20 to 42.2.22 (first on DSpace Test)
    • -
    • I also applied the following patches from the 6.4 milestone to our 6_x-prod branch: +
    • Test Hrafn Malmquist’s proposed DBCP2 changes for DSpace 6.4 (DS-4574)
        -
      • DS-4065: resource policy aware REST API hibernate queries
      • -
      • DS-4271: Replaced brackets with double quotes in SolrServiceImpl
      • +
      • His changes reminded me that we can perhaps switch back to using this pooling instead of Tomcat 7’s JDBC pooling via JNDI
      • +
      • Tomcat 8 has DBCP2 built in, but we are stuck on Tomcat 7 for now
    • -
    • After upgrading and restarting Tomcat the database connections and locks were back down to normal levels:
    • +
    • Looking into the database issues we had last month on 2021-06-23 +
        +
      • I think it might have been some kind of attack because the number of XMLUI sessions was through the roof at one point (10,000!) and the number of unique IPs accessing the server that day is much higher than any other day:
      -
      $ psql -c 'SELECT * FROM pg_locks pl LEFT JOIN pg_stat_activity psa ON pl.pid = psa.pid;' | wc -l
      -63
      +
    • +
    +
    # for num in {10..26}; do echo "2021-06-$num"; zcat /var/log/nginx/access.log.*.gz /var/log/nginx/library-access.log.*.gz | grep "$num/Jun/2021" | awk '{print $1}' | sort | uniq | wc -l; done
    +2021-06-10
    +10693
    +2021-06-11
    +10587
    +2021-06-12
    +7958
    +2021-06-13
    +7681
    +2021-06-14
    +12639
    +2021-06-15
    +15388
    +2021-06-16
    +12245
    +2021-06-17
    +11187
    +2021-06-18
    +9684
    +2021-06-19
    +7835
    +2021-06-20
    +7198
    +2021-06-21
    +10380
    +2021-06-22
    +10255
    +2021-06-23
    +15878
    +2021-06-24
    +9963
    +2021-06-25
    +9439
    +2021-06-26
    +7930
     
      -
    • Looking in the DSpace log, the first “pool empty” message I saw this morning was at 4AM:
    • +
    • Similarly, the number of connections to the REST API was around the average for the recent weeks before:
    -
    2021-06-23 04:01:14,596 ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper @ [http-bio-127.0.0.1-8443-exec-4323] Timeout: Pool empty. Unable to fetch a connection in 5 seconds, none available[size:250; busy:250; idle:0; lastwait:5000].
    +
    # for num in {10..26}; do echo "2021-06-$num"; zcat /var/log/nginx/rest.*.gz | grep "$num/Jun/2021" | awk '{print $1}' | sort | uniq | wc -l; done
    +2021-06-10
    +1183
    +2021-06-11
    +1074
    +2021-06-12
    +911
    +2021-06-13
    +892
    +2021-06-14
    +1320
    +2021-06-15
    +1257
    +2021-06-16
    +1208
    +2021-06-17
    +1119
    +2021-06-18
    +965
    +2021-06-19
    +985
    +2021-06-20
    +854
    +2021-06-21
    +1098
    +2021-06-22
    +1028
    +2021-06-23
    +1375
    +2021-06-24
    +1135
    +2021-06-25
    +969
    +2021-06-26
    +904
     
      -
    • Oh, and I notice 8,000 hits from a Flipboard bot using this user-agent:
    • +
    • According to goaccess, the traffic spike started at 2AM (remember that the first “Pool empty” error in dspace.log was at 4:01AM):
    -
    Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:49.0) Gecko/20100101 Firefox/49.0 (FlipboardProxy/1.2; +http://flipboard.com/browserproxy)
    +
    # zcat /var/log/nginx/access.log.1[45].gz /var/log/nginx/library-access.log.1[45].gz | grep -E '23/Jun/2021' | goaccess --log-format=COMBINED -
     
      -
    • We can purge them, as this is not user traffic: https://about.flipboard.com/browserproxy/ +
    • Moayad sent a fix for the add missing items plugins issue (#107)
        -
      • I will add it to our local user agent pattern file and eventually submit a pull request to COUNTER-Robots
      • +
      • It works MUCH faster because it correctly identifies the missing handles in each repository
      • +
      • Also it adds better debug messages to the api logs
    • -
    • I merged Moayad’s health check pull request in AReS and I will deploy it on the production server soon
    • -
    -

    2021-06-24

    -
      -
    • I deployed the new OpenRXV code on CGSpace but I’m having problems with the indexing, something about missing the mappings on the openrxv-items-temp index -
        -
      • I extracted the mappings from my local instance using elasticdump and after putting them on CGSpace I was able to harvest…
      • -
      • But still, there are way too many duplicates and I’m not sure what the actual number of items should be
      • -
      • According to the OAI ListRecords for each of our repositories, we should have about: -
          -
        • MELSpace: 9537
        • -
        • WorldFish: 4483
        • -
        • CGSpace: 91305
        • -
        • Total: 105325
        • -
        -
      • -
      • Looking at the last backup I have from harvesting before these changes we have 104,000 total handles, but only 99186 unique:
      • -
      -
    • -
    -
    $ grep -oE '"handle":"([[:digit:]]|\.)+/[[:digit:]]+"' cgspace-openrxv-items-temp-backup.json | wc -l
    -104797
    -$ grep -oE '"handle":"([[:digit:]]|\.)+/[[:digit:]]+"' cgspace-openrxv-items-temp-backup.json | sort | uniq | wc -l
    -99186
    -
      -
    • This number is probably unique for that particular harvest, but I don’t think it represents the true number of items…
    • -
    • The harvest of DSpace Test I did on my local test instance yesterday has about 91,000 items:
    • -
    -
    $ grep -E '"repo":"DSpace Test"' 2021-06-23-openrxv-items-final-local.json | grep -oE '"handle":"([[:digit:]]|\.)+/[[:digit:]]+"' | sort | uniq | wc -l
    -90990
    -
      -
    • So the harvest on the live site is missing items, then why didn’t the add missing items plugin find them?! -
        -
      • I notice that we are missing the type in the metadata structure config for each repository on the production site, and we are using type for item type in the actual schema… so maybe there is a conflict there
      • -
      • I will rename type to item_type and add it back to the metadata structure
      • -
      • The add missing items definitely checks this field…
      • -
      • I modified my local backup to add type: item and uploaded it to the temp index on production
      • -
      • Oh! nginx is blocking OpenRXV’s attempt to read the sitemap:
      • -
      -
    • -
    -
    172.104.229.92 - - [24/Jun/2021:07:52:58 +0200] "GET /sitemap HTTP/1.1" 503 190 "-" "OpenRXV harvesting bot; https://github.com/ilri/OpenRXV"
    -
      -
    • I fixed nginx so it always allows people to get the sitemap and then re-ran the plugins… now it’s checking 180,000+ handles to see if they are collections or items… -
        -
      • I see it fetched the sitemap three times, we need to make sure it’s only doing it once for each repository
      • -
      -
    • -
    • According to the api logs we will be adding 5,697 items:
    • -
    -
    $ docker logs api 2>/dev/null | grep dspace_add_missing_items | sort | uniq | wc -l
    -5697
    -
      -
    • Spent a few hours with Moayad troubleshooting and improving OpenRXV -
        -
      • We found a bug in the harvesting code that can occur when you are harvesting DSpace 5 and DSpace 6 instances, as DSpace 5 uses numeric (long) IDs, and DSpace 6 uses UUIDs
      • -
      -
    • -
    -

    2021-06-25

    -
      -
    • The new OpenRXV code creates almost 200,000 jobs when the plugins start -
        -
      • I figured out how to use bee-queue/arena to view our Bull job queue
      • -
      • Also, we can see the jobs directly using redis-cli:
      • -
      -
    • -
    -
    $ redis-cli
    -127.0.0.1:6379> SCAN 0 COUNT 5
    -1) "49152"
    -2) 1) "bull:plugins:476595"
    -   2) "bull:plugins:367382"
    -   3) "bull:plugins:369228"
    -   4) "bull:plugins:438986"
    -   5) "bull:plugins:366215"
    -
      -
    • We can apparently get the names of the jobs in each hash using hget:
    • -
    -
    127.0.0.1:6379> TYPE bull:plugins:401827
    -hash
    -127.0.0.1:6379> HGET bull:plugins:401827 name
    -"dspace_add_missing_items"
    -
      -
    • I whipped up a one liner to get the keys for all plugin jobs, convert to redis HGET commands to extract the value of the name field, and then sort them by their counts:
    • -
    -
    $ redis-cli KEYS "bull:plugins:*" \
    -  | sed -e 's/^bull/HGET bull/' -e 's/\([[:digit:]]\)$/\1 name/' \
    -  | ncat -w 3 localhost 6379 \
    -  | grep -v -E '^\$' | sort | uniq -c | sort -h
    -      3 dspace_health_check
    -      4 -ERR wrong number of arguments for 'hget' command
    -     12 mel_downloads_and_views
    -    129 dspace_altmetrics
    -    932 dspace_downloads_and_views
    - 186428 dspace_add_missing_items
    -
      -
    • Note that this uses ncat to send commands directly to redis all at once instead of one at a time (netcat didn’t work here, as it doesn’t know when our input is finished and never quits) -
        -
      • I thought of using redis-cli --pipe but then you have to construct the commands in the redis protocol format with the number of args and length of each command
      • -
      -
    • -
    • There is clearly something wrong with the new DSpace health check plugin, as it creates WAY too many jobs every time we run the plugins
    • -
    -

    2021-06-27

    -
      -
    • Looking into the spike in PostgreSQL connections last week -
        -
      • I see the same things that I always see (large number of connections waiting for lock, large number of threads, high CPU usage, etc), but I also see almost 10,000 DSpace sessions on 2021-06-25
      • -
      -
    • -
    -

    DSpace sessions

    -
      -
    • Looking at the DSpace log I see there was definitely a higher number of sessions that day, perhaps twice the normal:
    • -
    -
    $ for file in dspace.log.2021-06-[12]*; do echo "$file"; grep -oE 'session_id=[A-Z0-9]{32}' "$file" | sort | uniq | wc -l; done
    -dspace.log.2021-06-10
    -19072
    -dspace.log.2021-06-11
    -19224
    -dspace.log.2021-06-12
    -19215
    -dspace.log.2021-06-13
    -16721
    -dspace.log.2021-06-14
    -17880
    -dspace.log.2021-06-15
    -12103
    -dspace.log.2021-06-16
    -4651
    -dspace.log.2021-06-17
    -22785
    -dspace.log.2021-06-18
    -21406
    -dspace.log.2021-06-19
    -25967
    -dspace.log.2021-06-20
    -20850
    -dspace.log.2021-06-21
    -6388
    -dspace.log.2021-06-22
    -5945
    -dspace.log.2021-06-23
    -46371
    -dspace.log.2021-06-24
    -9024
    -dspace.log.2021-06-25
    -12521
    -dspace.log.2021-06-26
    -16163
    -dspace.log.2021-06-27
    -5886
    -
      -
    • I see 15,000 unique IPs in the XMLUI logs alone on that day:
    • -
    -
    # zcat /var/log/nginx/access.log.5.gz /var/log/nginx/access.log.4.gz | grep '23/Jun/2021' | awk '{print $1}' | sort | uniq | wc -l
    -15835
    -
      -
    • Annoyingly I found 37,000 more hits from Bing using dns:*msnbot* AND dns:*.msn.com. as a Solr filter -
        -
      • WTF, they are using a normal user agent: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko
      • -
      • I will purge the IPs and add this user agent to the nginx config so that we can rate limit it
      • -
      -
    • -
    • I signed up for Bing Webmaster Tools and verified cgspace.cgiar.org with the BingSiteAuth.xml file -
        -
      • Also I adjusted the nginx config to explicitly allow access to robots.txt even when bots are rate limited
      • -
      • Also I found that Bing was auto discovering all our RSS and Atom feeds as “sitemaps” so I deleted 750 of them and submitted the real sitemap
      • -
      • I need to see if I can adjust the nginx config further to map the bot user agent to DNS like msnbot…
      • -
      -
    • -
    • Review Abdullah’s filter on click pull request -
        -
      • I rebased his code on the latest master branch and tested adding filter on click to the map and list components, and it works fine
      • -
      • There seems to be a bug that breaks scrolling on the page though…
      • -
      • Abdullah fixed the bug in the filter on click branch
      • -
      -
    • -
    -

    2021-06-28

    -
      -
    • Some work on OpenRXV -
        -
      • Integrate prettier into the frontend and backend and format everything on the master branch
      • -
      • Re-work the GitHub Actions workflow for frontend and add one for backend
      • -
      • The workflows run npm install to test dependencies, and npm ci with prettier to check formatting
      • -
      • Also I merged Abdallah’s filter on click pull request
      • -
      -
    • -
    -

    2021-06-30

    -
      -
    • CGSpace is showing a blank white page… -
        -
      • The status is HTTP 200, but it’s blank white… so UptimeRobot didn’t send a notification!
      • -
      -
    • -
    • The DSpace log shows:
    • -
    -
    2021-06-30 08:19:15,874 ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper @ Cannot get a connection, pool error Timeout waiting for idle object
    -
      -
    • The first one of these I see is from last night at 2021-06-29 at 10:47 PM
    • -
    • I restarted Tomcat 7 and CGSpace came back up…
    • -
    • I didn’t see that Atmire had responded last week (on 2021-06-23) about the issues we had -
        -
      • He said they had to do the same thing that they did last time: switch to the postgres user and kill all activity
      • -
      • He said they found tons of connections to the REST API, like 3-4 per second, and asked if that was normal
      • -
      • I pointed him to our Tomcat server.xml configuration, saying that we purposefully isolated the Tomcat connection pools between the API and XMLUI for this purpose…
      • -
      -
    • -
    • Export a list of all CGSpace’s AGROVOC keywords with counts for Enrico and Elizabeth Arnaud to discuss with AGROVOC:
    • -
    -
    localhost/dspace63= > \COPY (SELECT DISTINCT text_value AS "dcterms.subject", count(*) FROM metadatavalue WHERE dspace_object_id in (SELECT dspace_object_id FROM item) AND metadata_field_id = 187 GROUP BY "dcterms.subject" ORDER BY count DESC) to /tmp/2021-06-30-agrovoc.csv WITH CSV HEADER;
    -COPY 20780
    -
      -
    • Actually Enrico wanted NON AGROVOC, so I extracted all the center and CRP subjects (ignoring system office and themes):
    • -
    -
    localhost/dspace63= > \COPY (SELECT DISTINCT LOWER(text_value) AS subject, count(*) FROM metadatavalue WHERE dspace_object_id in (SELECT dspace_object_id FROM item) AND metadata_field_id IN (119, 120, 127, 122, 128, 125, 135, 203, 208, 210, 215, 123, 236, 242) GROUP BY subject ORDER BY count DESC) to /tmp/2021-06-30-non-agrovoc.csv WITH CSV HEADER;
    -COPY 1710
    -
      -
    • Fix an issue in the Ansible infrastructure playbooks for the DSpace role -
        -
      • It was causing the template module to fail when setting up the npm environment
      • -
      • We needed to install acl so that Ansible can use setfacl on the target file before becoming an unprivileged user
      • -
      -
    • -
    • I saw a strange message in the Tomcat 7 journal on DSpace Test (linode26):
    • -
    -
    Jun 30 16:00:09 linode26 tomcat7[30294]: WARNING: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [111,733] milliseconds.
    -
      -
    • What’s even crazier is that it is twice that on CGSpace (linode18)!
    • -
    • Apparently OpenJDK defaults to using /dev/random (see /etc/java-8-openjdk/security/java.security):
    • -
    -
    securerandom.source=file:/dev/urandom
    -
      -
    • /dev/random blocks and can take a long time to get entropy, and urandom on modern Linux is a cryptographically secure pseudorandom number generator -
        -
      • Now Tomcat starts much faster and no warning is printed so I’m going to add this to our Ansible infrastructure playbooks
      • -
      -
    • -
    • Interesting resource about the lore behind the /dev/./urandom workaround that is posted all over the Internet, apparently due to a bug in early JVMs: https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6202721
    • -
    • I’m experimenting with using PgBouncer for pooling instead of Tomcat’s JDBC
    diff --git a/docs/404.html b/docs/404.html index 9041ed4ec..f3fdb8056 100644 --- a/docs/404.html +++ b/docs/404.html @@ -17,7 +17,7 @@ - + diff --git a/docs/categories/index.html b/docs/categories/index.html index 8a2276617..272595fdc 100644 --- a/docs/categories/index.html +++ b/docs/categories/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/categories/notes/index.html b/docs/categories/notes/index.html index 584f3eb5e..4f940c5b0 100644 --- a/docs/categories/notes/index.html +++ b/docs/categories/notes/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/categories/notes/page/2/index.html b/docs/categories/notes/page/2/index.html index f3b573b2d..e587cd114 100644 --- a/docs/categories/notes/page/2/index.html +++ b/docs/categories/notes/page/2/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/categories/notes/page/3/index.html b/docs/categories/notes/page/3/index.html index 87f89c753..a854e1ca5 100644 --- a/docs/categories/notes/page/3/index.html +++ b/docs/categories/notes/page/3/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/categories/notes/page/4/index.html b/docs/categories/notes/page/4/index.html index 9122ee0c1..181dfdf04 100644 --- a/docs/categories/notes/page/4/index.html +++ b/docs/categories/notes/page/4/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/categories/notes/page/5/index.html b/docs/categories/notes/page/5/index.html index 3413b0b75..ee544dcc0 100644 --- a/docs/categories/notes/page/5/index.html +++ b/docs/categories/notes/page/5/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/cgiar-library-migration/index.html b/docs/cgiar-library-migration/index.html index a37b7a95d..148defaf3 100644 --- a/docs/cgiar-library-migration/index.html +++ b/docs/cgiar-library-migration/index.html @@ -18,7 +18,7 @@ - + diff --git a/docs/cgspace-cgcorev2-migration/index.html b/docs/cgspace-cgcorev2-migration/index.html index 370b0e3f3..3ca5f6679 100644 --- a/docs/cgspace-cgcorev2-migration/index.html +++ b/docs/cgspace-cgcorev2-migration/index.html @@ -18,7 +18,7 @@ - + diff --git a/docs/cgspace-dspace6-upgrade/index.html b/docs/cgspace-dspace6-upgrade/index.html index 23c97c58c..8da54c1ab 100644 --- a/docs/cgspace-dspace6-upgrade/index.html +++ b/docs/cgspace-dspace6-upgrade/index.html @@ -18,7 +18,7 @@ - + diff --git a/docs/index.html b/docs/index.html index c9120ac73..f7f2db80f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/page/2/index.html b/docs/page/2/index.html index e2b8cdda7..909284f68 100644 --- a/docs/page/2/index.html +++ b/docs/page/2/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/page/3/index.html b/docs/page/3/index.html index 1d8c8813f..ff30860e9 100644 --- a/docs/page/3/index.html +++ b/docs/page/3/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/page/4/index.html b/docs/page/4/index.html index bd9fb5abc..effed688d 100644 --- a/docs/page/4/index.html +++ b/docs/page/4/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/page/5/index.html b/docs/page/5/index.html index 071bc2f6f..e19c6baca 100644 --- a/docs/page/5/index.html +++ b/docs/page/5/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/page/6/index.html b/docs/page/6/index.html index 507663664..04304a4e5 100644 --- a/docs/page/6/index.html +++ b/docs/page/6/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/page/7/index.html b/docs/page/7/index.html index d82bbaf9b..6a0571014 100644 --- a/docs/page/7/index.html +++ b/docs/page/7/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/page/8/index.html b/docs/page/8/index.html index 5706295a5..4ab70900e 100644 --- a/docs/page/8/index.html +++ b/docs/page/8/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/posts/index.html b/docs/posts/index.html index 6fbb4c9c4..dc25d700d 100644 --- a/docs/posts/index.html +++ b/docs/posts/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/posts/page/2/index.html b/docs/posts/page/2/index.html index 51a25a2f4..8479cba74 100644 --- a/docs/posts/page/2/index.html +++ b/docs/posts/page/2/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/posts/page/3/index.html b/docs/posts/page/3/index.html index 479b88cf4..2af452351 100644 --- a/docs/posts/page/3/index.html +++ b/docs/posts/page/3/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/posts/page/4/index.html b/docs/posts/page/4/index.html index b3c140d05..51491785b 100644 --- a/docs/posts/page/4/index.html +++ b/docs/posts/page/4/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/posts/page/5/index.html b/docs/posts/page/5/index.html index 1746df2b5..c04436d4c 100644 --- a/docs/posts/page/5/index.html +++ b/docs/posts/page/5/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/posts/page/6/index.html b/docs/posts/page/6/index.html index 3b8f97ef0..55dc64f27 100644 --- a/docs/posts/page/6/index.html +++ b/docs/posts/page/6/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/posts/page/7/index.html b/docs/posts/page/7/index.html index a3edef52f..41f1fa1f8 100644 --- a/docs/posts/page/7/index.html +++ b/docs/posts/page/7/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/posts/page/8/index.html b/docs/posts/page/8/index.html index a566b6346..3f7e9c58d 100644 --- a/docs/posts/page/8/index.html +++ b/docs/posts/page/8/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/tags/index.html b/docs/tags/index.html index 279d8ccfc..e52242b3e 100644 --- a/docs/tags/index.html +++ b/docs/tags/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/tags/migration/index.html b/docs/tags/migration/index.html index be6692eaf..1120f96ba 100644 --- a/docs/tags/migration/index.html +++ b/docs/tags/migration/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/tags/notes/index.html b/docs/tags/notes/index.html index dcc0f31d3..c408b2cd7 100644 --- a/docs/tags/notes/index.html +++ b/docs/tags/notes/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/tags/notes/page/2/index.html b/docs/tags/notes/page/2/index.html index 75ab00f40..251b75df9 100644 --- a/docs/tags/notes/page/2/index.html +++ b/docs/tags/notes/page/2/index.html @@ -17,7 +17,7 @@ - + diff --git a/docs/tags/notes/page/3/index.html b/docs/tags/notes/page/3/index.html index 992a9bcc3..3a04015c2 100644 --- a/docs/tags/notes/page/3/index.html +++ b/docs/tags/notes/page/3/index.html @@ -17,7 +17,7 @@ - +