cshannon opened a new pull request, #2165: URL: https://github.com/apache/activemq/pull/2165
This fixes a bug in `FilePendingMessageCursor` that could cause the temporary store to exceed 100% usage. The cursor now properly checks the temporary usage limits when writing messages from memory to the temporary store. If the store is full, messages are now discarded and a discarded advisory will be fired (if enabled) and the messages will be DLQ'd if the `processNonPersistent` flag is true. This commit also fixes an issue with Topic subs possibly sending expired messages to the DLQ twice which was noticed while working on this fix. While not a common scenario, previously it was possible to blow past the limits for the temporary store because FilePendingMessageCursor did not check if usage was 100%. This could happen if there was a small temporary store configured, or just simply a lot of destinations using temporary usage. In the worst case scenario this could mean filling up a partition and causing an IO exception and broker crash, best case it would still be bad because it uses up disk space meant for persistent messaging. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information, visit: https://activemq.apache.org/contact
