GitHub user rangadi opened a pull request:
https://github.com/apache/beam/pull/2986
[BEAM-2221] KafkaIO API clean up.
- Removed withKeyCoder() and withValueCoder() methods.
- Their meaning changed
when KafkaIO added support for Deserializers. The coders can be explicitly
specified using withKeyDeserializerAndCoder(). This makes it explicit to
the user Deserializer is still required and JavaDoc explains why both
are required in addition to deserializers.
- Removed 'readWithCoders()' and 'writeWithCoders()' methods. These were
supposed to be utility methods to show how to use
`CoderBasedKafkaDeserializer`. But they are too prominently placed and they
were misused in multiple places. E.g. KafkaIOTest used VarInt coders even
though the Kafka messages were plain big endian encoded ints and longs. They
tests still passed!.
- These utility methods are moved `CoderBasedKafkaSerializer` (this
class implements both `Deserializer` and `Serializer` interface). JavaDoc
includes usage examples.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/rangadi/incubator-beam kafkaio_cleanup
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/beam/pull/2986.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 #2986
----
commit 89a840a9291dc8de2462e4ce76293d84a24f06f0
Author: Raghu Angadi <[email protected]>
Date: 2017-05-09T00:14:37Z
KafkaIO API clean up.
Remove withKeyCoder() and withValueCoder() method. Their meaning changed
when KafkaIO added support for Deserializers. The coders can be explicitly
specified using withKeyDeserializerAndCoder(). This makes it explicit to
the user Deserializer is still required and JavaDoc explains why both
are required.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---