Load testing | Failed linked bib field updates report UIEXPMGR-70
Purpose:
We need to load test that generating a Failed linked bib field updates report of the following number of records does not fail. It is not a performance test. This is needed to solidify definition of done and address issues before it gets to PTF.
Note: Load testing was performed on Spitfire Rancher environment https://folio-dev-spitfire-diku.ci.folio.org/, because we don't have a possibility how to generate Failed updates of linked "MARC Bib" field.
See original story: UIEXPMGR-70
Scenario description:
1) Using this "Tool" that does the linking (see link to confluence page with instruction how to use the "tool" Links Generator instructions) generate needed number of pairs "MARC authority" + linked "MARC bibliographic" records (see use cases in the table 1).
2) Go to "Databases/folio_modules/Schemas/diku_mod_entities_links" table and change values in column "Status" to "ERROR" and provide some reason for fail in column "error_cause"
Note: I've used the following SQL request to do this operation:
"
UPDATE diku_mod_entities_links.instance_authority_link
SET status = 'ERROR', error_cause = 'Not found'
WHERE id > 1
"
3) Go to "MARC authority" app and run export of "Failed updates: linked bibliographic fields (CSV)" report.
4) Go to "Export manager" and download generated report.
See screencast with example for scenario:
Step 1 - FOLIO-3779_fixed.webm
Step 2-4 - UIEXPMGR-70_10_records.webm
Table 1 - Test results on Spitfire Rancher environment.
Test № | Number of "MARC authority" records that have at least 1 linked "MARC bibliographic" | Time of generating | Test passed? | Generated report |
---|---|---|---|---|
1 | 10 | <1 second | Yes | |
2 | 110 | <1 second | Yes | |
3 | 1110 | <1 second | Yes | |
4 | 2651 | <1 second | Yes | |
5 | Run multiple jobs in parallel - 2 jobs | 1-2 seconds | Yes | 2 jobs with 2651 rows - one by one |
6 | Run multiple jobs in parallel - 5 jobs | 2-3 seconds | Yes | 5 jobs with 2651 rows - one by one |
MARC authority records used for testing:
1500_MARC_auth_records.mrc
1000_auth_records.mrc
100_MARC_authority_records.mrc
10_records.mrc