This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
The following commit(s) were added to refs/heads/master by this push: new ab60c5e [fix](spark-load) fix Roaring64Map big-endian read/write in de/serialization (#7480) ab60c5e is described below commit ab60c5eb5956a7ea21101ea4519b8a893800054e Author: Xiang Wei <weixiao5...@gmail.com> AuthorDate: Sun Dec 26 11:09:50 2021 +0800 [fix](spark-load) fix Roaring64Map big-endian read/write in de/serialization (#7480) See #7479 This bug is triggered when the bitmap exceeds 32 bits. --- .../src/main/java/org/apache/doris/common/io/Roaring64Map.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/io/Roaring64Map.java b/fe/fe-common/src/main/java/org/apache/doris/common/io/Roaring64Map.java index 5a20138..bf35f5a 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/common/io/Roaring64Map.java +++ b/fe/fe-common/src/main/java/org/apache/doris/common/io/Roaring64Map.java @@ -1322,7 +1322,8 @@ public class Roaring64Map { Codec.encodeVarint64(highToBitmap.size(), out); for (Map.Entry<Integer, BitmapDataProvider> entry : highToBitmap.entrySet()) { - out.writeInt(entry.getKey().intValue()); + // serialized in little end for BE cpp read in case of bugs when the value is larger than 32bits + out.writeInt(Integer.reverseBytes(entry.getKey().intValue())); entry.getValue().serialize(out); } } @@ -1356,7 +1357,8 @@ public class Roaring64Map { long nbHighs = Codec.decodeVarint64(in); for (int i = 0; i < nbHighs; i++) { - int high = in.readInt(); + // keep the same behavior with little-end serialize + int high = Integer.reverseBytes(in.readInt()); RoaringBitmap provider = new RoaringBitmap(); provider.deserialize(in); highToBitmap.put(high, provider); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org