[ 
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

Reply via email to