But i managed to read dirty. That is my example : Ignite ignite0 = ignite(0); IgniteTransactions transactions = ignite0.transactions(); IgniteCache<String, String> cache = ignite0.getOrCreateCache("testCache"); Object monitor = new Object();
GridTestUtils.runAsync(new Callable<Object>() { @Override public Object call() throws Exception { synchronized (monitor){ doInTransaction(ignite(1), new Callable<Object>() { @Override public Object call() throws Exception { cache.put("key1", "val1"); monitor.wait(); return null; } }); } return null; } }); Transaction tx = transactions.txStart(TransactionConcurrency.OPTIMISTIC, TransactionIsolation.READ_COMMITTED); cache.put("key1", "val1"); And through debugging cache.put() method i can see in method *org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal#enlistWriteEntry* that "key1" already *EXISTS *in internal cache : cacheCtx.cache().entryEx() returns not null. ср, 29 мар. 2017 г. в 20:11, Alexander Fedotov <alexander.fedot...@gmail.com >: Hello Aleksey, No, the enlisted entry won't be visible for other transactions. Dirty reads are not allowed in Ignite. Kind regards, Alex 29 марта 2017 г. 7:36 PM пользователь "ALEKSEY KUZNETSOV" < alkuznetsov...@gmail.com> написал: Hello, Igniters! I have one more question to you. Will appreciate any help. Consider cache with near , dht configured not null. When we start commit transaction , in method *org.apache.ignite.internal.processors.cache.distributed. near.GridNearTxLocal#enlistWriteEntry* we put newly created entry into cache by executing entryEx(). I wonder if this entry will became visible for other transactions!? -- *Best Regards,* *Kuznetsov Aleksey* -- *Best Regards,* *Kuznetsov Aleksey*