Skip to end of metadata
Go to start of metadata



Per PERF-267, test Bulk Edit (PERF-271) of 10K  records to understand the workflow behavior before and when the mod-data-export-worker task crashes, if it crashes at all. 

  • How long does it take to export 10K records?
  •  What happens to the job that is running, will it be able to resume and complete successfully when the new task is spun up? 
  • Look for a memory trend and use it to decide on the number of concurrent jobs needed to reach the tipping point.  


PTF -environment

  • 10 m6i.2xlarge EC2 instances  (changed. In Lotus it was m5.xlarge)
  • 2 instances of db.r6.xlarge database instances, one reader and one writer
  • MSK
    • 4 m5.2xlarge brokers in 2 zones
    • auto.create-topics.enable = true
    • log.retention.minutes=120
    • 2 partitions per DI topics
  • okapi (running tasks -3)
    • 1024 CPU units, 1360 MB mem
  • mod-users (running tasks -2) 
    • 128 CPU units, 896 MB mem
  • mod-data-export (running tasks -1) 
    • 1024 CPU units, 896 MB mem
  • mod-data-export-spring (running tasks -1) 
    • 256 CPU units, 1844 MB mem
  • mod-data-export-worker (running tasks -1) 
    • 256 CPU units, 1844 MB mem
  • mod-notes (running tasks -2) 
    • 128 CPU units, 896 MB mem
  • mod-agreements (running tasks -2) 
    • 128 CPU units, 1382 MB mem

Software Versions

  • mod-data-export-worker v 1.4.2 
  • mod-data-export-spring v 1.4.2
  • mod-agreements:5.2.0
  • mod-notes: 3.1.0
  • mod-users: 18.3.0

Test Runs


Items App - updating item status
1.Navigate to the Bulk edit app
2.Select "Inventory-Items" app => Select "Items identifier" ( item barcodes, item UUIDs, holdings UUIDs, item HRIDs, item accession numbers) from "Record identifier" dropdown
3.Upload a .csv file with items identifiers by dragging it on the file drag and drop area
4.Click "Actions" menu => Click "Download matched records"
5.Click "Actions" menu => Select "Start Bulk edit" option
6.Select "Item status" from "Options" dropdown
7.Select Item's status (Available, Missing,Withdraw)from "Select Itemstatus" dropdown
8.Click "Confirm changes" button
9.Click the "Download preview" button
10.Click "Confirm changes" button
11.Click "Actions" => Select "Download changed records (CSV)"

Record identifier files location -

accession numberbarcode


Records number



Record identifier file


Results for finding records

Time to upload Time to update

Record identifier file


Results for finding records

Time to upload Time to update


100multiple time checkAlways Pass 


PASS6 sec10 sec100-item-barcodes_version.csvPASS5 sec6 sec


1000multiple time checkAlways Passaccess_num_1000.csvPASS1 min1 min 30 sec1000-item-barcodes_version.csvPASS40 sec1 min


2000multiple time checkAlways Passaccess_num_2000.csvPASS1 min 30 sec 2 min



5000multiple time checkAlways Passaccess_num_5_000.csvPASS3 min7 min


PASS4 min7 min
57000multiple time check

6.10000multiple time checkAlways Passaccess_num_10_000.csvPASS6 min13 min10k-item-barcodes_version.csvPASS8 min13 min
7200001-time checkAlways Pass access_num_20_000.csvPASS12 min26 min

81000001-time check




 Initial test report for Bulk Edits items-app functionality. 

  • 10 K records can be exported in 6min (time to upload identifier file and find records). The time to commit edited records depends on the number of records to be changed for 10000 records it is about 13 min.
  • The files with identifiers should be strictly determined and do not allow data from files created with Excel (error for the first line of each file)
  • Files with barcodes: when trying to edit, give us 0 records to be edited the reason for error - For input string: "" .
  • Memory trend: for mod-data-export-worker increases from 37% to 46% in 2 steps at the start of the changes commitment process for 10000 and 20000 records. for mod-data-export-spring increases from 24% to 26% and become stable. All other services without changes.
  • CPU utilization for all mods did not exceed 43%.
  • The failover test - fail - we have an end_time in the database (the same time the mod-data-export-worker task was stopped) but the status is always "in_progress"

Memory usage

RDS CPU utilization

RDS CPU utilization did not exceed 11.5%

CPU utilization

Notable observations

  • We have only 1 Job number (and 1 job in count) for both the identifier and updating processes named BULK_EDIT_IDENTIFIERS.
  • How many records have to be updated?
  • Has the update started or finished yet?
  • Have changes been committed yet (You can only observe 0 changes done. Is that all? No, in this case, it is only beginning)?

  • No labels