[ 
https://issues.apache.org/jira/browse/AMQ-7453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17264723#comment-17264723
 ] 

Anton Roskvist commented on AMQ-7453:
-------------------------------------

Well, for my part I have different settings for some different use cases, but 
it would be something like this:



Broker-1
<networkConnectors>
  <networkConnector
    name="From-broker-1-to-broker-2"
    userName="super"
    password="secret"
    uri="static:(tcp://broker-2:61616)"
    messageTTL="5"
    prefetchSize="10"
    advisoryPrefetchSize="1000"
    suppressDuplicateQueueSubscriptions="true"
    decreaseNetworkConsumerPriority="true"
    bridgeTempDestinations="false">
  </networkConnector>
</networkConnectors>

Broker-2
<networkConnectors>
  <networkConnector
    name="From-broker-2-to-broker-1"
    userName="super"
    password="secret"
    uri="static:(tcp://broker-1:61616)"
    messageTTL="5"
    prefetchSize="10"
    advisoryPrefetchSize="1000"
    suppressDuplicateQueueSubscriptions="true"
    decreaseNetworkConsumerPriority="true"
    bridgeTempDestinations="false">
  </networkConnector>
</networkConnectors>

 

This is the Simplex setup that has the same issue I mentioned, I see the issue 
regardless of what network connector configuration options I use though, the 
common denominator seems to be the mKahaDB

 

Br,

Anton

> 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
>            Assignee: Jean-Baptiste Onofré
>            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 (as 
> described here: [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 (configuration allows 
> to run both brokers on same PC):
>  * local broker config: [^local-activemq.xml]
>  * remote broker *bad* config and log (delete inactive dest. + mKahaDB + 
> perDestination="true"): [^bad-remote-activemq.xml] , [^bad-remote-wrapper.log]
>  * remote broker *good* config and log (delete inactive dest. + kahaDB): 
> [^good-remote-activemq.xml] , [^good-remote-wrapper.log]
>  
> *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: [^bad-activemq.debug.log]
> 8. Problem disappears if remote broker is restarted, but comes back whenever 
> inactive destinations are purged once again: [^bad-activemq-restart.debug.log]
>  
> *Some observations*
> The main difference I see in logs (good vs bad situation), that in bad 
> situation 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)

Reply via email to