Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
#254 Added monitoring of the
ps_crud
CRUD upload operations.The monitoring relies on
ps_crud
rows being consumed and removed by theBackendConnector
uploadData
method. An upload delay is added if the CRUD entry at the head of the queue has not been changed between calls touploadData
.The
ps_crud
table containsid
anddata
columns.id
Should be a unique incrementing integer while thedata
column contains JSON of the CRUD data change operation.The raw
ps_crud
entry is parsed into aCrudEntry
instance which exposes the data above. The mapping in the parsing mapsps_crud:id
=>CrudEntry.clientId
andps_crud:data:id
toCrudEntry.id
.The previous implementation incorrectly assumed
CrudEntry.id
was theps_crud:id
column value. This causes the monitoring check to think CRUD operations have not been consumed if there are multipleps_crud
operations for the same row (with the same data id). This causes a delay in uploads if a single row has been mutated multiple times.This PR updates the CRUD monitoring to use the correct
id
value. Unit tests are also added to ensure the delay functions as planned.