Yan Zhao created ZOOKEEPER-4718: ----------------------------------- Summary: Removing unnecessary heap memory allocation in serialization can help reduce GC pressure. Key: ZOOKEEPER-4718 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4718 Project: ZooKeeper Issue Type: Improvement Components: server Affects Versions: 3.8.1 Reporter: Yan Zhao Fix For: 3.8.2
In SerializeUtils#serializeRequest, before serializing the request, it always allocates 32 byte array. It's unnecessary; we can allocate the byte array in the catch code block. {code:java} public static byte[] serializeRequest(Request request) { if (request == null || request.getHdr() == null) { return null; } byte[] data = new byte[32]; try { data = Util.marshallTxnEntry(request.getHdr(), request.getTxn(), request.getTxnDigest()); } catch (IOException e) { LOG.error("This really should be impossible", e); } return data; } {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)