[
https://issues.apache.org/jira/browse/AMQ-7453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Anthony Kocherov updated AMQ-7453:
----------------------------------
Attachment: bad-activemq-restart.debug.log
> Duplex networkConnector failure with mKahaDB after inactive destinations
> deleted
> --------------------------------------------------------------------------------
>
> Key: AMQ-7453
> URL: https://issues.apache.org/jira/browse/AMQ-7453
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker, KahaDB
> Affects Versions: 5.15.12
> Environment: Windows 10 Home 64-bit
> Java 1.8.0_45-b14
> ActiveMQ 5.15.12
> Reporter: Anthony Kocherov
> Priority: Major
> Attachments: bad-activemq-restart.debug.log, bad-activemq.debug.log,
> bad-remote-activemq.xml, bad-remote-wrapper.log, good-remote-activemq.xml,
> good-remote-wrapper.log, local-activemq.xml
>
>
> Cannot re-establish duplex network connection on remote broker with following
> error:
> {noformat}
> INFO | jvm 1 | 2020/03/21 14:41:32 | ERROR | Failed to create responder end
> of duplex network bridge Q-bridge@ID:LHC-59471-1584794492297-0:1
> INFO | jvm 1 | 2020/03/21 14:41:32 | java.lang.IllegalStateException:
> PageFile is not loaded
> INFO | jvm 1 | 2020/03/21 14:41:32 | at
> org.apache.activemq.store.kahadb.disk.page.PageFile.assertLoaded(PageFile.java:906)[activemq-kahadb-store-5.15.12.jar:5.15.12]
> ...{noformat}
> Remote broker is configured to [delete inactive
> destinations|https://activemq.apache.org/delete-inactive-destinations.html]
> and uses mKahaDB persistence adapters for different destinations [Automatic
> Per Destination Persistence Adapter|https://activemq.apache.org/kahadb].
> Same setup, but single kahaDB persistence adapter on remote broker is not
> causing the issue.
> See attached files for detailed configuration and logs.
>
> *Use case*
> Simulate network connection loss and then re-establish duplex communication
> after remote broker destinations were purged due to inactivity:
> 1. clean installation of
> [apache-activemq-5.15.12-bin.zip|https://activemq.apache.org/components/classic/download/]
> 2. start remote broker
> 3. start local broker
> 4. destination queue created automatically on remote (active consumer from
> local broker is also shown correctly in web-console)
> 5. stop local broker
> 6. wait for a while until destination is deleted on remote due to inactivity
> 7. start local broker again
> Steps 6.-7. can be repeated multiple times with the same result. However, if
> required queue is created through web-console on remote broker, duplex bridge
> establishes successfully, but as soon as destination is purged, problem
> repeats.
> See debug log for described use case here: [^bad-activemq.debug.log]
>
> *Some observations*
> The main difference I see in logs (good vs bad situation), that in bad
> situtation (mKahaDB + perDestination="true") following messages appear after
> inactive destinations deleted:
> {noformat}
> INFO | jvm 1 | 2020/03/22 11:51:20 | INFO | Stopping async queue tasks
> INFO | jvm 1 | 2020/03/22 11:51:20 | INFO | Stopping async topic tasks
> INFO | jvm 1 | 2020/03/22 11:51:20 | INFO | Stopped KahaDB{noformat}
> Since this moment local broker cannot establish duplex connection any more,
> and it doesn't matter which destinations have been purged – with the same
> name (App.Data) or any other. Also it doesn't matter whether local broker
> already had any successful communication with the remote. As soon as these
> messages appear, broker cannot "create responder end of duplex network
> bridge" because of "PageFile is not loaded".
> When I try to do the same with single kahadb instance, these messages do not
> appear and no such problem.
>
> *Links*
> Original discussion here:
> [http://activemq.2283324.n4.nabble.com/Duplex-networkConnector-error-with-mKahaDB-after-inactive-destinations-deleted-td4755827.html]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)