Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
2.4.0
-
None
Description
The following NullPointerException can occur intermittently in the LogSearch integration code in the Ambari REST layer:
java.lang.NullPointerException at org.apache.ambari.server.controller.logging.LogSearchDataRetrievalService.getLogFileTailURI(LogSearchDataRetrievalService.java:159) at org.apache.ambari.server.controller.logging.LoggingSearchPropertyProvider.populateResources(LoggingSearchPropertyProvider.java:92) at org.apache.ambari.server.controller.internal.ClusterControllerImpl.populateResources(ClusterControllerImpl.java:155) at org.apache.ambari.server.api.query.QueryImpl.queryForSubResources(QueryImpl.java:500) at org.apache.ambari.server.api.query.QueryImpl.queryForSubResources(QueryImpl.java:503) at org.apache.ambari.server.api.query.QueryImpl.queryForResources(QueryImpl.java:454) at org.apache.ambari.server.api.query.QueryImpl.execute(QueryImpl.java:222) at org.apache.ambari.server.api.handlers.ReadHandler.handleRequest(ReadHandler.java:77) at org.apache.ambari.server.api.services.BaseRequest.process(BaseRequest.java:145) at org.apache.ambari.server.api.services.BaseService.handleRequest(BaseService.java:126) at org.apache.ambari.server.api.services.BaseService.handleRequest(BaseService.java:90) at org.apache.ambari.server.api.services.ClusterService.getCluster(ClusterService.java:91) at sun.reflect.GeneratedMethodAccessor255.invoke(Unknown Source)
While the code that calls the LogSearchDataRetrievalService already has a check to determine if the LoggingRequestHelper is available (non-null), there is a change that a service might be stopped or crashes unexpected in between the initial check and this call.
This is usually an intermittent exception.
The LogSearchDataRetrievalService should be updated to include a check for null when attempting to access the LoggingRequestHelper implementation.
I'm working on a fix for this, and will be submitting a patch shortly.
Attachments
Attachments
Issue Links
- links to