Hi team, I am testing hybrid table feature but met...
# troubleshooting
y
Hi team, I am testing hybrid table feature but met 2 problems and summarized what I met. 1. Does broker consider both time column and primary key? The value of user_id was same as '1' but time columns' value were different and gave me result as below.
Copy code
select * from user123 where user_id = '1' -- returned 2 rows
select * from user123_REALTIME where user_id = '1' -- returned 1 row
select * from user123_OFFLINE where user_id = '1' -- returned 1 row
2. Inconsistent results are returned for realtime table. I met this when I was validating above. I configured replicasPerPartition --> 2 stream.kafka.broker.list --> 3 brokers' endpoints stream.kafka.consumer.type --> lowLevel
Copy code
select user_id, count(*) from user123
group by user_id
-- case 4 servers were queried : returned 102 rows
-- case 3 servers were queried : returned 96 rows
j
only the time column per https://docs.pinot.apache.org/basics/components/broker. I don’t think the query response has it, but the broker logs should show the timestamps it uses to send the queries. If your row is within the overlap between offline and realtime data, it’s expected you’d see the behavior you’re mentioning
m
Yes, if there is data overlap in offline + realtime, that would explain the behavior you observed in case 1.
Could you give a bit more info on 2? Especially what was the response metadata from broker for the query, and what is case 4/3?
j
if you’re using latest offset, is it guaranteed that both replicas will have the same start offset before the segment seals?
y
@Johan Adami I didn't specify consuming offset option at first time, but even after setting it as smallest and topic recreation to remove all issue related to offset, it result still doesn't match with same start offset. Could it be related to offline-realtime problem I encountered? Other tables which are not hybrid doesn't have problem like this.
@Mayank Sorry for unclear description. I meant • case 1 : broker sent request to 4 servers • case 2 : broker sent request to 3 servers