private void testEnlistMany(boolean write, TransactionIsolation isolation,
TransactionConcurrency conc) throws Exception {
final Ignite client = startClient();
Map<Integer, Integer> entries = new HashMap<>();
for (int i = 0; i < 1000000; i++)
entries.put(i, i);
IgniteInternalFuture<?> fut = null;
try (Transaction tx = client.transactions().txStart(conc, isolation, 0, 0)) {
fut = rollbackAsync(tx, 200);
if (write)
client.cache(CACHE_NAME).putAll(entries);
else
client.cache(CACHE_NAME).getAll(entries.keySet());
tx.commit();
fail("Commit must fail");
}
catch (Throwable t) {
assertTrue(X.hasCause(t, TransactionRollbackException.class));
}
fut.get();
assertEquals(0, client.cache(CACHE_NAME).size());
checkFutures();
}