leventov commented on issue #7571: Optimize coordinator API to retrieve 
segments with overshadowed status
URL: 
https://github.com/apache/incubator-druid/issues/7571#issuecomment-495288920
 
 
   @jihoonson 
   
   > This sounds like going back to feature-based release instead of time-based 
one. Per the discussion you started, we are trying to freeze code every 3 
months.
   
   Note that I unblocked #7425 only on the condition that people agree with the 
proposed approach and it's being implemented immediately: 
https://github.com/apache/incubator-druid/pull/7425#discussion_r279823676. If I 
knew that new round of debate will start, I wouldn't unblock that PR and 
insisted on completely resolving that question before merging.
   
   @gianm 
   
   > From context I'm guessing it's the HTTP API. I suggest we address that by 
not documenting it and treating it as an internal API. 
   
   Internal API cannot be broken either to ensure there is a safe rolling 
upgrade/downgrade plan. So version 0.16 would need to add alternative 
implementation while fully supporting the old `SegmentWithOvershadowedStatus`, 
and only 0.17 can remove `SegmentWithOvershadowedStatus`.
   
   ---
   
   I think the main reason why I proposed mutable `isOvershadowed` field was 
that I initially proposed to compute it lazily, on demand in 
`SQLMetadataSegmentManager`. However, later I agreed ([in this 
thread](#issuecomment-488330261), actually) that it can also be eager. So I 
think immutable would work fine.
   
   > I'm also curious about the benefit we can when DataSegment becomes 
mutable. Is there anything else except memory savings?
   
   Memory and concurrency (see #7595).
   
   So what about the following:
   
    - Immutable, but extensible `DataSegment`.
    - Immutable `SegmentWithOvershadowedStatus` which extends `DataSegment` 
(note: they also have different JSON representations).
    - Although immutable, both are decidedly *containers*, not "data classes". 
They both prohibit `equals()` and `hashCode()` as described 
[here](https://github.com/apache/incubator-druid/issues/6358#issuecomment-489102183).

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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

Reply via email to