You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladislav Pyatkov (Jira)" <ji...@apache.org> on 2023/10/31 10:45:00 UTC

[jira] [Commented] (IGNITE-20715) Check that versions of tuples sent to PartitionReplicaListener match tx-bound schema version

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