diff options
Diffstat (limited to 'zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.java')
-rw-r--r-- | zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.java | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.java index 2f24347b7..240936956 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumZooKeeperServer.java @@ -20,7 +20,6 @@ package org.apache.zookeeper.server.quorum; import java.io.IOException; import java.io.PrintWriter; -import java.nio.ByteBuffer; import java.util.Objects; import java.util.function.BiConsumer; import java.util.stream.Collectors; @@ -32,10 +31,12 @@ import org.apache.zookeeper.ZooDefs.OpCode; import org.apache.zookeeper.metrics.MetricsContext; import org.apache.zookeeper.proto.CreateRequest; import org.apache.zookeeper.server.Request; +import org.apache.zookeeper.server.RequestRecord; import org.apache.zookeeper.server.ServerMetrics; import org.apache.zookeeper.server.ZKDatabase; import org.apache.zookeeper.server.ZooKeeperServer; import org.apache.zookeeper.server.persistence.FileTxnSnapLog; +import org.apache.zookeeper.txn.CreateSessionTxn; /** * Abstract base class for all ZooKeeperServers that participate in @@ -76,8 +77,7 @@ public abstract class QuorumZooKeeperServer extends ZooKeeperServer { } if (OpCode.multi == request.type) { - MultiOperationRecord multiTransactionRecord = new MultiOperationRecord(); - request.readRequestRecord(multiTransactionRecord); + MultiOperationRecord multiTransactionRecord = request.readRequestRecord(MultiOperationRecord::new); boolean containsEphemeralCreate = false; for (Op op : multiTransactionRecord) { if (op.getType() == OpCode.create || op.getType() == OpCode.create2) { @@ -93,8 +93,7 @@ public abstract class QuorumZooKeeperServer extends ZooKeeperServer { return null; } } else { - CreateRequest createRequest = new CreateRequest(); - request.readRequestRecord(createRequest); + CreateRequest createRequest = request.readRequestRecord(CreateRequest::new); CreateMode createMode = CreateMode.fromFlag(createRequest.getFlags()); if (!createMode.isEphemeral()) { return null; @@ -116,9 +115,8 @@ public abstract class QuorumZooKeeperServer extends ZooKeeperServer { synchronized (upgradeableSessionTracker) { if (upgradeableSessionTracker.isLocalSession(sessionId)) { int timeout = upgradeableSessionTracker.upgradeSession(sessionId); - ByteBuffer to = ByteBuffer.allocate(4); - to.putInt(timeout); - return new Request(null, sessionId, 0, OpCode.createSession, to, null); + CreateSessionTxn txn = new CreateSessionTxn(timeout); + return new Request(null, sessionId, 0, OpCode.createSession, RequestRecord.fromRecord(txn), null); } } return null; |