clebert, I have added tests which show the failure using either JMX or JMS to create the queue.
The issue is that the record to persist the destination is not written to the hornetq-jms files (even though we write the bytes to the file's channel).
While looking at the code, I realized that the methods in JMSServerManagerImpl all call clearIO() and blockOnIO().
These methods waits for completion on HornetQServer.getStorageManager(). But when JMS resources are created/deleted, we also use JMSServerManager's own JMSJournalStorageManager. I suppose we should also wait completion on this storage manager too (there is no methods to expose this at the moment).
Jeff fixed it:
https://jira.jboss.org/browse/HORNETQ-503
It was associated with the size, there was a bug with the encoding to the journal, and the record was being missing.
Right now is committed at the Branch_2_1
svn co http://anonsvn.jboss.org/repos/hornetq/branches/Branch_2_1/
cd Branch_2_1
./build.sh distro
I'm working on a release for the next few days. You can build it yourself if you can't wait.
Awesome. Thanks guys