You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Julia Bakulina (Jira)" <ji...@apache.org> on 2024/11/15 09:20:00 UTC
[jira] [Created] (IGNITE-23681) Disallow IgniteCache#removeAll inside transaction
Julia Bakulina created IGNITE-23681:
---------------------------------------
Summary: Disallow IgniteCache#removeAll inside transaction
Key: IGNITE-23681
URL: https://issues.apache.org/jira/browse/IGNITE-23681
Project: Ignite
Issue Type: Improvement
Reporter: Julia Bakulina
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)