private static async Task CommitAndVerifyTransactionAsync( KuduClient client, KuduTransaction transaction) { var tsBeforeCommit = client.LastPropagatedTimestamp; await transaction.CommitAsync(); Assert.Equal(tsBeforeCommit, client.LastPropagatedTimestamp); await transaction.WaitForCommitAsync(); var tsAfterCommit = client.LastPropagatedTimestamp; Assert.True(tsAfterCommit > tsBeforeCommit); // A sanity check: calling WaitForCommitAsync() again after the commit phase // has been finalized doesn't change last propagated timestamp at the // client side. for (int i = 0; i < 10; ++i) { await transaction.WaitForCommitAsync(); Assert.Equal(tsAfterCommit, client.LastPropagatedTimestamp); await Task.Delay(10); } }
private static KuduTransaction MakeFakeTransaction( KuduClient client, KuduTransaction transaction) { var buf = transaction.Serialize(); var pb = TxnTokenPB.Parser.ParseFrom(buf); Assert.True(pb.HasTxnId); var txnId = pb.TxnId; Assert.True(txnId > KuduClient.InvalidTxnId); var fakeTxnId = txnId + 123; var message = new TxnTokenPB { TxnId = fakeTxnId, EnableKeepalive = false, KeepaliveMillis = 0 }; var fakeTxnBuf = ProtobufHelper.ToByteArray(message); return(client.NewTransactionFromToken(fakeTxnBuf)); }