confluentinc / confluent-kafka-dotnet

Confluent's Apache Kafka .NET client
https://github.com/confluentinc/confluent-kafka-dotnet/wiki
Apache License 2.0
71 stars 863 forks source link

confluent-kafka-dotnet does not produce to partitions by default the same way the Java client produces #1103

Open mtrtm opened 5 years ago

mtrtm commented 5 years ago

Description

Confluent produces with the underlying librdkafka consistent_random which does not match the Java client. Since Java is the standard, can we please set to murmur2_random by default (and of course allow overrides).

How to reproduce

Publish with confluent-kafka-dotnet. Publish with Java. See the same key go to different partitions. This is the case on all versions, all OSes.

Checklist

Please provide the following information:

mhowlett commented 5 years ago

thanks for the feedback. it's a big decision to change this because many existing application using the default librdkafka partitioner (and there are lots of them) would need to explicitly update their configuration or break. we need to weigh up this inconvenience against the confusion/inconvenience caused to new users by having a different default partitioner to the java producer. which has highest impact? I'm not sure.

noderat commented 4 years ago

Perhaps you could start by calling it out in the README along with a code example of how to set it to use the same partitioner as Java clients?

mhowlett commented 4 years ago

yes, sorry our docs are currently very poor across the board for the clients. we're going to do something about this.