From a491c7f2bf9bed323316ae43bfa0a32baa5ecfef Mon Sep 17 00:00:00 2001 From: Alan Orth Date: Wed, 29 Apr 2020 17:33:34 +0300 Subject: [PATCH] Add notes for 2020-04-29 --- content/posts/2020-04.md | 36 ++++++++++++++++++ docs/2020-04/index.html | 39 ++++++++++++++++++-- docs/2020/04/jmx_tomcat_dbpools-day.png | Bin 0 -> 8216 bytes docs/2020/04/jmx_tomcat_dbpools-month.png | Bin 0 -> 8629 bytes docs/sitemap.xml | 10 ++--- static/2020/04/jmx_tomcat_dbpools-day.png | Bin 0 -> 8216 bytes static/2020/04/jmx_tomcat_dbpools-month.png | Bin 0 -> 8629 bytes 7 files changed, 77 insertions(+), 8 deletions(-) create mode 100644 docs/2020/04/jmx_tomcat_dbpools-day.png create mode 100644 docs/2020/04/jmx_tomcat_dbpools-month.png create mode 100644 static/2020/04/jmx_tomcat_dbpools-day.png create mode 100644 static/2020/04/jmx_tomcat_dbpools-month.png diff --git a/content/posts/2020-04.md b/content/posts/2020-04.md index 791bef430..431ba2228 100644 --- a/content/posts/2020-04.md +++ b/content/posts/2020-04.md @@ -359,5 +359,41 @@ Caused by: java.lang.NullPointerException - Also, now I can actually see the CUA statlets and usage statistics - Unfortunately it seems they are using Font Awesome 4 in their CUA module and this means that some icons are broken because the names have changed, but also some of their code is using Unicode characters instead of classes in spans! - I've reverted my sweet SVG work from yesterday and adjusted the Font Awesome 5 SCSS to add a few more icons that they are using +- Tezira said she was having issues submitting items on CGSpace today + - I looked at all the errors in the DSpace log and see a few SQL pooling errors around mid day: + +``` +$ grep ERROR dspace.log.2020-04-29 | cut -f 3- -d' ' | sort | uniq -c | sort -n + 1 ERROR org.dspace.storage.rdbms.DatabaseManager @ SQL findByUnique Error - + 1 ERROR org.dspace.storage.rdbms.DatabaseManager @ SQL find Error - + 1 ERROR org.dspace.storage.rdbms.DatabaseManager @ SQL query singleTable Error - + 1 ERROR org.dspace.storage.rdbms.DatabaseManager @ SQL QueryTable Error - +``` + +- I looked in Munin and I see that there is a strange spike in the database pool usage this afternoon: + +![Tomcat Database Pool usage day](/cgspace-notes/2020/04/jmx_tomcat_dbpools-day.png) + +- Looking at the past month it does seem to be something strange: + +![Tomcat Database Pool usage month](/cgspace-notes/2020/04/jmx_tomcat_dbpools-month.png) + +- Database connections do seem high: + +``` +$ psql -c 'select * from pg_stat_activity' | grep -o -E '(dspaceWeb|dspaceApi|dspaceCli)' | sort | uniq -c + 5 dspaceApi + 6 dspaceCli + 88 dspaceWeb +``` + +- Most of those are idle in transaction: + +``` +$ psql -c 'select * from pg_stat_activity' | grep 'dspaceWeb' | grep -c "idle in transaction" +67 +``` + +- I don't see anything in the PostgreSQL or Tomcat logs suggesting anything is wrong... I think the solution to clear these idle connections is probably to just restart Tomcat diff --git a/docs/2020-04/index.html b/docs/2020-04/index.html index eccadf52d..49948db65 100644 --- a/docs/2020-04/index.html +++ b/docs/2020-04/index.html @@ -25,7 +25,7 @@ On the same note, the one item Abenet pointed out last week now has a donut with - + @@ -55,9 +55,9 @@ On the same note, the one item Abenet pointed out last week now has a donut with "@type": "BlogPosting", "headline": "April, 2020", "url": "https://alanorth.github.io/cgspace-notes/2020-04/", - "wordCount": "2592", + "wordCount": "2787", "datePublished": "2020-04-02T10:53:24+03:00", - "dateModified": "2020-04-28T18:18:34+03:00", + "dateModified": "2020-04-29T14:20:28+03:00", "author": { "@type": "Person", "name": "Alan Orth" @@ -499,6 +499,39 @@ Caused by: java.lang.NullPointerException
  • I’ve reverted my sweet SVG work from yesterday and adjusted the Font Awesome 5 SCSS to add a few more icons that they are using
  • +
  • Tezira said she was having issues submitting items on CGSpace today + +
  • + +
    $ grep ERROR dspace.log.2020-04-29 | cut -f 3- -d' ' | sort | uniq -c | sort -n
    +      1 ERROR org.dspace.storage.rdbms.DatabaseManager @ SQL findByUnique Error -
    +      1 ERROR org.dspace.storage.rdbms.DatabaseManager @ SQL find Error -
    +      1 ERROR org.dspace.storage.rdbms.DatabaseManager @ SQL query singleTable Error -
    +      1 ERROR org.dspace.storage.rdbms.DatabaseManager @ SQL QueryTable Error -
    +
    +

    Tomcat Database Pool usage day

    + +

    Tomcat Database Pool usage month

    + +
    $ psql -c 'select * from pg_stat_activity' | grep -o -E '(dspaceWeb|dspaceApi|dspaceCli)' | sort | uniq -c
    +      5 dspaceApi
    +      6 dspaceCli
    +     88 dspaceWeb
    +
    +
    $ psql -c 'select * from pg_stat_activity' | grep 'dspaceWeb' | grep -c "idle in transaction"
    +67
    +
    diff --git a/docs/2020/04/jmx_tomcat_dbpools-day.png b/docs/2020/04/jmx_tomcat_dbpools-day.png new file mode 100644 index 0000000000000000000000000000000000000000..f6f984356c3748f5365af7b8f2cdc872b9649245 GIT binary patch literal 8216 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 https://alanorth.github.io/cgspace-notes/2020-04/ - 2020-04-28T18:18:34+03:00 + 2020-04-29T14:20:28+03:00 https://alanorth.github.io/cgspace-notes/categories/ - 2020-04-28T18:18:34+03:00 + 2020-04-29T14:20:28+03:00 https://alanorth.github.io/cgspace-notes/ - 2020-04-28T18:18:34+03:00 + 2020-04-29T14:20:28+03:00 https://alanorth.github.io/cgspace-notes/categories/notes/ - 2020-04-28T18:18:34+03:00 + 2020-04-29T14:20:28+03:00 https://alanorth.github.io/cgspace-notes/posts/ - 2020-04-28T18:18:34+03:00 + 2020-04-29T14:20:28+03:00 diff --git a/static/2020/04/jmx_tomcat_dbpools-day.png b/static/2020/04/jmx_tomcat_dbpools-day.png new file mode 100644 index 0000000000000000000000000000000000000000..f6f984356c3748f5365af7b8f2cdc872b9649245 GIT binary patch literal 8216 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