Uploaded image for project: 'CDAP'
  1. CDAP
  2. CDAP-12558

Master log should include the container id or similar for each message

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 4.3.0
    • Fix Version/s: None
    • Component/s: Log
    • Labels:
    • Rank:
      1|i007mn:

      Description

      When messages from other containers appear in the master log, we can often not tell where they are from. For example:

      2017-08-24 10:31:32,538 - ERROR [MessagingMetricsCollectionService:s.n.w.p.h.HttpURLConnection$StreamingOutputStream@3501] - Failed in publishing metrics for timestamp 1503588692.
      java.io.IOException: insufficient data written
              at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.close(HttpURLConnection.java:3501)
              at co.cask.common.http.HttpRequests.execute(HttpRequests.java:111)
              at co.cask.cdap.common.internal.remote.RemoteClient.execute(RemoteClient.java:92)
              at co.cask.cdap.messaging.client.ClientMessagingService.performWriteRequest(ClientMessagingService.java:251)
              at co.cask.cdap.messaging.client.ClientMessagingService.publish(ClientMessagingService.java:182)
              at co.cask.cdap.metrics.collect.MessagingMetricsCollectionService$TopicPayload.publish(MessagingMetricsCollectionService.java:134)
              at co.cask.cdap.metrics.collect.MessagingMetricsCollectionService.publishMetric(MessagingMetricsCollectionService.java:102)
              at co.cask.cdap.metrics.collect.MessagingMetricsCollectionService.publish(MessagingMetricsCollectionService.java:97)
              at co.cask.cdap.metrics.collect.AggregatedMetricsCollectionService.publishMetrics(AggregatedMetricsCollectionService.java:133)
              at co.cask.cdap.metrics.collect.AggregatedMetricsCollectionService.run(AggregatedMetricsCollectionService.java:117)
              at com.google.common.util.concurrent.AbstractExecutionThreadService$1$1.run(AbstractExecutionThreadService.java:52)
              at java.lang.Thread.run(Thread.java:745)
      

      Here, we can see the thread name (MessagingMetricsCollectionService), however, a thread with that name is used by every single container CDAP starts, and also by the master. So it is impossible to know where this comes from: the master? one of the cdap services? a program container?

      In addition to the thread name, we also need the program id or container id.

        Attachments

          Activity

            People

            • Assignee:
              shankar Shankar Selvam
              Reporter:
              andreas Andreas Neumann
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: