Aleksey Plekhanov created IGNITE-13170:
------------------------------------------
Summary: Java thin client: Transactions functionality withLabel is broken
Key: IGNITE-13170
URL:
https://issues.apache.org/jira/browse/IGNITE-13170 Project: Ignite
Issue Type: Bug
Reporter: Aleksey Plekhanov
Assignee: Aleksey Plekhanov
Reproducer
{code:java}
@Test
public void testTransactions1() throws Exception {
try (Ignite ignite = Ignition.start(Config.getServerConfiguration());
IgniteClient client = Ignition.startClient(getClientConfiguration()))
{
ClientCache<Integer, String> cache = client.createCache(new ClientCacheConfiguration()
.setName("cache")
.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL));
cache.put(1, "value1");
try (ClientTransaction tx = client.transactions().withLabel("asdasda").txStart()) {
cache.put(1, "value2");
}
assertEquals("value1", cache.get(1));
}
}
{code}
Root cause: a new instance of transactions facade is created when {{withLabel}} modificator is used. Transactions are registered in {{threadLocTxUid}} map of this instance, but when any cache operation is performed transaction is looked only at root {{threadLocTxUid}} map.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)