Sumit Agrawal created HDDS-9879:
-----------------------------------

             Summary: Memory leak handling block and container token in OM
                 Key: HDDS-9879
                 URL: https://issues.apache.org/jira/browse/HDDS-9879
             Project: Apache Ozone
          Issue Type: Bug
            Reporter: Sumit Agrawal
            Assignee: Sumit Agrawal
         Attachments: image-2023-12-08-10-49-39-717.png

OOM is observed for FIXED_BYTESTRING_CACHE consuming approx 22GB of memory. 

!image-2023-12-08-10-49-39-717.png|width=702,height=170!

 
This is called for token converting to proto for: Kind (fixed) and service (its 
either container id and blockId), so service part calling below just adding to 
map consuming memory.
 
setKindBytes(getFixedByteString(tok.getKind())).
setServiceBytes(getFixedByteString(tok.getService()));
 
org.apache.hadoop.ozone.protocolPB.OzonePBHelper#getFixedByteString
public static ByteString getFixedByteString(Text key) \{
    ByteString value = FIXED_BYTESTRING_CACHE.get(key);
    if (value == null) {
      value = ByteString.copyFromUtf8(key.toString());
      ByteString oldValue = FIXED_BYTESTRING_CACHE.putIfAbsent(key, value);
      return oldValue != null ? oldValue : value;
    }
    return value;
  }
 
 Token service is either containerId or blockId, so no need maintain cache for 
this as most of time, this will be unique.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to