I was just playing around with Streams’ join features, just to get a
feel for them, and I think I may have noticed a bug in the code, in
KStreamImpl.java on line 310:

https://github.com/apache/kafka/blob/845c6eae1f6c6bcf117f5baa53bb19b4611c0528/streams/src/main/java/org/apache/kafka/streams/kstream/internals/KStreamImpl.java#L310

(I’m linking to the latest commit that changed this file so that the
link will be stable, but line 310 is currently identical in this
commit and trunk.)

the line reads:

.withValues(otherValueSerializer, otherValueDeserializer)

but I think maybe it’s supposed to read:

.withValues(thisValueSerializer, thisValueDeserializer)

I took a look at the tests and it seems they’re not catching this
because in the current tests, the serdes for both streams are the same
— it might be a good idea to add a test wherein they’re different.

If Streams was stable I’d offer to prepare a PR but given that it’s a
WIP I figured it would be better to just share this observation.

HTH!

Avi

Reply via email to