Parth Brahmbhatt created STORM-631:
--------------------------------------

             Summary: Simplifying kafka connector code
                 Key: STORM-631
                 URL: https://issues.apache.org/jira/browse/STORM-631
             Project: Apache Storm
          Issue Type: Bug
          Components: storm-kafka
            Reporter: Parth Brahmbhatt
            Assignee: Parth Brahmbhatt


The current kafka connector was written when kafka did not support any APIs to 
expose its internal structures. We already have STORM-590 to modify the kafka 
connector to new kafka meta APIS. 

The current codebase uses some marker interfaces to support reading kafka 
partition/broker info from zookeeper or for users to specify the mapping them 
self. Adding one more layer that reads this info using kakfa APIs would reduce 
readability. Because we are using marker interfaces there are bunch of places 
that has if statements with instanceof checks and each one creates a separate 
code path to trace. We should delete these interfaces and their implementation 
in favor of a single way to get kafka topic information, using kafka APIs. This 
will be a backward incompatible change but should make future changes and usage 
easy.

Current kafka connector also has 2 separate configs for trident and core 
topologies. This configurations extend from a common interface but the 
extensions are not interchangeable. I think it is intuitive to have a single 
config with sane defaults for both core and trident spouts.








--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to