kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Burroughs <chris.burrou...@gmail.com>
Subject Re: kafka.utils.Utils
Date Mon, 26 Mar 2012 01:28:43 GMT
It would also be nice if the truly generic ZKUtils
(createEphemeralPathExpectConflict) and the kafka specific
(getConsumersPerTopic) were in separate classes.

On 03/25/2012 06:23 PM, Jay Kreps wrote:
> Hey guys,
> The Utils helpers are meant to be generic non-kafka-specific utility
> functions. Ideally it should not have dependencies outside java.* and
> scala.*. I notice a lot of code in there that is zookeeper-specific (my
> fault I think), that should really be a ZkUtils class. I also notice a lot
> of code that isn't properly helper code at all but actually very
> kafka-specific stuff.  This isn't a big deal, just a little hacky.
> Here are some suspicious methods:
>   def getCompressionCodec(props: Properties, codec: String):
> CompressionCodec
>   def getTopicRentionHours(retentionHours: String) : Map[String, Int]
>   def getTopicFlushIntervals(allIntervals: String) : Map[String, Int]
>   def getTopicPartitions(allPartitions: String) : Map[String, Int]
>   def getConsumerTopicMap(consumerTopicString: String) : Map[String, Int]
>   class SnapshotStats
>   class Stats
>   ...
> In general if we are putting domain-specific logic into generic static
> helpers like this it probably means we are missing some domain object to
> stick these on.
> I will file a ticket to clean these up, but I wanted to email around to try
> to explain the motivation.
> -Jay

View raw message