Uploaded image for project: 'Ambari'
  1. Ambari
  2. AMBARI-17758

LogSearch Integration NullPointerException when LogSearch connection not available

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 2.4.0
    • 2.4.0
    • ambari-server
    • 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

        1. AMBARI-17758.patch
          18 kB
          Bob Nettleton

        Issue Links

          Activity

            People

              rnettleton Bob Nettleton
              rnettleton Bob Nettleton
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 24h
                  24h
                  Remaining:
                  Remaining Estimate - 24h
                  24h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified