Write clear text data into ZK znodes
Writing in clear text format into ZK znodes helps with
debugging when cross checking ZK data with Gerrit logs
is required.
Change-Id: Id97e3ebd5cebb56d95a031b10218a3582be1bc24
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabase.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabase.java
index b02db38..97f6be5 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabase.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabase.java
@@ -18,9 +18,8 @@
import com.google.common.flogger.FluentLogger;
import com.google.inject.Inject;
import com.googlesource.gerrit.plugins.multisite.validation.dfsrefdb.SharedRefDatabase;
-import java.io.ByteArrayOutputStream;
-import java.io.DataOutputStream;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import javax.inject.Named;
import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
@@ -32,10 +31,6 @@
public class ZkSharedRefDatabase implements SharedRefDatabase {
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
- private static final byte[] ZEROS_OBJECT_ID = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
-
private final CuratorFramework client;
private final RetryPolicy retryPolicy;
@@ -97,17 +92,10 @@
}
static ObjectId readObjectId(byte[] value) {
- return ObjectId.fromRaw(value);
+ return ObjectId.fromString(value, 0);
}
- static byte[] writeObjectId(ObjectId value) throws IOException {
- if (value == null) {
- return ZEROS_OBJECT_ID;
- }
-
- final ByteArrayOutputStream out = new ByteArrayOutputStream();
- final DataOutputStream stream = new DataOutputStream(out);
- value.copyRawTo(stream);
- return out.toByteArray();
+ static byte[] writeObjectId(ObjectId value) {
+ return ObjectId.toString(value).getBytes(StandardCharsets.US_ASCII);
}
}