klsince opened a new pull request, #13992:
URL: https://github.com/apache/pinot/pull/13992

   The segments uploaded to table directly are not ONLINE in EV, so brokers 
can't include them in query routing table, but those segments are already 
processed by servers, thus invaliding docs in existing segments. If we don't 
let query access them, the query would see an incomplete upsert view. So we can 
mark them as optional (as we have done for consuming segment, which have 
similar race condition between server and broker), then those segments can be 
accessed by queries for a complete upsert view, even though broker doesn't add 
them into the list of selected segments for a query. 
   
   This PR adds two new configs for the upsert view feature, 
`optionalSegmentsTTLMs` and `optionalSegmentCleanInternalMs` to allow one to 
add some delay when to unmask the segment. In theory, we can unmark a segment 
immediately if we know brokers have included it in the routing table. But there 
is no efficient and easy way for the server to know if brokers have included 
the optional segments in their routing table, so we use this TTL config to 
delay the unmarking as needed. It's a best effort mechanism here. The default 
TTL as 5min should be enough for brokers to include a segment into their 
routing table after the segment gets ONLINE in EV.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to