[ https://issues.apache.org/jira/browse/THRIFT-2218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13826608#comment-13826608 ]
Andrew Pennebaker commented on THRIFT-2218: ------------------------------------------- > Make them thread safe by simply *not* sharing the state in the first place > (construct a new ByteArrayOutputStream each time the method is called) This one. Java should throw away the ByteArrayOutputStream when it's no longer needed. > Make java TSerializer and TDeserializer thread safe > --------------------------------------------------- > > Key: THRIFT-2218 > URL: https://issues.apache.org/jira/browse/THRIFT-2218 > Project: Thrift > Issue Type: Improvement > Components: Java - Library > Reporter: Alex Levenson > Assignee: Jake Farrell > Attachments: TSerDe-thread-safe.diff > > > They currently are not thread safe, though it seems that many people assume > incorrectly that they are. > This patch puts the shared mutable state used by TSerializer / TDeserializer > in a ThreadLocal object so that it is safe to share instances of TSerializer > / TDeserializer across threads. > I've attached the patch, and you can view it in github here as well: > https://github.com/isnotinvain/thrift/compare/TSerDe-thread-safe -- This message was sent by Atlassian JIRA (v6.1#6144)