@Override public void encode(TransactionEdit src, DataOutput out) throws IOException { super.encode(src, out); // null transaction type is represented as -1 if (src.getType() == null) { out.writeInt(-1); } else { out.writeInt(src.getType().ordinal()); } Set<Long> truncateInvalidTx = src.getTruncateInvalidTx(); if (truncateInvalidTx == null) { out.writeInt(0); } else { out.writeInt(truncateInvalidTx.size()); for (long id : truncateInvalidTx) { out.writeLong(id); } } out.writeLong(src.getTruncateInvalidTxTime()); }
@Override public void decode(TransactionEdit dest, DataInput in) throws IOException { super.decode(dest, in); int typeIdx = in.readInt(); // null transaction type is represented as -1 if (typeIdx < 0) { dest.setType(null); } else { try { dest.setType(TransactionType.values()[typeIdx]); } catch (ArrayIndexOutOfBoundsException e) { throw new IOException("Type enum ordinal value is out of range: " + typeIdx); } } int truncateInvalidTxSize = in.readInt(); Set<Long> truncateInvalidTx = emptySet(dest.getTruncateInvalidTx()); for (int i = 0; i < truncateInvalidTxSize; i++) { truncateInvalidTx.add(in.readLong()); } dest.setTruncateInvalidTx(truncateInvalidTx); dest.setTruncateInvalidTxTime(in.readLong()); }
@Override public void encode(TransactionEdit src, DataOutput out) throws IOException { super.encode(src, out); // null transaction type is represented as -1 if (src.getType() == null) { out.writeInt(-1); } else { out.writeInt(src.getType().ordinal()); } Set<Long> truncateInvalidTx = src.getTruncateInvalidTx(); if (truncateInvalidTx == null) { out.writeInt(0); } else { out.writeInt(truncateInvalidTx.size()); for (long id : truncateInvalidTx) { out.writeLong(id); } } out.writeLong(src.getTruncateInvalidTxTime()); }
@Override public void decode(TransactionEdit dest, DataInput in) throws IOException { super.decode(dest, in); int typeIdx = in.readInt(); // null transaction type is represented as -1 if (typeIdx < 0) { dest.setType(null); } else { try { dest.setType(TransactionType.values()[typeIdx]); } catch (ArrayIndexOutOfBoundsException e) { throw new IOException("Type enum ordinal value is out of range: " + typeIdx); } } int truncateInvalidTxSize = in.readInt(); Set<Long> truncateInvalidTx = emptySet(dest.getTruncateInvalidTx()); for (int i = 0; i < truncateInvalidTxSize; i++) { truncateInvalidTx.add(in.readLong()); } dest.setTruncateInvalidTx(truncateInvalidTx); dest.setTruncateInvalidTxTime(in.readLong()); }
@Override public void encode(TransactionEdit src, DataOutput out) throws IOException { super.encode(src, out); // null transaction type is represented as -1 if (src.getType() == null) { out.writeInt(-1); } else { out.writeInt(src.getType().ordinal()); } Set<Long> truncateInvalidTx = src.getTruncateInvalidTx(); if (truncateInvalidTx == null) { out.writeInt(0); } else { out.writeInt(truncateInvalidTx.size()); for (long id : truncateInvalidTx) { out.writeLong(id); } } out.writeLong(src.getTruncateInvalidTxTime()); }
@Override public void decode(TransactionEdit dest, DataInput in) throws IOException { super.decode(dest, in); int typeIdx = in.readInt(); // null transaction type is represented as -1 if (typeIdx < 0) { dest.setType(null); } else { try { dest.setType(TransactionType.values()[typeIdx]); } catch (ArrayIndexOutOfBoundsException e) { throw new IOException("Type enum ordinal value is out of range: " + typeIdx); } } int truncateInvalidTxSize = in.readInt(); Set<Long> truncateInvalidTx = emptySet(dest.getTruncateInvalidTx()); for (int i = 0; i < truncateInvalidTxSize; i++) { truncateInvalidTx.add(in.readLong()); } dest.setTruncateInvalidTx(truncateInvalidTx); dest.setTruncateInvalidTxTime(in.readLong()); }
/** * Creates a new instance from {@link co.cask.tephra.persist.TransactionEdit}. */ @Deprecated public static TransactionEdit convertCaskTxEdit(co.cask.tephra.persist.TransactionEdit txEdit) { if (txEdit == null) { return null; } return new TransactionEdit(txEdit.getWritePointer(), txEdit.getVisibilityUpperBound(), TransactionEdit.State.valueOf(txEdit.getState().toString()), txEdit.getExpiration(), txEdit.getChanges(), txEdit.getCommitPointer(), txEdit.getCanCommit(), txEdit.getType(), txEdit.getTruncateInvalidTx(), txEdit.getTruncateInvalidTxTime(), txEdit.getParentWritePointer(), txEdit.getCheckpointPointers()); }
doTruncateInvalidTxBefore(edit.getTruncateInvalidTxTime()); } else { doTruncateInvalidTx(edit.getTruncateInvalidTx());
doTruncateInvalidTxBefore(edit.getTruncateInvalidTxTime()); } else { doTruncateInvalidTx(edit.getTruncateInvalidTx());