From f1ff410f1e7391ebba126ed965f1f8ade94311d0 Mon Sep 17 00:00:00 2001 From: Parth Brahmbhatt Date: Thu, 19 Mar 2015 11:28:35 -0700 Subject: [PATCH] KAFKA-2032: Add validation for partition.assignment.strategy. --- .../java/org/apache/kafka/clients/consumer/ConsumerConfig.java | 3 ++- core/src/main/scala/kafka/consumer/ConsumerConfig.scala | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerConfig.java b/clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerConfig.java index 42c7219..465212f 100644 --- a/clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerConfig.java +++ b/clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerConfig.java @@ -170,7 +170,8 @@ public class ConsumerConfig extends AbstractConfig { SESSION_TIMEOUT_MS_DOC) .define(PARTITION_ASSIGNMENT_STRATEGY_CONFIG, Type.STRING, - "blah", + "range", + in("range", "roundrobin"), Importance.MEDIUM, PARTITION_ASSIGNMENT_STRATEGY_DOC) .define(METADATA_MAX_AGE_CONFIG, diff --git a/core/src/main/scala/kafka/consumer/ConsumerConfig.scala b/core/src/main/scala/kafka/consumer/ConsumerConfig.scala index 9ebbee6..6e5542c 100644 --- a/core/src/main/scala/kafka/consumer/ConsumerConfig.scala +++ b/core/src/main/scala/kafka/consumer/ConsumerConfig.scala @@ -58,6 +58,7 @@ object ConsumerConfig extends Config { validateGroupId(config.groupId) validateAutoOffsetReset(config.autoOffsetReset) validateOffsetsStorage(config.offsetsStorage) + validatePartitionAssignmentStrategy(config.partitionAssignmentStrategy) } def validateClientId(clientId: String) { @@ -85,6 +86,15 @@ object ConsumerConfig extends Config { "Valid values are 'zookeeper' and 'kafka'") } } + + def validatePartitionAssignmentStrategy(strategy: String) { + strategy match { + case "range" => + case "roundrobin" => + case _ => throw new InvalidConfigException("Wrong value " + strategy + " of partition.assignment.strategy in consumer config; " + + "Valid values are 'range' and 'roundrobin'") + } + } } class ConsumerConfig private (val props: VerifiableProperties) extends ZKConfig(props) { -- 1.9.3 (Apple Git-50)