-
Bug
-
Resolution: Done
-
Major
-
jboss-fuse-6.2.1
-
None
-
%
-
Fabric HTTP Gateway causes "java.lang.IllegalStateException: Cannot obtain profile read lock in time" error. Here is snippet of the error stack trace:
2020-02-21 11:24:53,510 | ERROR | MCF-1-thread-1 | gateway-fabric | 226 - io.fabric8.gateway-fabric - 1.2.0.redhat-621222 | [io.fabric8.gateway.http.mapping(76)] The activate method has thrown an exception java.lang.IllegalStateException: Cannot obtain profile read lock in time at io.fabric8.api.gravia.IllegalStateAssertion.assertTrue(IllegalStateAssertion.java:55) at io.fabric8.git.internal.GitDataStoreImpl.aquireReadLock(GitDataStoreImpl.java:455) at io.fabric8.git.internal.GitDataStoreImpl.getVersionFromCacheRO(GitDataStoreImpl.java:510) at io.fabric8.git.internal.GitDataStoreImpl.getVersionFromCache(GitDataStoreImpl.java:502) at io.fabric8.git.internal.GitDataStoreImpl.getVersion(GitDataStoreImpl.java:668) at io.fabric8.internal.ProfileServiceImpl.getVersion(ProfileServiceImpl.java:126) at io.fabric8.internal.ContainerImpl.getVersion(ContainerImpl.java:199) at io.fabric8.gateway.fabric.http.FabricHTTPGateway.getGatewayVersion(FabricHTTPGateway.java:201) at io.fabric8.gateway.fabric.http.HttpMappingRuleConfiguration.updateConfiguration(HttpMappingRuleConfiguration.java:180) at io.fabric8.gateway.fabric.http.HttpMappingRuleConfiguration.activate(HttpMappingRuleConfiguration.java:111)
It seems that there are some places relating to profile read lock:
FabricCxfRegistrationHandler.java
FabricWebRegistrationHandler.java
FabricHTTPGateway.java
The JIRA ENTESB-11755 fixed the issue with Fabric CXF registration handler, but it seems that we need to fix other places listed above.