summaryrefslogtreecommitdiff
path: root/kafka/consumer/fetcher.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2019-09-28 19:19:29 -0700
committerGitHub <noreply@github.com>2019-09-28 19:19:29 -0700
commit5d1d42429e07f4aa2959b488ea76efb6d0bafc79 (patch)
tree6a3b0701b6c80d11bec9d8277757dc589561fb6a /kafka/consumer/fetcher.py
parenta9f513cf9978b8b9f26ad04bba1d33a9ae6d1b99 (diff)
downloadkafka-python-5d1d42429e07f4aa2959b488ea76efb6d0bafc79.tar.gz
Wrap consumer.poll() for KafkaConsumer iteration (#1902)
Diffstat (limited to 'kafka/consumer/fetcher.py')
-rw-r--r--kafka/consumer/fetcher.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/kafka/consumer/fetcher.py b/kafka/consumer/fetcher.py
index 36e269f..17c818f 100644
--- a/kafka/consumer/fetcher.py
+++ b/kafka/consumer/fetcher.py
@@ -292,7 +292,7 @@ class Fetcher(six.Iterator):
raise Errors.KafkaTimeoutError(
"Failed to get offsets by timestamps in %s ms" % (timeout_ms,))
- def fetched_records(self, max_records=None):
+ def fetched_records(self, max_records=None, update_offsets=True):
"""Returns previously fetched records and updates consumed offsets.
Arguments:
@@ -330,10 +330,11 @@ class Fetcher(six.Iterator):
else:
records_remaining -= self._append(drained,
self._next_partition_records,
- records_remaining)
+ records_remaining,
+ update_offsets)
return dict(drained), bool(self._completed_fetches)
- def _append(self, drained, part, max_records):
+ def _append(self, drained, part, max_records, update_offsets):
if not part:
return 0
@@ -366,7 +367,8 @@ class Fetcher(six.Iterator):
for record in part_records:
drained[tp].append(record)
- self._subscriptions.assignment[tp].position = next_offset
+ if update_offsets:
+ self._subscriptions.assignment[tp].position = next_offset
return len(part_records)
else: