FrankChen021 commented on code in PR #19704:
URL: https://github.com/apache/druid/pull/19704#discussion_r3614170348


##########
indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/SeekableStreamIndexTaskRunner.java:
##########
@@ -747,13 +755,17 @@ public void run()
                           dim,
                           k -> Collections.synchronizedSet(new HashSet<>())
                       );
-                      // Empty getDimension result means a null/missing value; 
record null so IS NULL is not pruned
-                      // (distinct from "", which getDimension returns as ["" 
]).
-                      final List<String> dimValues = row.getDimension(dim);
-                      if (dimValues == null || dimValues.isEmpty()) {
-                        dimSet.add(null);
+                      if (longPartitionDimensions.contains(dim)) {
+                        dimSet.add(canonicalLongValue(row.getRaw(dim), dim));

Review Comment:
   [P1] Disable legacy string pruning for stamped LONG dimensions
   
   Canonicalizing raw `"00001"` or `"+1"` to `"1"` is correct for the new typed 
domain, but the dimension still passes through `possibleInDomain` first. A 
native `SelectorDimFilter("code", "00001", ...)` matches indexed LONG `1` 
through runtime numeric coercion, while its range set remains literal 
`"00001"`. The range check therefore sees no overlap with stamped `"1"` and 
prunes the segment before typed pruning runs, dropping valid rows. Exclude 
type-stamped LONG dimensions from the legacy string/range channel, or safely 
canonicalize that channel, and add a regression test for noncanonical string 
selectors.



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