AMQ Replica LevelDB cluster does not replicate VirtualTopic Subscriber's selector expression. So on consumer disconnect followed by failover, new master does not have consumer's selector expression. It causes consumer to miss messages published during its offline duration.
Steps to reproduce:
1. consumer subscribes (JMSSelector filter)
2. producer publishes
3. consumer consumes
4. consumer disconnects (offline)
5. Activemq failover occurs (new master gets elected)
6. producer publishes
7. consumer reconnects ( missed messages during offline period)
I poked around SelectorAware cache code. It persists selector cache to local filesystem, that never gets replicated to slave nodes.
Possible solution is to persists subscription info to leveldb, so that it gets replicated.