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)

Reply via email to