leventov commented on issue #6370: Introduce SegmentId class URL: https://github.com/apache/incubator-druid/pull/6370#issuecomment-452677984 > io.druid.query.SegmentDescriptor, which is mostly duplicated in SegmentIdWithShardSpec. Any need for a difference between the two classes is not clear. As such, can they be reconciled into a single metadata class that identifies whatever needs to be identified? The Javadoc comment of `SegmentDescriptor` says: > The difference between this class and `{@link org.apache.druid.timeline.DataSegment}` is that this class is a "light" version of `{@link org.apache.druid.timeline.DataSegment}`, that only contains the interval, version, and partition number. SegmentDescriptor is used when Brokers tell data servers which segments to include for a particular query. To me, this is clear enough. Before you asked, I didn't remember that at all, I went to `SegmentDescriptor` to read the Javadoc, so it's clear to me not because I'm deep in the context of those things. This comment is also duplicated in the header of `DataSegment`, but not in the Javadoc, because `DataSegment` is `@PublicApi` and I didn't want to contaminate it's class-level Javadoc with private details and explanations. Additionally, I want to note that `SegmentDescriptor` has different names of JSON fields ("itvl", "ver" and "part") that makes reconciling it with `SegmentIdWithShardSpec` much harder practically.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
