Thanks Gordon - Appreciate the fast response. Sameer
On Tue, Aug 23, 2016 at 7:17 AM, Tzu-Li (Gordon) Tai <tzuli...@gmail.com> wrote: > Hi! > > Kinesis shards should be ideally evenly assigned to the source instances. > So, with your example of source parallelism of 10 and 20 shards, each > source instance will have 2 shards and will have 2 threads consuming them > (therefore, not in round robin). > > For the Kafka consumer, in the source instances there will be one > consuming thread per broker, instead of partition. So, if a source instance > is assigned partitions that happen to be on the same broker, the source > instance will only create 1 thread to consume all of them. > > You are correct that currently the Kafka consumer does not handle > repartitioning transparently like the Kinesis connector, but we’re working > on this :) > > Regards, > Gordon > > On August 23, 2016 at 6:50:31 PM, Sameer W (sam...@axiomine.com) wrote: > > Hi, > > The documentation says that there will be one thread per shard. If I my > streaming job runs with a parallelism of 10 and there are 20 shards, are > more threads going to be launched within a task slot running a source > function to consume the additional shards or will one source function > instance consume 2 shards in round robin. > > Is it any different for Kafka? Based on the documentation my understanding > is that if there are 10 source function instances and 20 partitions, each > one will read 2 partitions. > > Also if partitions are added to Kafka are they handled by the existing > streaming job or does it need to be restarted? It appears as though Kinesis > handles it via the consumer constantly checking for more shards. > > Thanks, > Sameer > >