[ https://issues.apache.org/jira/browse/SPARK-27216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lantao Jin updated SPARK-27216: ------------------------------- Description: HighlyCompressedMapStatus uses RoaringBitmap to record the empty blocks. But RoaringBitmap couldn't be ser/deser with unsafe KryoSerializer. We can use below UT to reproduce: {code} test("kryo serialization with RoaringBitmap") { val bitmap = new RoaringBitmap bitmap.add(1787) val safeSer = new KryoSerializer(conf).newInstance() val bitmap2 : RoaringBitmap = safeSer.deserialize(safeSer.serialize(bitmap)) assert(bitmap2.equals(bitmap)) conf.set("spark.kryo.unsafe", "true") val unsafeSer = new KryoSerializer(conf).newInstance() val bitmap3 : RoaringBitmap = unsafeSer.deserialize(unsafeSer.serialize(bitmap)) assert(bitmap3.equals(bitmap)) // this will fail } {code} was:HighlyCompressedMapStatus uses RoaringBitmap to record the empty blocks. But RoaringBitmap couldn't be ser/deser with unsafe KryoSerializer. > Kryo serialization with RoaringBitmap > ------------------------------------- > > Key: SPARK-27216 > URL: https://issues.apache.org/jira/browse/SPARK-27216 > Project: Spark > Issue Type: Bug > Components: Spark Core > Affects Versions: 2.3.3, 2.4.0, 3.0.0 > Reporter: Lantao Jin > Priority: Major > > HighlyCompressedMapStatus uses RoaringBitmap to record the empty blocks. But > RoaringBitmap couldn't be ser/deser with unsafe KryoSerializer. > We can use below UT to reproduce: > {code} > test("kryo serialization with RoaringBitmap") { > val bitmap = new RoaringBitmap > bitmap.add(1787) > val safeSer = new KryoSerializer(conf).newInstance() > val bitmap2 : RoaringBitmap = > safeSer.deserialize(safeSer.serialize(bitmap)) > assert(bitmap2.equals(bitmap)) > conf.set("spark.kryo.unsafe", "true") > val unsafeSer = new KryoSerializer(conf).newInstance() > val bitmap3 : RoaringBitmap = > unsafeSer.deserialize(unsafeSer.serialize(bitmap)) > assert(bitmap3.equals(bitmap)) // this will fail > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org