[ https://issues.apache.org/jira/browse/KARAF-5798?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16532825#comment-16532825 ]
Guillaume Nodet commented on KARAF-5798: ---------------------------------------- Currently, the {{InstanceService}} does not have any knowledge about master/slave configurations. So the pid written by `InstanceHelper.updateInstancePid` should reflect the current running master, and that should be called after grabbing the lock, while the `writePid` could be called sooner. And I agree about the `getPid` being called from both `updateInstancePid` and `writePid`. > Karaf slave instance does not write pid or port file until it becomes master > ---------------------------------------------------------------------------- > > Key: KARAF-5798 > URL: https://issues.apache.org/jira/browse/KARAF-5798 > Project: Karaf > Issue Type: Bug > Components: karaf-boot > Affects Versions: 4.0.9 > Reporter: Matthew Zipay > Assignee: Jean-Baptiste Onofré > Priority: Major > > In a Karaf master/slave environment, the slave process does not write its pid > or port file until it acquires the lock and becomes the master. > I am running Karaf 4.0.9 (ServiceMix 7.0.1). > Karaf is configured as master/slave using the following from > system.properties. Master and slave are on different physical nodes. > {code:java} > karaf.lock=true > karaf.lock.class=org.apache.karaf.main.lock.OracleJDBCLock > karaf.lock.level=79 > karaf.lock.delay=10000 > karaf.lock.jdbc.url=jdbc:oracle:thin:#REMOVED# > karaf.lock.jdbc.driver=oracle.jdbc.driver.OracleDriver > karaf.lock.jdbc.user=#REMOVED# > karaf.lock.jdbc.password=#REMOVED# > karaf.lock.jdbc.table=KARAF_LOCK > karaf.lock.jdbc.clustername=karaf > karaf.lock.jdbc.timeout=30 > karaf.lock.slave.block=false > {code} > Attempting to stop the slave Karaf process results in _"Can't connect to the > container. The container is not running."_ This is not true, as a simple {{ps > -ef | grep karaf}} confirms that it is in fact running. I am able to enter > the Karaf shell just fine, use the web console, etc. > I have confirmed through multiple tests that the pid and port files don't get > written until the master lock is acquired. > Steps: > # With the Karaf slave node not started, note the pid and port files do not > exist (or contain outdated values from a previous process). > # Start the Karaf slave process. > # Note that the pid and port files have not been written. > # Stop the master process. > # Observe the slave process acquire the lock and become master. > # Note that the pid and port files have now been written. -- This message was sent by Atlassian JIRA (v7.6.3#76005)