Timeout executing GET /metadata-provider/jobLogEntries/{jobExecutionId} when split is disabled on the environment
Description
CSP Request Details
CSP Rejection Details
Potential Workaround
Attachments
has to be done before
is blocked by
is duplicated by
relates to
Checklist
hideActivity

Mikita Siadykh March 4, 2025 at 2:38 PM
moving to Folijet as performance improvements are required to retrieve log entries (described in previous comment)

Tatsiana Hryhoryeva February 27, 2025 at 6:36 AM
Hi ,
After improvements on errors saving done in verification on large dataset for bulk edit of ~40K MARC Instances done on https://folio-etesting-sprint-fs09000000.ci.folio.org/ environment with split disabled in DI
While committing - Data Import job progress was not displayed
After Data Import job completed Bulk edit job completed and Confirmation screen is displayed
While Data import job was processing the response time with which log entries returned via Postman using limit, offset parameters was increasing from ~1s to ~44s
Upon Data import job completion the response time was 40+ sec or timeout error returned in response to the request for log entries using limit, offset parameters
File with errors saved in Bulk edit includes errors about timeouts, e.g. ERROR,,Failed to get 1000 log entries, reason: timeout executing GET http://metadata-provider/jobLogEntries/3c2f7348-036d-4cc3-ba83-a7f6a5d1308f?offset=13000&limit=1000
cc:

Viachaslau Khandramai February 5, 2025 at 10:51 AM
, it is necessary to finish to avoid potential issues in retrieving errors from data-import.

Javokhir Abdullaev February 5, 2025 at 9:52 AM
discussed with
it would be better to get errors by chunks similar to other types of records being retrieved by bulk-ops
without setting max_limit value for errors
cc

Viachaslau Khandramai February 4, 2025 at 12:10 PM
, issues with GET /metadata-provider/jobLogEntries/{jobExecutionId} can potentially affect bulk operations in retrieving errors from data-import because we make call with limit=Integer.MAX.
Details
Assignee
UnassignedUnassignedReporter
Tatsiana HryhoryevaTatsiana HryhoryevaPriority
P2Story Points
5Sprint
Development Team
FolijetRelease
Sunflower (R1 2025) Bug FixTestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Assignee
Reporter

Overview:
The issue reproduced on https://folio-testing-sprint-cs00000int.ci.folio.org/ environment when bulk edit of ~100K MARC Instances was done in Central tenant (split mode was disabled for Data Import on the environment). Bulk edit of MARC Instances is using Data Import under the hood. After Data Import job completed the request was sent to get log entries, and timeout error occurred
ERROR DirectJDKLog Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.folio.bulkops.exception.DataImportException: feign.RetryableException: timeout executing GET http://metadata-provider/jobLogEntries/b175ae3d-9024-48ff-9a08-fa187d27902f?limit=2147483647] with root cause 2024-11-28T18:01:26.090219287Z java.net.SocketException: Socket closed
Steps to Reproduce:
Go to “Bulk edit“ app
Select “Inventory - instances“ record type
Select “Instance UUIDs“ record identifier
Click “or choose file“ button => Upload file with ~100K MARC Instances UUIDs
Click “Actions“ > “Instances with source MARC (POC)“
Select any options/actions to edit MARC fields of Instance records (e.g. add 500 field)
Click “Confirm changes“
Click “Commit changes“
Expected Results:
Commit completed successfully, the Preview of record changed is displayed
In scope of this ticket this is expected that when split mode is disabled GET /metadata-provider/jobLogEntries/{jobExecutionId} supports limit, offset parameters to get log entries by at least 1000 records
Actual Results:
Timeout error occurred even for limit=100, job fails, the Preview of record changed is not displayed
IMPORTANT NOTE: ignore that in request we used limit MAX_INT, after we tried limit=100 and we couldn’t get any results for the job with 100k updated records