[ https://issues.apache.org/activemq/browse/AMQ-611?page=all ]
Hiram Chirino resolved AMQ-611:
-------------------------------
Fix Version: 4.0
Resolution: Fixed
Assign To: Hiram Chirino
This issue should not occur in 4.0 anymore. I highly recommend that you
upgrade.
> Race condition in DataContainer
> -------------------------------
>
> Key: AMQ-611
> URL: https://issues.apache.org/activemq/browse/AMQ-611
> Project: ActiveMQ
> Type: Bug
> Versions: 3.2.2
> Environment: Windows XP Pro. Bug found in 3.1 (but appears to still be in
> 3.2.2)
> Reporter: Steve Bate
> Assignee: Hiram Chirino
> Fix For: 4.0
>
>
> We are seeing a problem with a IOException from the FileDataBlock when
> running with multiple slow clients. It appears to be happening because the
> DataContainer write(byte[]) operation sets the readBlock and writes the data
> block length then data block content. Another thread sees the read block and
> reads the data block length but the write thread has not written the contents
> yet so an IOException or EOFException is thrown in the read thread (in
> readFully). The write method is synchronized but the read method is not.
> See: FileDataBlock.read, FileDataBlock.write, DataContainer.write (line
> 111), and DataContainer.read (line 131)
> I can reproduce the error reliably in a debugger by controlling the order of
> the operations. Unfortunately it's difficult to write a repeatable automated
> test case since this is a race condition type of error.
> Let me know if you need more information.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira