Github user prokopowicz commented on the pull request:
https://github.com/apache/storm/pull/642#issuecomment-141141208
we've seen a related problem when a custom scheme returns an empty list of
lists via generateTuples. The code in partitionManager does not ack the offset
in that case. It should be made clear that a scheme should not return an empty
list of lists, but null, if it deserializes no objects. Or, this code in
PartitionManager should be fixed to treat an empty list of lists in the same
way it treats a null list.
```java
if (tups != null) {
if(_spoutConfig.topicAsStreamId) {
for (List<Object> tup : tups) {
collector.emit(_spoutConfig.topic, tup, new
KafkaMessageId(_partition, toEmit.offset));
}
} else {
for (List<Object> tup : tups) {
collector.emit(tup, new KafkaMessageId(_partition,
toEmit.offset));
}
}
break;
} else {
ack(toEmit.offset);
}
```
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---