[ 
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)

Reply via email to