gortiz commented on code in PR #13303: URL: https://github.com/apache/pinot/pull/13303#discussion_r1669854623
########## pinot-common/src/main/java/org/apache/pinot/common/datablock/DataBlock.java: ########## @@ -104,4 +117,44 @@ public static Type fromOrdinal(int ordinal) { } } } + + /** + * A raw representation of the block. + * <p> + * Do not confuse this with the serialized form of the block. This is a representation of the block in memory and + * it is completely dependent on the current Pinot version. That means that this representation can change between + * Pinot versions. + * <p> + * The {@link DataBlockSerde} is responsible for serializing and deserializing this raw representation into a binary + * format that is compatible with the other Pinot versions. + */ + interface Raw { Review Comment: Yes, this interface exposes implementation details. But it is bound to the current Pinot version. It would be nice to have a formal definition of these different sections, but we don't have it right now. Having this interface here is what give us the ability to have different serialization algorithms. We still need to cleanup the datablock usage during the intermediate stage, which right now is not very efficient. That would include a redefinition of DataBlock and we can keep this Raw interface is a simplification meanwhile. Raw was more useful in the early stages of this PR because I had different `DataBlockSerde` and `BaseDataBlock` was still storing the info in `byte[]`. Alternatively I can change `DataBlockSerde` to consume a `BaseDataBlock`, which won't break the encapsulation at the cost of imposing that every block is a `BaseDataBlock`. Do you prefer this alternative? -- 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: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org