Bulk Edit Items App report [Morning Glory]

Bulk Edit Items App report [Morning Glory]

IN PROGRESS

 

Overview

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.  

 

Infrastructure

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

Scenario

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 - http://carrier-io.int.folio.ebsco.com/artifacts?q=export

 

 

 

 

accession number

barcode

Test

Records number

Duration

Comment

Record identifier file

 name

Results for finding records

Time to upload 

Time to update

Record identifier file

 name

Results for finding records

Time to upload 

Time to update

1.

100

multiple time check

Always Pass 

 access_num_100.csv

PASS

6 sec

10 sec

100-item-barcodes_version.csv

PASS

5 sec

6 sec

2.

1000

multiple time check

Always Pass

access_num_1000.csv

PASS

1 min

1 min 30 sec

1000-item-barcodes_version.csv

PASS

40 sec

1 min

3.

2000

multiple time check

Always Pass

access_num_2000.csv

PASS

1 min 30 sec 

2 min

 

-

-

-

4.

5000

multiple time check

Always Pass

access_num_5_000.csv

PASS

3 min

7 min

 5000-item-barcodes_version.csv

PASS

4 min

7 min

5

7000

multiple time check

 

 

-

-

-

7k-item-barcodes_version.csv

PASS

5min

10min

6.

10000

multiple time check

Always Pass

access_num_10_000.csv

PASS

6 min

13 min

10k-item-barcodes_version.csv

PASS

8 min

13 min

7

20000

1-time check

Always Pass

 access_num_20_000.csv

PASS

12 min

26 min

 

 

 

 

8

100000

1-time check

 

 

 

 

 

100k-item-barcodes_version.csv

 

 

 

 

 

Results

Summary 

 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: memory usage increases over time 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%.

  • 5 parallel jobs for 10k records can be performed simultaneously only if started with the ramp-up of a minimum of 10sec (for both upload and editing processes). If the jobs started with fewer 10s intervals they will have IN_PROGRESS status forever.

  • 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

  • Memory trend: memory usage increases over time 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.

RDS CPU utilization

RDS CPU utilization did not exceed 11.5%

 

 

CPU utilization

CPU utilization for all mods did not exceed 43%

 

 

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)?