Hi Pierre and Jason, A comment below.
On Wed, Jan 27, 2016 at 9:01 PM, Jason Gustafson <ja...@confluent.io> wrote: > Hi Pierre, > > Thanks for your persistence on this issue. I've gone back and forth on this > a few times. The current API can definitely be annoying in some cases, but > breaking compatibility still sucks. We do have the @Unstable annotation on > the API, but it's unclear what exactly it means and I'm guessing most users > haven't even noticed it. In the end, I feel we should try harder to keep > compatibility even if it means keeping some of the annoying usage. As an > alternative, maybe we could do the following: > > 1. For subscribe() and assign(), change the parameter type to collection as > planned in the KIP. This is at least source-compatible, so as long as users > compile against the updated release, there shouldn't be any problems. > > 2. Instead of changing the signatures of the current pause/resume/seek > APIs, maybe we can overload them. This keeps compatibility and supports the > more convenient collection usage, but the cost is some API bloat. > What if we deprecate the existing pause/resume/seek APIs in favour of the new overloads? That would give us compatibility between 0.9.0.x and 0.9.1.x while giving us the option of removing those methods in a future release. Ismael