Github user uddhavarote commented on the issue: https://github.com/apache/storm/pull/2790 Hey, thanks for this update. Without this update, one would end up (re)writing a bolt like KafkaBolt with similar functionality but different `OnCompletion` function, like I am doing currently for extracting the `timestamp` (message's ingest time) from `RecordMetadata` and passing it to the next bolt with current `Tuple` fields. However, even with this update, I am afraid if I will be able to do the similar `OnCompletion` thing I am currently doing by rewriting the bolt. The implemented `OnCompletion` function looks like â ``` @Override public void onCompletion(RecordMetadata metadata, Exception e) { boolean hasNextBolt = appConf.getBooleanOrDefault(, true); synchronized (collector) { if (e != null) { collector.reportError(e); } else { if (hasNextBolt) { Long field1 = metadata.timestamp(); Long field2 = input.getLongByField(...); String field3 = input.getStringByField(...); collector.emit( input, new Values(field1, field2, field3)); } collector.ack(input); } } } ``` Since, there is no reference to the`Tuple` object in the `PreparableCallback` interface, how can something like above be achieved? If not achievable, is it a good idea to give reference to `Tuple` in the said interface allowing further new emits (in `OnCompletion()`) of tuples composed of new fields `field1`and fields from current tuple `field2, field3`?
---