The lock file in ActiveMQ is not referenced correctly
-----------------------------------------------------

                 Key: GERONIMO-5987
                 URL: https://issues.apache.org/jira/browse/GERONIMO-5987
             Project: Geronimo
          Issue Type: Bug
      Security Level: public (Regular issues)
          Components: ActiveMQ
    Affects Versions: 3.0
         Environment: Linux x86, Red Hat Enterprise Linux Server release 5.4 
(Tikanga)
            Reporter: Russell E Glaue


I am testing with geronimo-tomcat7-javaee6-web-3.0-SNAPSHOT, 
geronimo-tomcat7-javaee6-web-3.0-20110523.171218-97

ActiveMQ is configured to run as "org.apache.geronimo.home.dir/var/activemq" , 
and does not cooperate with multi-server configurations. This is the use of the 
"org.apache.geronimo.server.name" option. (see: 
https://cwiki.apache.org/GMOxDOC30/running-multiple-geronimo-instances.html)

When wanting to run more than a single server instance, the ActiveMQ startup 
will block waiting for the lock file "$GERONIMO_HOME/var/activemq/lock" to 
become available.

Obviously this causes any server instance started after the first server 
instance is started to block during startup while waiting for the lock file to 
become available.


Steps to repeat:

1. Download and unpack G3.0 SNAPSHOT (3.0-20110523 tested)

2. Create the server instances:
-- 2A. cd ${GERONIMO_HOME}
-- 2B-1. mkdir gserver1
-- 2B-2. cp -rp var gserver1/
-- 2B-3. cp -rp etc gserver1/
-- 2B-4. cp -rp repository gserver1/
-- 2C-1. mkdir gserver1
-- 2C-2. cp -rp var gserver1/
-- 2C-3. cp -rp etc gserver1/
-- 2C-4. cp -rp repository gserver1/

-- (the "deploy:new-server-instance" only does step 1 and 2, create base
directory and var/ directory, you still have to manually copy/create etc and
repository)

3. update the "PortOffset" parameter in 
var/config/config-substitutions.properties in each instance

4. Start the server instances:
-- env GERONIMO_OPTS=-Dorg.apache.geronimo.server.name=server1 bin/startup
-- env GERONIMO_OPTS=-Dorg.apache.geronimo.server.name=server2 bin/startup

5. `tail -f server2/var/logs/geronimo.log` and you will see this as the last 
line that outputs:
"2011-05-31 16:26:39,609 WARN  [AMQPersistenceAdapter] Waiting to Lock the 
Store var/activemq"
The server waits here indefinitely.

6. Shutdown the "server1" instance and you will see the "server2" instance 
continue on in the startup procedures.

* When I first start the "server1" instance, the directory 
"$org.apache.geronimo.home.dir/var/activemq" is created and populated. Instead 
it should be 
"org.apache.geronimo.home.dir/org.apache.geronimo.server.name/var/activemq" 
that is created and populated.
* Probably the patch should be to reference the ActiveMQ working directory as 
"org.apache.geronimo.server.dir/var/activemq"


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to