Web client: Barcode file upload inflates pcrud drone count
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Medium
|
Unassigned | ||
3.0 |
Fix Released
|
Medium
|
Unassigned |
Bug Description
EG 3.0.2
When uploading a file containing patron or item barcodes, the web client loops through the uploaded file line by line and fires off nearly-simultaneous pcrud requests for each barcode. This tends to inflate the number of pcrud child processes.
Patron barcodes:
1. Go to Circulation > User Buckets > Pending Users.
2. Click "Choose file" and upload a file containing a large number of patron barcodes.
Item barcodes:
1. Go to Circulation > Item Status.
2. Click "Choose file" and upload a file containing a large number of item barcodes.
(I don't see a file upload option for record or copy buckets in 3.0.2.)
The default configuration for open-ils.pcrud has max_children = 15. With this configuration, uploading a file containing 30 or more barcodes will quickly spawn the maximum allowable number of pcrud drones. Increasing pcrud max_children mitigates the issue somewhat but still results in an inflated drone count: for example, with max_children = 100 and uploading 100 barcodes at a time, a single upload spawned 22 separate pcrud drones.
I'm not sure if there is any inherent problem in having a large number of pcrud drones. My gut feeling is that it would be good practice not to use so many separate processes for batch barcode retrieval.
Changed in evergreen: | |
status: | New → Confirmed |
assignee: | nobody → Bill Erickson (berick) |
Changed in evergreen: | |
assignee: | nobody → Bill Erickson (berick) |
Changed in evergreen: | |
assignee: | nobody → Jason Stephenson (jstephenson) |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
Fix for the patron barcode lookup pushed:
http:// git.evergreen- ils.org/ ?p=working/ Evergreen. git;a=shortlog; h=refs/ heads/user/ berick/ lp1745499- file-upload- pcrud-blast
I have not looked at the item status UI yet. Removing myself as assignee for now.