[
https://issues.apache.org/jira/browse/IGNITE-20715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17781305#comment-17781305
]
Vladislav Pyatkov commented on IGNITE-20715:
--------------------------------------------
LGTM
Merged 09bd408a11252d821b155d00917ea10d22847110
> Check that versions of tuples sent to PartitionReplicaListener match tx-bound
> schema version
> --------------------------------------------------------------------------------------------
>
> Key: IGNITE-20715
> URL: https://issues.apache.org/jira/browse/IGNITE-20715
> Project: Ignite
> Issue Type: Improvement
> Reporter: Roman Puchkovskiy
> Assignee: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Time Spent: 1h 40m
> Remaining Estimate: 0h
>
> When record/KV views don't get an explicit transaction, they choose 'now' to
> get schema version for tuple marshalling. Only after that they call
> InternalTable methods, and those methods actually create an implicit
> transaction; so there is a gap between the moment at which a schema was
> obtained for marshalling and the moment corresponding to the transaction
> start. From the point of view of PartitionReplicaListener, the latter is the
> moment that should be used to obtain the table schema.
> As there is a gap, those schemas (for marshalling and for processing) might
> be different (if a schema change activates in between).
> # We should check that the schema version of the tuples that arrive to
> PartitionReplicaListener match the schema version corresponding to the
> transaction; if not, a special exception has to be thrown.
> # Record/KV views must retry an operation that causes such an exception.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)