JIRA 7.6.X Only One Node Will Start in Cluster
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
This article applies to to Jira Data Center documentation and is not relevant for a standard JIRA installation.
Problem
After successfully starting one node in the Cluster, Node 2 fails to startup with the following stack trace in atlassian-jira.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
localhost-startStop-1 ERROR [c.a.jira.upgrade.PluginSystemLauncher] A fatal error occured during initialisation. JIRA has been locked.
com.atlassian.jira.InfrastructureException: Error occurred while starting Plugin Manager. Unable to resolve component: interface com.atlassian.plugin.SplitStartupPluginSystemLifecycle
...
at com.atlassian.jira.cluster.distribution.JiraCacheManagerPeerProvider.lambda$wrapCachePeer$4(JiraCacheManagerPeerProvider.java:112)
Caused by: java.rmi.NoSuchObjectException: no such object in table
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:162)
at net.sf.ehcache.distribution.RMICachePeer_Stub.getName(Unknown Source)
Diagnosis
Environment
Mulit-node cluster JIRA Data Center
Cause
There is most likely something in the setenv.sh that is setting the hostname to something that isn't resolvable outside the node
example:
1
-Djava.rmi.server.hostname=localhost
⚠️-Djava.rmi.server.hostname
sets the hostname the JVM will use for RMI operations, and it overrides the setting ehcache.listener.hostName
. However, JIRA will still detect its hostname during startup and store it on the database table clusternode; this discovery process does not take the value of -Djava.rmi.server.hostname
in consideration. Make sure the value of -Djava.rmi.server.hostname
matches the value of ip
in the database table clusternode
, or that ehcache.listener.hostName
in JIRA_LOCAL_HOME/cluster.properties
matches the value of -Djava.rmi.server.hostname
. Failure to do so might result in failed cluster cache replication.
Solution
Resolution
Remove the offending input or set it to the machine's IP address or the hostname:
-Djava.rmi.server.hostname=xxx.xxx.xxx
So you must either remove the -Djava.rmi.server.hostname= or set it to something resolvable.
⚠️ JIRA must be restarted for this change to take effect.
Was this helpful?