[
https://issues.apache.org/jira/browse/STORM-650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345822#comment-14345822
]
Thomas Becker commented on STORM-650:
-------------------------------------
I’ve tried to put the current suggestions into a story format that should help
us create/update the appropriate tickets.
I've grouped the suggestions into things that affect the internals and things
that affect users of the library.
As a storm developer I’d like to use the Kafka Metadata API for broker
management to avoid having to know kafka-internal zookeeper details
(STORM-590/STORM-631)
As a storm developer I’d like to use ITuple interface consistently to avoid
duplication (STORM-631)
As a storm developer I’d like all loggers to be private (STORM-650)
As a storm developer I’d like consistent, structured exception handling
(STORM-650)
As a storm developer I’d like to use the new kafka consumer API (0.8.3) to
reduce dependencies and use long term supported kafka apis (STORM-650)
As a storm developer I’d like to use the new kafka producer API to reduce
dependencies and use long term supported kafka apis (STORM-650)
As a storm developer I'd like to avoid having to use unnecessary marker
interfaces (STORM-631)
As an API client developer I’d like to be able to distinguish between internal
and public APIs to avoid confusion (STORM-650)
As an API client developer I’d like to be able to select the starting point in
kafka in an unambiguous way (STORM-563)
As an API client developer I’d like all public APIs to be documented (STORM-650)
As an API client developer I’d like to be able to use a pluggable failure
handler (https://github.com/apache/storm/pull/406)
As an API client developer I’d like to be able to use a single way of
configuring storm and trident kafka topologies (STORM-631)
As an API client developer I'd like the kafka related configuration to be
immutable (STORM-650)
As an API client developer I’d like to be able to white list topics in the
kafka spout. (STORM-650)
As an API client developer I’d like to know the offset and partition for a
message so i can audit and replay messages (STORM-697)
If we agree on this this list then I can go ahead and create/update the tickets
so that we can move forward and start discussing further details in the
individual tickets.
Thanks
> Storm-Kafka Refactoring and Improvements
> ----------------------------------------
>
> Key: STORM-650
> URL: https://issues.apache.org/jira/browse/STORM-650
> Project: Apache Storm
> Issue Type: Improvement
> Components: storm-kafka
> Reporter: P. Taylor Goetz
>
> This is intended to be a parent/umbrella JIRA covering a number of
> efforts/suggestions aimed at improving the storm-kafka module. The goal is to
> facilitate communication and collaboration by providing a central point for
> discussion and coordination.
> The first phase should be to identify and agree upon a list of high-level
> points we would like to address. Once that is complete, we can move on to
> implementation/design discussions, followed by an implementation plan,
> division of labor, etc.
> A non-exhaustive, initial list of items follows. New/additional thoughts can
> be proposed in the comments.
> * Improve API for Specifying the Kafka Starting point
> Configuring the kafka spout's starting position (e.g. forceFromStart=true) is
> a common source of confusion. This should be refactored to provide an easy to
> understand, unambiguous API for configuring this property.
> * Use Kafka APIs Instead of Internal ZK Metadata (STORM-590)
> Currently the Kafka spout relies on reading Kafka's internal metadata from
> zookeeper. This should be refactored to use the Kafka Consumer API to protect
> against changes to the internal metadata format stored in ZK.
> * Improve Error Handling
> There are a number of failure scenarios with the kafka spout that users may
> want to react to differently based on their use case. Add a failure handler
> API that allows users to implement and/or plug in alternative failure
> handling implementations. It is assumed that default (sane) implementations
> would be included and configured by default.
> * Configuration/General Refactoring (BrokerHosts, etc.) (STORM-631)
> (need to flesh this out better) Reduce unnecessary marker
> interfaces/"instance of" checks. Unify configuration of core storm/trident
> spout implementations.
> * Kafka Spout doesn't pick up from the beginning of the queue unless
> forceFromStart specified (STORM-563)
> Discussion Items:
> * How important is backward compatibility?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)