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

Dmitry Sherstobitov updated IGNITE-15317:
-----------------------------------------
    Description: 
I've created simple jepsen elle test with for basic functionality 
cache.get/put. There is 2 versions of clients: one for thick client and other 
for thin client. Invoke code is exactly the same.
Test passed for thick client and failed for thin client. Note that this issue 
is reproducible even with noop nemesis algorithm. 


{code:java}
(reduce
                  (fn [txn' [f k v :as micro-op]]
                    (case f
                      :r (let [value (read-value cache k)]
                           (conj txn' [f k value]))

                      :w (do
                           (let [contain-key (.containsKey cache k)
                                 value       (read-value cache k)]
                             (if (or (not contain-key) (and contain-key (< 
value v)))
                               (.put cache k v)
                               (vreset! tx-state false))) ; bye functional 
programming, we are saving state here to fail tx later
                           (conj txn' micro-op))))
{code}


GitHub repo with jepsen code: https://github.com/qvad/jepsen (see ignite folder 
there, there is also small guide how to launch hyper-v VM and run test there)
Elle reports following anomalies (:anomaly-types (:G1a :G1b :internal)), which 
is aborted reads and intermediate reads.
Anomalies description: 
https://sitano.github.io/theory/databases/2019/07/30/tx-isolation-anomalies/


  was:
I've created simple jepsen elle test with for basic functionality 
cache.get/put. There is 2 versions of clients: one for thick client and other 
for thin client. Invoke code is exactly the same.
Test passed for thick client and failed for thin client. Note that this issue 
is reproducible even with noop nemesis algorithm. 

GitHub repo with jepsen code: https://github.com/qvad/jepsen (see ignite folder 
there, there is also small guide how to launch hyper-v VM and run test there)
Elle reports following anomalies (:anomaly-types (:G1a :G1b :internal)), which 
is aborted reads and intermediate reads.
Anomalies description: 
https://sitano.github.io/theory/databases/2019/07/30/tx-isolation-anomalies/



> Simple Jepsen Elle test failed for Java Thin Client
> ---------------------------------------------------
>
>                 Key: IGNITE-15317
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15317
>             Project: Ignite
>          Issue Type: Bug
>          Components: thin client
>    Affects Versions: 2.10
>            Reporter: Dmitry Sherstobitov
>            Priority: Critical
>
> I've created simple jepsen elle test with for basic functionality 
> cache.get/put. There is 2 versions of clients: one for thick client and other 
> for thin client. Invoke code is exactly the same.
> Test passed for thick client and failed for thin client. Note that this issue 
> is reproducible even with noop nemesis algorithm. 
> {code:java}
> (reduce
>                   (fn [txn' [f k v :as micro-op]]
>                     (case f
>                       :r (let [value (read-value cache k)]
>                            (conj txn' [f k value]))
>                       :w (do
>                            (let [contain-key (.containsKey cache k)
>                                  value       (read-value cache k)]
>                              (if (or (not contain-key) (and contain-key (< 
> value v)))
>                                (.put cache k v)
>                                (vreset! tx-state false))) ; bye functional 
> programming, we are saving state here to fail tx later
>                            (conj txn' micro-op))))
> {code}
> GitHub repo with jepsen code: https://github.com/qvad/jepsen (see ignite 
> folder there, there is also small guide how to launch hyper-v VM and run test 
> there)
> Elle reports following anomalies (:anomaly-types (:G1a :G1b :internal)), 
> which is aborted reads and intermediate reads.
> Anomalies description: 
> https://sitano.github.io/theory/databases/2019/07/30/tx-isolation-anomalies/



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

Reply via email to