Nikolay Izhikov created IGNITE-23121:
----------------------------------------
Summary: CLONE - Disallow IgniteCache#iterator inside transaction
Key: IGNITE-23121
URL: https://issues.apache.org/jira/browse/IGNITE-23121
Project: Ignite
Issue Type: Improvement
Reporter: Nikolay Izhikov
Assignee: Julia Bakulina
Fix For: 2.17
`IgniteCache#clear` invocation are not transactional.
But, currently, Ignite allow to invoke `clear` inside transaction.
This lead to unexpected behavior and hides business logic errors.
We must disallow IgniteCache#clear call inside transaction.
{code:java}
/** */
@Test
public void testClearInTransction() {
IgniteCache<Object, Object> cache = client.createCache(new
CacheConfiguration<>("my-cache").setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL));
cache.put(1, 1);
try (Transaction tx =
client.transactions().txStart(TransactionConcurrency.PESSIMISTIC,
TransactionIsolation.READ_COMMITTED)) {
cache.put(2, 2);
cache.clear();
tx.commit();
}
assertFalse(cache.containsKey(1));
assertTrue(cache.containsKey(2));
}
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)