diff --git a/convex-peer/src/main/java/convex/api/ConvexRemote.java b/convex-peer/src/main/java/convex/api/ConvexRemote.java index 8a9e29e7f..2dd520f59 100644 --- a/convex-peer/src/main/java/convex/api/ConvexRemote.java +++ b/convex-peer/src/main/java/convex/api/ConvexRemote.java @@ -23,7 +23,6 @@ import convex.core.store.AStore; import convex.core.store.Stores; import convex.core.transactions.ATransaction; -import convex.core.util.ThreadUtils; import convex.core.util.Utils; import convex.net.Connection; import convex.peer.Server; @@ -132,9 +131,7 @@ public synchronized CompletableFuture transact(SignedData long wait=1; // loop until request is queued - ThreadUtils.runVirtual(()->{ - - }); + while (true) { synchronized (awaiting) { id = connection.sendTransaction(signed); @@ -177,7 +174,7 @@ public CompletableFuture query(ACell query, Address address) throws IOEx // If we can't send yet, block briefly and try again try { Thread.sleep(wait); - wait+=1; // linear backoff + wait+=wait; // exponential backoff } catch (InterruptedException e) { throw new IOException("Transaction sending interrupted",e); }