*/
package org.opendaylight.controller.cluster.datastore.persisted;
+import com.google.common.base.Throwables;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
import java.io.DataInput;
import java.io.IOException;
import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Payload persisted when a transaction is aborted. It contains the transaction identifier.
}
}
+ private static final Logger LOG = LoggerFactory.getLogger(AbortTransactionPayload.class);
private static final long serialVersionUID = 1L;
AbortTransactionPayload(final TransactionIdentifier transactionId, final byte[] serialized) {
super(transactionId, serialized);
}
- public static AbortTransactionPayload create(final TransactionIdentifier transactionId) throws IOException {
+ public static AbortTransactionPayload create(final TransactionIdentifier transactionId) {
final ByteArrayDataOutput out = ByteStreams.newDataOutput();
- transactionId.writeTo(out);
+ try {
+ transactionId.writeTo(out);
+ } catch (IOException e) {
+ // This should never happen
+ LOG.error("Failed to serialize {}", transactionId, e);
+ throw Throwables.propagate(e);
+ }
return new AbortTransactionPayload(transactionId, out.toByteArray());
}