private List<Long> getOpenTxns(ValidTxnList validTxnList) { long[] invalidTxns = validTxnList.getInvalidTransactions(); List<Long> openTxns = new ArrayList<>(); for (long invalidTxn : invalidTxns) { if (!validTxnList.isTxnAborted(invalidTxn)) { openTxns.add(invalidTxn); } } return openTxns; }
long[] exceptions = txnList.getInvalidTransactions(); String minOpenTxn = exceptions != null && exceptions.length > 0 ? Long.toString(exceptions[0]) : "x";
validTxns = new ValidReadTxnList(asString); Assert.assertEquals(1, validTxns.getHighWatermark()); Assert.assertNotNull(validTxns.getInvalidTransactions()); Assert.assertEquals(0, validTxns.getInvalidTransactions().length); asString = validTxns.toString(); Assert.assertEquals("1:" + Long.MAX_VALUE + "::", asString); validTxns = new ValidReadTxnList(asString); Assert.assertEquals(1, validTxns.getHighWatermark()); Assert.assertNotNull(validTxns.getInvalidTransactions()); Assert.assertEquals(0, validTxns.getInvalidTransactions().length); Assert.assertNotNull(validTxns.getInvalidTransactions()); Assert.assertEquals(2, validTxns.getInvalidTransactions().length); boolean sawThree = false, sawFive = false; for (long tid : validTxns.getInvalidTransactions()) { if (tid == 3) sawThree = true; else if (tid == 5) sawFive = true;