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

Use per-task converters in Connect

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.11.0.0
    • 1.0.0
    • connect
    • None

    Description

      Because Connect started with a worker-wide model of data formats, we currently allocate a single Converter per worker and only allocate an independent one when the user overrides the converter.

      This can lead to performance problems when the worker-level default converter is used by a large number of tasks because converters need to be threadsafe to support this model and they may spend a lot of time just on synchronization.

      We could, instead, simply allocate one converter per task. There is some overhead involved, but generally it shouldn't be that large. For example, Confluent's Avro converters will each have their own schema cache and have to make their on calls to the schema registry API, but these are relatively small, likely inconsequential compared to any normal overhead we would already have for creating and managing each task.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ewencp Ewen Cheslack-Postava
              Ewen Cheslack-Postava Ewen Cheslack-Postava
              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