> 1. Download the 5.13.1 source code (via a sources JAR or Git). > 2. In your debugger, set a breakpoint on the catch block in > DataFileAccessor.readRecord (). > 3. Attach a debugger to the broker when starting it (use suspend=y > since > this is occurring during initialization). > 4. When you hit the breakpoint, use the Drop To Frame feature (in > Eclipse, or similar in whatever debugger you're using) to return to the > beginning of the method, then step through again to confirm that the > initializer of the data local variable is the problem. If it is, you'll > find that location.getSize() is less than 5, and the question will be > "why?"
I tried the above. My kahadb consists of "db-29.log" to "db-531.log".(reached the store limit of 10GB) I set breakpoint at DataFileAccessor.readRecord. First, "db-512.log" is read and the location size is "9188". Next, "db-531.log" is read and the location size is "0". Alos I checked "db-531.log" using the amq-kahadb-tool. https://github.com/Hill30/amq-kahadb-tool The result is below. ----------------------------------------------------------------------- Command statistics: - Topics: 0 (messages: 0, +subscriptions: 0, -subscription: 0). - Queues: 0 (messages: 0). - Other messages: 511. Commands: + CmdType: KAHA_ACK_MESSAGE_FILE_MAP_COMMAND (Count: 511, TotalSize: 10.95 MB (11478593), ~AvrgSize: 21.94 KB (22463), LastBigSize: 21.94 KB (22463), LastSize: 21.94 KB (22463)) All commands: 511 (Total size: 10.95 MB (11478593). ----------------------------------------------------------------------- -- Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html