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

   This was to refine https://github.com/apache/pinot/pull/12105
   
   We can't just reuse the SegmentLocks in 
RealtimeSegmentManager.handleUpsert() to synchronize the segment replacement 
logic. Because many methods of partitionUpsertMetadataManager takes this lock 
internally, but after taking snapshot RW lock. If we take segmentLock here 
(before taking snapshot RW lock), we can get into deadlock with the other 
threads calling other methods of partitionUpsertMetadataManager, like 
deleteSegment.
   
   So this PR added a private UpsertSegmentLocks just to sync segment 
replacement inside handleUpsert() method. 


-- 
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