Records are processed in timestamp order. Thus, if a "table side" record
has a larger timestamp than a stream side record the stream-side record
is processed first.
If you want to ensure that the table is "load" first, you need to ensure
that the table-side records have smaller timestamps than the stream-side
records.
-Matthias
On 3/16/21 8:17 PM, Hieu Lam Tri wrote:
> Hi,
> I have a stream like this
> Stream *Transaction* (key format Avro, value format Avro)
> TransactionId, date, UserId
> and table *Users* (key format Avro, value format Avro)
> Id, user_uuid
>
> I join stream Transaction and Users with
>
> Create Stream Transaction_Join as
> select t.transactionId, t.date,
u.id,u.user_uuid
> from Transaction t
> left join Users u on t.userId =
u.id
> emit changes;
>
> The number of records in transaction and the resulting stream is the
> same. That's is expected.
> But the problem is that some of the record in Transaction_join has
> user_uuid of null value. I check the source stream and table and they
> all have valid values.
> Is that the bug or anything that I am missing ?
> Can I use the key format of avro or do I need to change it to default
> kafka for the join to work ?
>
> Thanks
>
> --
> You received this message because you are subscribed to the Google
> Groups "ksqldb-users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
ksql-users+...@googlegroups.com
> <mailto:
ksql-users+...@googlegroups.com>.
> To view this discussion on the web, visit
>
https://groups.google.com/d/msgid/ksql-users/6005a124-969e-44cf-a9bf-7759475e3ea6n%40googlegroups.com
> <
https://groups.google.com/d/msgid/ksql-users/6005a124-969e-44cf-a9bf-7759475e3ea6n%40googlegroups.com?utm_medium=email&utm_source=footer>.