Description
The management of file names within Kaha persistence is such that it may create a file with a name that ends up colliding with a file meant for a different, but very close, topic name. The file names are ultimately managed by org/apache/activemq/util/IOHelper.java, which will trim the file name down to a maximum file name size, default of 64. With sufficiently large topic names, it is possible to create a collision with this scheme. Ours is large enough, that even if I push the max to 200 (attempting to stay under the 256 max length in Solaris), I can still get a collision.
What this results in is modifications to a file for two different items and/or consumers, which causes corruption and errors.