Hello! How many nodes in topology? Note that cache protocol usually works irrespective of those things.
Regards, -- Ilya Kasnacheev пн, 21 янв. 2019 г. в 15:55, c c <[email protected]>: > thanks for your reply. > i use below configuration for the cache. > partitioned, 2 backup, transactional. > Do these matter? > > Ilya Kasnacheev <[email protected]> 于2019年1月21日周一 下午7:42写道: > >> Hello! >> >> I was able to run your first & second fragments with expected behavior: >> >> Entity{id='hello3', value='v3', date=2019-01-21} >> >> Note that I'm using 2.7. >> >> Regards, >> -- >> Ilya Kasnacheev >> >> >> пн, 21 янв. 2019 г. в 08:43, c c <[email protected]>: >> >>> Hi, >>> I work on ignite 2.7.0 >>> >>> I have a value type as below >>> >>> public class Entity { >>> String id; >>> String value; >>> Date date; >>> } >>> >>> then interact with cache as below >>> >>> try (Transaction tx = >>> ignite.transactions().txStart(TransactionConcurrency.PESSIMISTIC, >>> TransactionIsolation.SERIALIZABLE)) { >>> cache1.invoke("k6", new EntryProcessor<String, Entity, Object>() { >>> @Override public Object process(MutableEntry<String, Entity> >>> mutableEntry, Object... objects) throws EntryProcessorException { >>> Entity e = mutableEntry.getValue(); >>> e.setId("hello3"); >>> e.setValue("v3"); >>> mutableEntry.setValue(e); >>> return null; >>> } >>> }); >>> tx.commit(); >>> } >>> >>> But entry value does not change after commit. >>> >>> If i code as below, entry value would change after commit. >>> >>> try (Transaction tx = >>> ignite.transactions().txStart(TransactionConcurrency.PESSIMISTIC, >>> TransactionIsolation.SERIALIZABLE)) { >>> cache1.invoke("k6", new EntryProcessor<String, Entity, Object>() { >>> @Override public Object process(MutableEntry<String, Entity> >>> mutableEntry, Object... objects) throws EntryProcessorException { >>> mutableEntry.setValue(new Entity("test2", "a2", new Date())); >>> return null; >>> } >>> }); >>> tx.commit(); >>> } >>> >>> I found that changes to entry would not take effect after commit when >>> mutableEntry.getValue() called. >>> >>
