jihoonson commented on a change in pull request #6888: Fix num_rows in 
sys.segments
URL: https://github.com/apache/incubator-druid/pull/6888#discussion_r255240305
 
 

 ##########
 File path: 
sql/src/test/java/org/apache/druid/sql/calcite/schema/DruidSchemaTest.java
 ##########
 @@ -239,6 +246,34 @@ public void testGetTableMapFoo2()
     Assert.assertEquals(SqlTypeName.BIGINT, 
fields.get(2).getType().getSqlTypeName());
   }
 
+  @Test
+  public void testSegmentMetadataHolderNumRows()
+  {
+    Map<DataSegment, SegmentMetadataHolder> segmentsMetadata = 
schema.getSegmentMetadata();
+    Set<DataSegment> segments = segmentsMetadata.keySet();
+    Assert.assertEquals(segments.size(), 3);
+    DataSegment existingSegment = segments.stream().findFirst().orElse(null);
+    Assert.assertFalse(existingSegment == null);
+    SegmentMetadataHolder existingHolder = 
segmentsMetadata.get(existingSegment);
+    SegmentMetadataHolder updatedHolder = 
SegmentMetadataHolder.from(existingHolder).withNumRows(5).build();
+    schema.setSegmentMetadataHolder(existingSegment, updatedHolder);
+    ImmutableDruidServer server = null;
+    for (ImmutableDruidServer druidServer : druidServers) {
+      for (DataSegment segment : druidServer.getSegments()) {
+        if (segment == existingSegment) {
+          server = druidServer;
+        }
+      }
+    }
+    Assert.assertFalse(server == null);
+    final DruidServerMetadata druidServerMetadata = server.getMetadata();
+    schema.addSegment(druidServerMetadata, existingSegment);
+    segmentsMetadata = schema.getSegmentMetadata();
+    existingSegment = segments.stream().findFirst().orElse(null);
+    final SegmentMetadataHolder currentHolder = 
segmentsMetadata.get(existingSegment);
+    Assert.assertEquals(updatedHolder.getNumRows(), 
currentHolder.getNumRows());
 
 Review comment:
   I think this kind of unit tests is to check the an entire state of a 
snapshot rather than a particular value of the snapshot. There's no reason to 
check individual values in different tests under the same situation.

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

Reply via email to