jihoonson commented on a change in pull request #6094: Introduce SystemSchema
tables (#5989)
URL: https://github.com/apache/incubator-druid/pull/6094#discussion_r221125723
##########
File path:
sql/src/main/java/org/apache/druid/sql/calcite/schema/DruidSchema.java
##########
@@ -320,25 +322,32 @@ public void awaitInitialization() throws
InterruptedException
private void addSegment(final DruidServerMetadata server, final DataSegment
segment)
{
synchronized (lock) {
- final Map<DataSegment, RowSignature> knownSegments =
segmentSignatures.get(segment.getDataSource());
+ final Map<DataSegment, SegmentMetadataHolder> knownSegments =
segmentMetadataInfo.get(segment.getDataSource());
if (knownSegments == null || !knownSegments.containsKey(segment)) {
+ final long isRealtime = server.segmentReplicatable() ? 0 : 1;
+ final long isPublished =
server.getType().toString().equals(ServerType.HISTORICAL.toString()) ? 1 : 0;
+ SegmentMetadataHolder holder = new SegmentMetadataHolder(null,
isPublished, 1, isRealtime, 1, null);
// Unknown segment.
- setSegmentSignature(segment, null);
+ setSegmentSignature(segment, holder);
segmentsNeedingRefresh.add(segment);
-
if (!server.segmentReplicatable()) {
log.debug("Added new mutable segment[%s].", segment.getIdentifier());
mutableSegments.add(segment);
} else {
log.debug("Added new immutable segment[%s].",
segment.getIdentifier());
}
- } else if (server.segmentReplicatable()) {
- // If a segment shows up on a replicatable (historical) server at any
point, then it must be immutable,
- // even if it's also available on non-replicatable (realtime) servers.
- mutableSegments.remove(segment);
- log.debug("Segment[%s] has become immutable.",
segment.getIdentifier());
+ } else {
+ if (knownSegments != null && knownSegments.containsKey(segment)) {
Review comment:
Why not use `computeIfAbsent()`?
----------------------------------------------------------------
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]