...
- Increments of GridCacheVersions is CAS operations from different threads. But the version is assigned to a transaction in non-atomic way. No guarantee that
snpVersion
is greater than version of transaction created after fixing snpVersion. Ignite should track such transactions:- With fair locking while creating and assigning version to transaction - possible performance degradation.
- With additional filter after preparing a snapshot (4.d) - now there are 3 steps for preparing snapshot.
- For case OPTIMISTIC + PRIMARY_SYNC we can miss backup transaction - looks like need additional sync process while restoring? TBD
- Client and non-baseline nodes has a job to do: collecting of transactions, awaiting them finished, sending a response. It could be non-reliable, as client nodes can be short-lived:
- Also should handle special cases when transaction is committed after client node gone and there is no info about it actual version.
- No safe previous record to restore, if some incremental snapshots created. Need to filter all history.
...
{"serverDuration": 141, "requestCorrelationId": "6f72516ad57e08e8"}