clintropolis commented on code in PR #17460:
URL: https://github.com/apache/druid/pull/17460#discussion_r1841057698
##########
processing/src/main/java/org/apache/druid/segment/DimensionMergerV9.java:
##########
@@ -39,6 +39,16 @@ public interface DimensionMergerV9 extends DimensionMerger
*/
ColumnDescriptor makeColumnDescriptor();
+ /**
+ * Sets this merger as the "parent" of another merger for a "projection",
allowing for this merger to preserve any
+ * state which might be required for the projection mergers to do their
thing. This method MUST be called prior to
+ * performing any merge work
+ */
+ default void markAsParent()
Review Comment:
I found a missing piece for this to "just work" with default
implementations, this method is fine doing nothing, but `attachParent` actually
needs to be modified to something like
```
default void attachParent(DimensionMergerV9 parent, List<IndexableAdapter>
projectionAdapters) throws IOException
{
// by default fall through to writing merged dictionary
writeMergedValueDictionary(projectionAdapters);
}
```
since it is called as an alternative to `writeMergedValueDictionary`,
https://github.com/apache/druid/blob/master/processing/src/main/java/org/apache/druid/segment/IndexMergerV9.java#L395,
will fix in this PR
--
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]