Uploaded image for project: 'mod-inventory-storage'
  1. mod-inventory-storage
  2. MODINVSTOR-610

Data import with 856 --> electronicAccess match performance issues

    XMLWordPrintable

Details

    • Folijet Sprint 101, Folijet Sprint 102
    • 2
    • Folijet
    • Q3 2020 Bug Fix
    • Simmons
    • Data related (ex. Can be detected with large dataset only)

    Description

      We created a job profile for matching an incoming MARC 856 $u against the "Electronic access: URI" property of holdings records, overlaying if matched, or creating a new record if there is no match. The profile worked fine for a small record batch (1-5 records). When we tried it with a large batch (5000 records), database CPU utilization pegged out, and inventory-storage became unresponsive. Log investigation showed many warnings like:

      WARNING: Doing FT search without index for holdings_record.jsonb->>'electronicAccess', CQL >>> SQL: electronicAccess = "\"uri\":\"https://ebookcentral.proquest.com/lib/simmons-ebooks/detail.action\?docID=147309\"" >>> get_tsvector(f_unaccent(holdings_record.jsonb->>'electronicAccess')) @@ tsquery_phrase(f_unaccent('"uri":"https://ebookcentral.proquest.com/lib/simmons-ebooks/detail.action?docID=147309"'))
      

      Inspection of database logs showed long wait times for the query:

      SELECT jsonb,id FROM sim_mod_inventory_storage.holdings_record WHERE get_tsvector(f_unaccent(holdings_record.jsonb->>?)) @@ tsquery_phrase(f_unaccent(?)) LIMIT ? OFFSET ?
      

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                VRohach Volodymyr Rohach
                wayne Wayne Schneider
                Votes:
                0 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases