diff options
author | Tathagata Das <tathagata.das1565@gmail.com> | 2014-08-05 23:41:34 -0700 |
---|---|---|
committer | Patrick Wendell <pwendell@gmail.com> | 2014-08-05 23:42:20 -0700 |
commit | 5b4bc84ed48211ac3801399804725f95e0350b54 (patch) | |
tree | 743376708abfde90de4932313a36fc9e5c836e7f /external/kafka/pom.xml | |
parent | aec217a5831f421c20ee2227282d2ba0bd8b6d41 (diff) | |
download | spark-5b4bc84ed48211ac3801399804725f95e0350b54.tar.gz spark-5b4bc84ed48211ac3801399804725f95e0350b54.tar.bz2 spark-5b4bc84ed48211ac3801399804725f95e0350b54.zip |
[SPARK-1022][Streaming][HOTFIX] Fixed zookeeper dependency of Kafka
https://github.com/apache/spark/pull/1751 caused maven builds to fail.
```
~/Apache/spark(branch-1.1|✔) ➤ mvn -U -DskipTests clean install
.
.
.
[error] Apache/spark/external/kafka/src/test/scala/org/apache/spark/streaming/kafka/KafkaStreamSuite.scala:36: object NIOServerCnxnFactory is not a member of package org.apache.zookeeper.server
[error] import org.apache.zookeeper.server.NIOServerCnxnFactory
[error] ^
[error] Apache/spark/external/kafka/src/test/scala/org/apache/spark/streaming/kafka/KafkaStreamSuite.scala:199: not found: type NIOServerCnxnFactory
[error] val factory = new NIOServerCnxnFactory()
[error] ^
[error] two errors found
[error] Compile failed at Aug 5, 2014 1:42:36 PM [0.503s]
```
The problem is how SBT and Maven resolves multiple versions of the same library, which in this case, is Zookeeper. Observing and comparing the dependency trees from Maven and SBT showed this. Spark depends on ZK 3.4.5 whereas Apache Kafka transitively depends on upon ZK 3.3.4. SBT decides to evict 3.3.4 and use the higher version 3.4.5. But Maven decides to stick to the closest (in the tree) dependent version of 3.3.4. And 3.3.4 does not have NIOServerCnxnFactory.
The solution in this patch excludes zookeeper from the apache-kafka dependency in streaming-kafka module so that it just inherits zookeeper from Spark core.
Author: Tathagata Das <tathagata.das1565@gmail.com>
Closes #1797 from tdas/kafka-zk-fix and squashes the following commits:
94b3931 [Tathagata Das] Fixed zookeeper dependency of Kafka
(cherry picked from commit ee7f30856bf3f7b9a4f1d3641b6bc2cc4e842b0e)
Signed-off-by: Patrick Wendell <pwendell@gmail.com>
Diffstat (limited to 'external/kafka/pom.xml')
-rw-r--r-- | external/kafka/pom.xml | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/external/kafka/pom.xml b/external/kafka/pom.xml index 2aee999492..4e2275ab23 100644 --- a/external/kafka/pom.xml +++ b/external/kafka/pom.xml @@ -68,6 +68,10 @@ <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> </exclusion> + <exclusion> + <groupId>org.apache.zookeeper</groupId> + <artifactId>zookeeper</artifactId> + </exclusion> </exclusions> </dependency> <dependency> |