activemq icon indicating copy to clipboard operation
activemq copied to clipboard

[AMQ-8354] Add helper methods needed for replica plugin.

Open NikitaShupletsov opened this issue 2 years ago • 0 comments

AMQ-8354

extracted internal changes from https://github.com/apache/activemq/pull/848 to make it easier to review.

Added some new methods that will be used only in replica plugin. Updated processDispatchNotification and related methods to work correctly(it's not been used since pure master-slave feature was deleted). it will also be used in the plugin

List of changes:

  • made ConnectionContext#setUserName to be able to differentiate replication context(the context we use to interact with the broker) from every other to prevent replication of replicated events. ( shouldn't impact the broker)
  • added queuePurged method to notify about a queue being purged. needed for queue purge replication. (new method, it shouldn't impact the broker anyhow)
  • added getDispatched method to be able to fetch the list of message we are acknowledging, so we can correctly replicate acks(new method, it shouldn't impact the broker anyhow)
  • added getMatchingMessages method to be able to get messages by selector when the consumer is full. needed for message compaction(new method, it shouldn't impact the broker anyhow)
  • changes in processDispatchNotification, getMatchingMessage and processMessageDispatchNotification to be able to replicate acks correctly. basically a bug fix. (it's not been used since pure master-slave feature was deleted. it shouldn't impact the broker anyhow)

NikitaShupletsov avatar Jan 10 '23 20:01 NikitaShupletsov