Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-736

Add an option to the 0.8 producer to mimic 0.7 producer behavior

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 0.8.0
    • None
    • producer

    Description

      I profiled a producer throughput benchmark between a producer and a remote broker. It turns out that the background send threads spends ~97% of its time waiting to read the acknowledgement from the broker.

      I propose we change the current behavior of request.required.acks=0 to mean no acknowledgement from the broker. This will mimic the 0.7 producer behavior and will enable tuning the producer for very high throughput.

      Attachments

        1. check-message-ordering.py
          2 kB
          Neha Narkhede
        2. kafka-736-draft.patch
          38 kB
          Neha Narkhede
        3. kafka-736-draft-producer-latency-20threads-acks1.out
          2 kB
          Neha Narkhede
        4. kafka-736-v1.patch
          32 kB
          Neha Narkhede
        5. kafka-736-v2.patch
          47 kB
          Neha Narkhede
        6. kafka-736-v3.patch
          72 kB
          Neha Narkhede
        7. kafka-736-v3-producer-latency-20threads-acks1.out
          2 kB
          Neha Narkhede
        8. kafka-736-v4.patch
          48 kB
          Neha Narkhede

        Issue Links

          Activity

            People

              nehanarkhede Neha Narkhede
              nehanarkhede Neha Narkhede
              Votes:
              1 Vote for this issue
              Watchers:
              6 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