Versions Compared

Key

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

Jira Legacy
serverSystem JiraJIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODQM-217

...

500 error causes

IssueCauseDescription

MODQM-169

MODQM-170

Kafka topics configuration

Kafka consumers try to connect to existing consumer groups that have different assignment strategies. This led to mod-quick-marc doesn't receive any confirmation about successful/failed update. mod-quick-marc has a timeout (the 30s) for confirmation receiving. If the timeout is exceeded then respond with a 500 error. 

MODQM-191

MODQM-192

Related modules are downThe process of update is started in SRM by sending a Kafka event to SRS and then to Inventory. If SRS or Inventory is down then the process couldn't be finished. Consequently, the timeout for confirmation receiving in mod-quick-marc is exceeded.

MODQM-197

Kafka topic does not existKafka consumers cannot connect and receive messages because topics do not exist. Consequently, the timeout for confirmation receiving in mod-quick-marc is exceeded.

MODQM-212

MODQM-213

MODSOURMAN-731

IDs of records are not consistentWhen an SRS record is created firstly it has 2 IDs: record ID and record source ID, and they are the same. After 1st record update record source ID is changed. On the mod-quick-marc side, we expect to receive an event that contains an ID that is equal to the record ID but receives a different ID, because the initial ID was changed. Consequently, the timeout for confirmation receiving in mod-quick-marc is exceeded.

MODQM-218

Optimistic locking response changedWhen mod-quick-marc is getting an optimistic locking error from mod-inventory, it expects that it has JSON-structure. But it was changed to a simple string, this causes an error during message processing.

...

ProsCons
All processes in quickMarc are consistent and easy to maintainAll future bugs in data-import will affect quickMarc also
Kafka configuration is inherited from data-import Kafka configurationA little performance degradation
All future improvements to data-import will affect quickMarc also

Some features could be easily implemented in the future based on these changes:

  • possibility to use custom data-import profiles
  • MARC records bulk-edit

Prevention plan

  1. Fix Karate tests for mod-quick-marc to make it possible to rely on them. Possible solution: use mod-srs and mod-inventory-storage endpoints to populate records instead of using data-import.
  2. Continuously update Karate, module integration, and unit tests each time a new edge-cased bug was founded and fixed.