[
https://issues.apache.org/jira/browse/DRILL-7388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
daniel kelly updated DRILL-7388:
--------------------------------
Description:
If a partition only contains one record - e.g.
[topicName=myTopic, partitionId=117, startOffset=0, endOffset=1]
no data is returned.
I fixed this locally with the following code change in contrib/storage-kafka :-
{code:java}
git diff src/main/java/org/apache/drill/exec/store/kafka/KafkaRecordReader.java
@@ -109,7 +109,7 @@ public class KafkaRecordReader extends AbstractRecordReader
{
currentMessageCount = 0;
try {
- while (currentOffset < subScanSpec.getEndOffset() - 1 &&
msgItr.hasNext()) {
+ while (currentOffset < subScanSpec.getEndOffset() && msgItr.hasNext()) {
ConsumerRecord<byte[], byte[]> consumerRecord = msgItr.next();
{code}
> Apache Drill fails to return results for partitions containing single offset
> record
> -----------------------------------------------------------------------------------
>
> Key: DRILL-7388
> URL: https://issues.apache.org/jira/browse/DRILL-7388
> Project: Apache Drill
> Issue Type: Bug
> Reporter: daniel kelly
> Priority: Major
>
> If a partition only contains one record - e.g.
> [topicName=myTopic, partitionId=117, startOffset=0, endOffset=1]
> no data is returned.
> I fixed this locally with the following code change in contrib/storage-kafka
> :-
> {code:java}
> git diff
> src/main/java/org/apache/drill/exec/store/kafka/KafkaRecordReader.java
> @@ -109,7 +109,7 @@ public class KafkaRecordReader extends
> AbstractRecordReader {
> currentMessageCount = 0;
>
> try {
> - while (currentOffset < subScanSpec.getEndOffset() - 1 &&
> msgItr.hasNext()) {
> + while (currentOffset < subScanSpec.getEndOffset() && msgItr.hasNext())
> {
> ConsumerRecord<byte[], byte[]> consumerRecord = msgItr.next();
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)