[
https://issues.apache.org/jira/browse/BEAM-1407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15873040#comment-15873040
]
ASF GitHub Bot commented on BEAM-1407:
--------------------------------------
GitHub user XuMingmin opened a pull request:
https://github.com/apache/beam/pull/2044
[BEAM-1407] Support multiple Kafka client in KakaIO
PR for *[Solution 3. Rewrite Consumer method call at runtime].* SpEL is
used to hide the difference of Kafka client 0.9/0.10.
Additional tests are listed below:
* Kafka client 0.9.0.1
1. Kafka9 -> Kafka9 [PASS] *(means READ from Kafka9, then WRITE to
Kafka9)*
2. Kafka9 -> Kafka10 [PASS]
3. Kafka10 -> Kafka9 [PASS]
4. Kafka10 -> Kafka10 [PASS]
* Kafka client 0.10.0, with/without external authentication implementation
1. Kafka9 -> Kafka9 [FAIL]
2. Kafka9 -> Kafka10 [FAIL]
3. Kafka10 -> Kafka9 [FAIL]
4. Kafka10 -> Kafka10 [PASS]
*As Kakfa client 0.10 is not compatible with Kafka cluster 0.9, the 3 items
are expected to fail.*
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/XuMingmin/beam master
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/beam/pull/2044.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2044
----
commit 7f6cc88604eae97b444b26adabf8ba4c0eb0f8fe
Author: XuMingmin <[email protected]>
Date: 2017-02-09T21:36:39Z
Merge pull request #1 from apache/master
sync up code from apache/beam
commit e15b1cfb17058a6ee008ae54b980921b890ff36c
Author: mingmxu <[email protected]>
Date: 2017-02-18T07:11:19Z
add SpEL to hide kafka client difference of 0.9/0.19
commit 57480b361b7f927bb8b6f3398070709b99eaa06c
Author: XuMingmin <[email protected]>
Date: 2017-02-18T07:19:20Z
Merge pull request #2 from apache/master
pull latest code
commit fb3a8f137c9ce9ad42ce01973aa8a8776e15c082
Author: mingmxu <[email protected]>
Date: 2017-02-18T07:32:32Z
document the change
----
> Support multiple Kafka client in KakaIO
> ---------------------------------------
>
> Key: BEAM-1407
> URL: https://issues.apache.org/jira/browse/BEAM-1407
> Project: Beam
> Issue Type: Improvement
> Components: sdk-java-extensions
> Reporter: Xu Mingmin
> Assignee: Xu Mingmin
>
> enhance KafkaIO to work with Kafka client 0.9 and 0.10, (maybe 0.8 as well
> ?),
> 1). to fully leverage new features in each version, like external
> authentication, timestamp in 0.10;
> 2). hide kafka API changed, to support steamless switch between different
> cluster versions;
> Scope of change:
> 1). add an abstract API for Kafka Consumer in existing KafkaIO. By default
> it's kafka 0.9 to keep compatible, with an option for extension;
> 2). Wrapped API for Kafka 0.10, with Kafka message timestamp support;
> 3). wrapped API for Kafka 0.8 (TBD);
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)