Matthew Zipay created KARAF-5798:
------------------------------------
Summary: 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-instance
Affects Versions: 4.0.9
Reporter: Matthew Zipay
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)