[
https://issues.apache.org/jira/browse/VYSPER-342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13685499#comment-13685499
]
Mikko Multanen commented on VYSPER-342:
---------------------------------------
CharsetDecoder and CharsetEncoder are not thread safe so to avoid concurrency
issues I used thread locals. This way each thread gets it's own decoder and
encoder. Synchronizing UTF8.newDecoder() does not prevent two threads calling
decoder.decode at the same time, which was the original issue. If you like to
use synchronization then all calls to decoder.decode and encoder.encode should
be in synchronized blocks.
> Access to UTF-8 encoding and decoding is not thread safe
> --------------------------------------------------------
>
> Key: VYSPER-342
> URL: https://issues.apache.org/jira/browse/VYSPER-342
> Project: VYSPER
> Issue Type: Bug
> Components: core protocol
> Affects Versions: 0.8
> Reporter: Mikko Multanen
> Attachments: fix_charset_util.patch
>
>
> Bug was found when testing server with several simultaneous clients
> connecting at the same time. CharsetDecoder would throw IllegalStateException
> and Stanza XML parsing would fail.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira