Hi,

We just stumbled upon an issue with KStream.transform() where we had a
runtime error with this code:

```
DeduplicationTransformer<X, Y, , > transformer = new
DeduplicationTransformer<>(...);
stream.transform(() -> transformer, ...)
```

The error is:
Failed to process stream task 0_0 due to the following error:
java.lang.IllegalStateException: This should not happen as timestamp()
should only be called while a record is processed

Whereas simply inlining the creation of the Transformer works:

```
stream.transform(() -> new DeduplicationTransformer<>(...), ...)
```

Is this behavior expected?


I guess that's why tranform() takes a wrapper, to construct it when needed?

Why does this happen? Is there some kind of global reference used
internally (only construct during the execution) ?


Thanks,

Stéphane

Reply via email to