Hi all,

The new Java producer was introduced in 0.8.2.0 (released in February
2015). It has become the default implementation for various tools since
0.9.0.0 (released in October 2015) and it is the only implementation with
support for the security features introduced in 0.9.0.0.

Given this, I think we should deprecate the old Scala producers for
0.10.0.0 by adding @deprecated annotations in the code and updating the the
documentation to encourage usage of the new Java producer. This would give
our users a stronger signal regarding our plans to focus on the new Java
producer going forward.

Note that this proposal is only about deprecating the old Scala producers as,
in my opinion, it is too early to do the same for the old Scala consumers. The
new Java consumer was only introduced in 0.9.0.0 and it's still marked as
beta. It would be good to have a full release cycle where the new consumer
is no longer in beta before we deprecate the old consumers. We are hoping
to remove the beta label for the consumer for 0.10.0.0, but that's a
separate discussion.

With regards to removal of the deprecated producers, the current thinking
is to remove all Scala clients at the same time, so it will take at least
two non bug-fix release cycles (it could take longer depending on users'
feedback).

The feedback was mostly positive in the discuss thread although some points
were raised about deprecating the old producers before deprecating the old
consumers:

http://search-hadoop.com/m/uyzND1KVJJmcbgAf2&subj=+DISCUSS+Deprecating+the+old+Scala+producers+for+the+next+release

The JIRA for tracking this is KAFKA-2982.

The vote will run for 72 hours.

Thanks,
Ismael

Reply via email to