We can expose at least the size (and most of the time identity) of the
payload. Let's do that to ease debugging.
JIRA: CONTROLLER-2043
Change-Id: Ia0f1e17ca46de8a9d117d5f8bdb85b246e32be01
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
import static com.google.common.base.Verify.verifyNotNull;
import static java.util.Objects.requireNonNull;
import static com.google.common.base.Verify.verifyNotNull;
import static java.util.Objects.requireNonNull;
+import com.google.common.base.MoreObjects;
import com.google.common.io.ByteStreams;
import java.io.DataInput;
import java.io.Externalizable;
import com.google.common.io.ByteStreams;
import java.io.DataInput;
import java.io.Externalizable;
return serialized.length;
}
return serialized.length;
}
+ @Override
+ public final String toString() {
+ return MoreObjects.toStringHelper(this).add("identifier", identifier).add("size", size()).toString();
+ }
+
protected final Object writeReplace() {
return verifyNotNull(externalizableProxy(serialized));
}
protected final Object writeReplace() {
return verifyNotNull(externalizableProxy(serialized));
}
import com.google.common.annotations.Beta;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.annotations.Beta;
import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.MoreObjects;
import com.google.common.io.ByteStreams;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.DataInput;
import com.google.common.io.ByteStreams;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.DataInput;
private volatile Entry<TransactionIdentifier, DataTreeCandidateWithVersion> candidate = null;
CommitTransactionPayload() {
private volatile Entry<TransactionIdentifier, DataTreeCandidateWithVersion> candidate = null;
CommitTransactionPayload() {
}
public static @NonNull CommitTransactionPayload create(final TransactionIdentifier transactionId,
}
public static @NonNull CommitTransactionPayload create(final TransactionIdentifier transactionId,
+ @Override
+ public final String toString() {
+ final var helper = MoreObjects.toStringHelper(this);
+ final var localCandidate = candidate;
+ if (localCandidate != null) {
+ helper.add("identifier", candidate.getKey());
+ }
+ return helper.add("size", size()).toString();
+ }
+
abstract void writeBytes(ObjectOutput out) throws IOException;
abstract DataInput newDataInput();
abstract void writeBytes(ObjectOutput out) throws IOException;
abstract DataInput newDataInput();