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; }
/** * checks {@code visibilityTxnId} to see if {@code child} is committed in current snapshot */ private static boolean isDirUsable(FileStatus child, long visibilityTxnId, List<FileStatus> aborted, ValidTxnList validTxnList) { if(validTxnList == null) { throw new IllegalArgumentException("No ValidTxnList for " + child.getPath()); } if(!validTxnList.isTxnValid(visibilityTxnId)) { boolean isAborted = validTxnList.isTxnAborted(visibilityTxnId); if(isAborted) { aborted.add(child);//so we can clean it up } LOG.debug("getChildState() ignoring(" + aborted + ") " + child); return false; } return true; } public static HdfsFileStatusWithId createOriginalObj(
if (validTxnList.isTxnValid(txnId) || validTxnList.isTxnAborted(txnId)) {
if (validTxnList.isTxnAborted(txnId)) { abortedBits.set(invalidWriteIdList.size() - 1); } else {