I have a Ktable to KTable join. I create the Ktables using .aggregate() Those yield results to the next stream processor when either side receives a new message. I have a use case where I can receive another message on the left KTable, but the message is a "duplicate". It's not an actual duplicate in the technical sense but it's a duplicate per my business logic (it contains X,Y and Z fields that have identical values to the previous message).
How can I check the previous aggregate value, compare it to the new value and stop that message from causing the join to yield results?
I also don't want to delete that key from the Ktable because I still need the right side Ktable to continue to join when new 'right side' messages come in.
I want to dynamically control when the join yields results. Is there something in the joiner I can do to check the previous state?