[jira] [Updated] (IGNITE-12739) Optimistic serializable transactions may fail infinitely when read-through is enabled

2020-03-27 Thread Vladimir Steshin (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-12739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Steshin updated IGNITE-12739:
--
Affects Version/s: 2.8

> Optimistic serializable transactions may fail infinitely when read-through is 
> enabled
> -
>
> Key: IGNITE-12739
> URL: https://issues.apache.org/jira/browse/IGNITE-12739
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.8
>Reporter: Alexey Goncharuk
>Assignee: Vladimir Steshin
>Priority: Major
> Fix For: 2.9
>
> Attachments: ReplicatedOptimisticTxTest.java
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> In current design it is possible that the same key-value pair will be stored 
> with different versions on primary and backup nodes. For example, a 
> read-through is invoked separately on primary backup and values are stored 
> with node local version.
> With this precondition, if an optimistic serializable transaction is started 
> from a backup node, the serializable check version is read from backup, but 
> validated on primary node, which will fail the transaction with optimistic 
> read/write conflict exception until the versions are overwritten to the same 
> value (for example, via a pessimistic transaction).
> While we need to additionally investigate whether we want to change the 
> read-through logic to ensure the same value and version on all nodes, this 
> particular scenario should be fixed by always enforcing reading from a 
> primary node inside an optimistic serializable transaction.
> The reproducer is attached. A known workaround is to disable read load 
> balancing by setting "-DIGNITE_READ_LOAD_BALANCING=false" system property.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-12739) Optimistic serializable transactions may fail infinitely when read-through is enabled

2020-03-27 Thread Vladimir Steshin (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-12739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Steshin updated IGNITE-12739:
--
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Optimistic serializable transactions may fail infinitely when read-through is 
> enabled
> -
>
> Key: IGNITE-12739
> URL: https://issues.apache.org/jira/browse/IGNITE-12739
> Project: Ignite
>  Issue Type: Bug
>Reporter: Alexey Goncharuk
>Assignee: Vladimir Steshin
>Priority: Major
> Attachments: ReplicatedOptimisticTxTest.java
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> In current design it is possible that the same key-value pair will be stored 
> with different versions on primary and backup nodes. For example, a 
> read-through is invoked separately on primary backup and values are stored 
> with node local version.
> With this precondition, if an optimistic serializable transaction is started 
> from a backup node, the serializable check version is read from backup, but 
> validated on primary node, which will fail the transaction with optimistic 
> read/write conflict exception until the versions are overwritten to the same 
> value (for example, via a pessimistic transaction).
> While we need to additionally investigate whether we want to change the 
> read-through logic to ensure the same value and version on all nodes, this 
> particular scenario should be fixed by always enforcing reading from a 
> primary node inside an optimistic serializable transaction.
> The reproducer is attached. A known workaround is to disable read load 
> balancing by setting "-DIGNITE_READ_LOAD_BALANCING=false" system property.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-12739) Optimistic serializable transactions may fail infinitely when read-through is enabled

2020-03-27 Thread Vladimir Steshin (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-12739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Steshin updated IGNITE-12739:
--
Fix Version/s: 2.9

> Optimistic serializable transactions may fail infinitely when read-through is 
> enabled
> -
>
> Key: IGNITE-12739
> URL: https://issues.apache.org/jira/browse/IGNITE-12739
> Project: Ignite
>  Issue Type: Bug
>Reporter: Alexey Goncharuk
>Assignee: Vladimir Steshin
>Priority: Major
> Fix For: 2.9
>
> Attachments: ReplicatedOptimisticTxTest.java
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> In current design it is possible that the same key-value pair will be stored 
> with different versions on primary and backup nodes. For example, a 
> read-through is invoked separately on primary backup and values are stored 
> with node local version.
> With this precondition, if an optimistic serializable transaction is started 
> from a backup node, the serializable check version is read from backup, but 
> validated on primary node, which will fail the transaction with optimistic 
> read/write conflict exception until the versions are overwritten to the same 
> value (for example, via a pessimistic transaction).
> While we need to additionally investigate whether we want to change the 
> read-through logic to ensure the same value and version on all nodes, this 
> particular scenario should be fixed by always enforcing reading from a 
> primary node inside an optimistic serializable transaction.
> The reproducer is attached. A known workaround is to disable read load 
> balancing by setting "-DIGNITE_READ_LOAD_BALANCING=false" system property.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-12739) Optimistic serializable transactions may fail infinitely when read-through is enabled

2020-03-03 Thread Alexey Goncharuk (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-12739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexey Goncharuk updated IGNITE-12739:
--
Attachment: ReplicatedOptimisticTxTest.java

> Optimistic serializable transactions may fail infinitely when read-through is 
> enabled
> -
>
> Key: IGNITE-12739
> URL: https://issues.apache.org/jira/browse/IGNITE-12739
> Project: Ignite
>  Issue Type: Bug
>Reporter: Alexey Goncharuk
>Priority: Major
> Attachments: ReplicatedOptimisticTxTest.java
>
>
> In current design it is possible that the same key-value pair will be stored 
> with different versions on primary and backup nodes. For example, a 
> read-through is invoked separately on primary backup and values are stored 
> with node local version.
> With this precondition, if an optimistic serializable transaction is started 
> from a backup node, the serializable check version is read from backup, but 
> validated on primary node, which will fail the transaction with optimistic 
> read/write conflict exception until the versions are overwritten to the same 
> value (for example, via a pessimistic transaction).
> While we need to additionally investigate whether we want to change the 
> read-through logic to ensure the same value and version on all nodes, this 
> particular scenario should be fixed by always enforcing reading from a 
> primary node inside an optimistic serializable transaction.
> The reproducer is attached. A known workaround is to disable read load 
> balancing by setting "-DIGNITE_READ_LOAD_BALANCING=false" system property.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)