KKcorps commented on PR #19632:
URL: https://github.com/apache/pinot/pull/19632#issuecomment-5795582748

   One possible approach for the earlier-offset case in [my 
comment](https://github.com/apache/pinot/pull/19632#discussion_r4079166764) is 
to keep the gauge removal after a successful `goOnlineFromConsuming()` and 
additionally require `_currentOffset.compareTo(committedEndOffset) == 0` 
alongside `_endOfPartitionGroup`. Here, `committedEndOffset` is parsed from 
`segmentZKMetadata.getEndOffset()` using the stream offset factory.
   
   For example, a replica could observe EOF at offset 200 while the winning 
segment commits at 150. Downloading the winning segment leaves the local EOF 
flag true, but the successor still needs to consume the remaining records. The 
offset check would skip the new EOF removal in this case.
   
   Could we add a regression test for that mismatch, alongside the matching-EOF 
and failed-ONLINE-transition cases?
   
   This approach addresses the earlier-offset case specifically. Existing late 
`set(0)`/offload races remain, and matching offsets alone do not establish 
gauge ownership if the controller creates a successor after an inconclusive EOF 
probe.
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to