-
Bug
-
Resolution: Done
-
Major
-
EAP_EWP 5.1.0
-
None
-
-
Release Notes
-
Workaround Exists
-
-
-
Documented as Resolved Issue
-
NEW
The Profile Service API (used by the admin console) cannot be used to add farmed deployments,
because it causes a NullPointerException on joining instances preventing them from starting correctly.
Technical info:
When a new node joins the cluster, while copying the farm service contents
org.jboss.ha.timestamp.TimestampDiscrepancyService.getTimestampDiscrepancy compares
timestamps on the servers, using RepositoryItemMetaData.originatingNode as a Map key.
When using the Profile Service API to deploy to the farm service, the RepositoryItemMetaData
about the deployment is incomplete (no originatingNode, no timestamp).
The null originatingNode triggers a NullPointerException in TimestampDiscrepancyService when
the joining node is processing the deployments that were added through the API, causing the
farm service deployment to fail, and the JBoss startup to fail.
16:16:53,586 ERROR [ScopedProfileServiceController] Error installing to Create: name=ProfileKey@27905a42[domain=default, server=default, name=farm] state=Configured mode=On Demand requiredState=Installed
java.lang.reflect.InvocationTargetException
...
Caused by: java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:796)
at org.jboss.ha.timestamp.TimestampDiscrepancyService.getTimestampDiscrepancy(TimestampDiscrepancyService.java:328)
at org.jboss.profileservice.cluster.repository.DefaultSynchronizationPolicy.getTimestampDiscrepancy(DefaultSynchronizationPolicy.java:158)
at org.jboss.profileservice.cluster.repository.DefaultSynchronizationPo
licy.acceptUpdate(DefaultSynchronizationPolicy.java:121)
at org.jboss.system.server.profileservice.repository.clustered.sync.AbstractSynchronizationPolicy.acceptJoinUpdate(AbstractSynchronizationPolicy.java:382)
at org.jboss.system.server.profileservice.repository.clustered.sync.RemoteContentModificationGenerator.checkAllowUpdate(RemoteContentModificationGenerator.java:467)
at org.jboss.system.server.profileservice.repository.clustered.sync.RemoteContentModificationGenerator.handleSimpleModification(RemoteContentModificationGenerator.java:431)
at org.jboss.system.server.profileservice.repository.clustered.sync.AbstractContentModificationGenerator.handleMatch(AbstractContentModificationGenerator.java:137)
at org.jboss.system.server.profileservice.repository.clustered.sync.AbstractContentModificationGenerator.getModificationList(AbstractContentModificationGenerator.java:222)
at org.jboss.system.server.profileservice.repository.clustered.sync.AbstractContentModificationGenerator.getModificationList(AbstractContentModificationGenerator.java:78)
at org.jboss.profileservice.cluster.repository.DefaultRepositoryClusteringHandler$RpcTarget.joinSynchronizeContent(DefaultRepositoryClusteringHandler.java:970)
...