[ https://issues.apache.org/jira/browse/IGNITE-21799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17837998#comment-17837998 ]
Roman Puchkovskiy commented on IGNITE-21799: -------------------------------------------- [~amashenkov] could you please verify if it works on the current main? There was a fix related to this in IGNITE-21924, it seems to work for me now. > A transaction rollback fails with assertion error > ------------------------------------------------- > > Key: IGNITE-21799 > URL: https://issues.apache.org/jira/browse/IGNITE-21799 > Project: Ignite > Issue Type: Bug > Reporter: Andrey Mashenkov > Priority: Major > Labels: ignite-3 > Fix For: 3.0.0-beta2 > > > A transaction rollback fails with > {noformat} > java.lang.AssertionError: Thread does not have allowed operations > {noformat} > Here is a simple reproducer below. > You can use an`ItCommonsApiTest` to reproduce. > {code:java} > @Test > public void rollbackAsync() { > Ignite node = CLUSTER.aliveNode(); > sql("CREATE TABLE IF NOT EXISTS TEST(ID INT PRIMARY KEY, VAL0 INT)"); > KeyValueView<Tuple, Tuple> view1 = > node.tables().table("TEST").keyValueView(); > AtomicReference<CompletableFuture<Void>> rollbackFut = new > AtomicReference<>(); > > Transaction tx = node.transactions().begin(); > view1.getAsync(tx, Tuple.create().set("id", 101)) > .handle((unused, err) -> { > rollbackFut.set(tx.rollbackAsync()); // unconditional > roll back > return null; > }).join(); > rollbackFut.get().join(); // <- FAILS > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)