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

Simplify config topic/collection mapping and validation

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 0.1
    • Affects Version/s: None
    • Component/s: None
    • None

      Currently mapping is confusing:

      #Kafka topics to consume from
      topics=foo-t,blah-t
      
      #MongoDB collections to write to
      mongodb.collections=foo-c,blah-c
      
      #Named topic <-> collection mappings
      mongodb.collection.foo-t=foo-c
      mongodb.collection.blah-t=blah-c
      
      
      # specific processing settings for topic 'foo-t' -> collection 'foo-c'
      mongodb.document.id.strategy.foo-c=c.m.k.c.processor.id.strategy.UuidStrategy
      mongodb.post.processor.chain.foo-c=c.m.k.c.processor.DocumentIdAdder,c.m.k.c.processor.BlacklistValueProjector
      mongodb.value.projection.type.foo-c=blacklist
      mongodb.value.projection.list.foo-c=k2,k4 
      mongodb.max.batch.size.foo-c=100
      

      Theres a disconnect:

      #MongoDB collections to write to
      mongodb.collections=foo-c,blah-c
      
      # topic <-> collection mapping
      mongodb.collection.<*topicName*>=<collectionName>
      
      # topic <-> collection overrides
      mongodb.<configuration>.<*collectionName*>=someValue
      

      I propose simplifying the configuration, so to do without mongodb.collections. I also propose making the configuration topic centric rather than collection - as topics are required.

      topics=foo-t,blah-t
      
      # specific processing settings for topics
      mongodb.overrides.<topicName>.<config>=someValue
      

      Everything apart from the topics list and the connection String can be overridden at a topic level.

            Assignee:
            ross@mongodb.com Ross Lawley
            Reporter:
            ross@mongodb.com Ross Lawley
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: