Kafka
  1. Kafka
  2. KAFKA-891

Replica fetcher thread should identify its host,port in the client id

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 0.8.0
    • Fix Version/s: None
    • Component/s: replication
    • Labels:

      Description

      Replica fetcher thread uses the leader's broker id in the client id that it sets to send requests to the leader. But it is much more convenient to look at the client id and know which replica sent the request to the leader. This is especially important when looking at the request log for troubleshooting replica fetch lag, as an example

        Activity

        Neha Narkhede created issue -
        Neha Narkhede made changes -
        Field Original Value New Value
        Description Replica fetcher thread uses the leader's broker id in the client id that it sets to send requests to the leader. But it is much more convenient to look at the client id and know which replica sent the request to the leader. This is especially important when looking at the request log for troubleshooting replica fetch lag, as an example
        Neha Narkhede made changes -
        Labels kafka-0.8
        Hide
        Jay Kreps added a comment -

        The idea of the client id is really to identify an application. The host/port should be available in the server from the connection, right?

        Show
        Jay Kreps added a comment - The idea of the client id is really to identify an application. The host/port should be available in the server from the connection, right?
        Jay Kreps made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Neha Narkhede added a comment -

        Right, the idea of client id is to identify the application. In this case, it is the replica that sends fetch requests to the leader. The question is what is the best way to identify a replica? It can either be the replica's brokerid or host and port. That is what I filed the JIRA for. Currently, the logs are still unreadable since the replicas identify themselves as replica-<leader_id>. So it is difficult to tell one replica from the other

        Show
        Neha Narkhede added a comment - Right, the idea of client id is to identify the application. In this case, it is the replica that sends fetch requests to the leader. The question is what is the best way to identify a replica? It can either be the replica's brokerid or host and port. That is what I filed the JIRA for. Currently, the logs are still unreadable since the replicas identify themselves as replica-<leader_id>. So it is difficult to tell one replica from the other

          People

          • Assignee:
            Neha Narkhede
            Reporter:
            Neha Narkhede
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development