Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


CategoryProblem definitionBusiness impactProposed solution

Priority

DEV

Priority

PO

ComplexityExisting Jira item(s)Final feature(s)
1PerformanceKafka producer closed after sendingLow performance of import

Create pool of active producers. Start pool on module launch, close on shutdown. Reuse connections.

Add max/min pool sizes.

High
L

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODDATAIMP-499

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

2
WARN message when no handler foundnone

Do not subscribe to messages you're not going to process

OR

Lower log lever for this type of messages

Low
S

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURCE-340

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

3Stability/Reliability

Race condition on start (Kafka consumers start working before DB is configured)

OR

Periodical DB shutdown after SRS restart. Jobs get stuck if not able to update status in DB (messages ACKed even if we could not process them)

Imports might get stuck on module restart

Need investigation / check

Investigate the issue with DB (possible OOM on PG server)


Mid

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURCE-339

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

4

Performance

Stability/Reliability

High CPU/Memory consumption on modulesLow performance of import. Higher costs for hosting

Significantly decrease size of payload:

  1. Remove immutable parts. Instead fetch them on demand and cache locally for reuse.
  2. Change message handling mechanism (currently relies on pt1 - profile) (optional)
  3. Move archiving to Kafka instead of module level
High
XXL

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODDATAIMP-439

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURMAN-519

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODINV-405

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODINV-408

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODINV-460

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODINVOICE-251

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODINVOICE-252

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODPUBSUB-167

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURCE-286

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURCE-290

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURMAN-463

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURMAN-464

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURMAN-465

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURMAN-466

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURMAN-468

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURMAN-469

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURMAN-474

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURMAN-519


Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

5PerformanceKafka cache resource consumptionLow performance of import. Higher costs of hosting.Remove Kafka cache. Modules that do not do persistent changes will sometimes (on duplicates read) do unnecessary calls. Can be optimized further upon adding distributed in-memory cache (ex hazelcast) (blocked by 6)Mid
M

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODINV-444

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODINV-401


Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

6Stability/ReliabilityDuplicates created upon importData inconsistency on import.Make consumers behave idempotent. Add pass-through identifier to de-duplicate messages. High
XL

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODDATAIMP-474

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODDATAIMP-440

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODDATAIMP-491

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1-ee9b165564fc
keyMODDATAIMP-491
Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
983e-20c466b11a49
keyMODDATAIMP-495



Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

7Stability/ReliabilityKafka consumers stop reading messages eventually, breaking job progress until module restart.Imports eventually get stuck until module restartNeed investigationHigh
?

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODINV-417

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

8Code qualityTest coverage is not high enough (Unit)Higher amount of bugsWrite more testsMid
S

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODPUBSUB-168


Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

9Code qualityTest coverage is not high enough (Karate)Higher amount of bugsWrite more tests (define test cases)Mid
L

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-2697

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-2697

10Stability/Reliabilitymod-data-import stores input file in memory, limiting size of uploaded file and possibly having oomData import file size is limitedSplit to chunks, put to database, work with database/temp storage. Partially done (to be investigated)Mid
L

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODDATAIMP-390

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODDATAIMP-392

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODDATAIMP-465

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

11PerformanceData import impacts other processesSlower response of system during data import

Need investigation (possible solution - configure rate limiter)

Relates to number 4




no ticket

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

12PerformanceHigh resource consumption to get job(s) status/progressSlow performance of import and landing page.Add some kind of caching for progress tracking (database or in-memory)Low
S

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURMAN-469

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUIDATIMP-918

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

13Stability/ReliabilitySRS can fail when processing messageduring import
Import can end up creating some instances but not creating holdings/items for some MARC records

Generate "INSTANCE CREATED" from mod-inventory. Consume in SRS to update HRID in BIB and in INVENTORY to continue processing.


Remove unnecessary topics (* ready for post processing and hrid set)

Mid
L

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODDATAIMP-500

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

14Stability/Reliability

If we have infrastructure issue (like DB not available, module being restarted or network failure), we are sending DI_ERROR instead of retrying

Records that can potentially be processed during import are not processed if we have temporary infrastructure issues (DB down, network connectivity loss, etc)

Do not ACK messages in Kafka if there's not a logic, but infrastructure error/exception. Split failed processing results into 2 categories:

  1. IO errors - do not ack. retry until fixed
  2. Business logic - DI_ERROR and Ack current message
Mid

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODDATAIMP-501

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

15
Consumer gets disconnected from Kafka clusterJobs get stuck until module restartNeed investigationMid

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODINV-417

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

16
De-duplication of status messages for progress barProgress bar might display incorrect progressDe-duplicate status messages per-record while tracking progressMid
L (depends on 12)

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURMAN-522

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyUXPROD-3135

Filters

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQuerylabels in (di-configuration, di-data-integrity, di-performance, di-functional-bug, di-change-request, di-architecture, di-other) and resolution in (Unresolved) ORDER BY status DESC
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49

Issues to potentially remove from scope

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODDATAIMP-410

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODDATAIMP-430

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODDATAIMP-444

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURCE-300

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURMAN-481

Jira Legacy
serverSystem JiraFOLIO Issue Tracker
serverId01505d016ccf3fe4-b8533301-3c2e368a-90f1983e-ee9b165564fc20c466b11a49
keyMODSOURMAN-521

Links

Data Import Observations for Improvements