carbondata
carbondata copied to clipboard
[CARBONDATA-2865] Fix StackOverflowException during compaction in migrated store
Problem: When compaction is fired on migrated partition table, PartitionSpec object is unnecessarily being serialized to executor which is causing StackOverFlowException.
Solution: Make PartitionSpec as transient to avoid serialization.
Be sure to do all of the following checklist to help us incorporate your contribution quickly and easily:
-
[x] Any interfaces changed?
-
[x] Any backward compatibility impacted?
-
[x] Document update required?
-
[x] Testing done Please provide details on - Whether new unit test cases have been added or why no new tests are required? - How it is tested? Please attach test report. - Is it a performance related change? Please attach the performance test report. - Any additional information to help reviewers in testing this change.
-
[x] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.
SDV Build Fail , Please check CI http://144.76.159.231:8080/job/ApacheSDVTests/6444/
Build Success with Spark 2.2.1, Please check CI http://95.216.28.178:8080/job/ApacheCarbonPRBuilder1/56/
Build Success with Spark 2.1.0, Please check CI http://136.243.101.176:8080/job/ApacheCarbonPRBuilder1/8127/
retest sdv please
SDV Build Fail , Please check CI http://144.76.159.231:8080/job/ApacheSDVTests/6449/
Build Success with Spark 2.1.0, Please check CI http://136.243.101.176:8080/job/ApacheCarbonPRBuilder2.1/14/
@kunal642 why does the serialization of ‘PartitionSpec’ cause stackoverflow?
@xuchuanyin Actually i was never able to find why this stackoverflow exception is thrown but while debugging i realised that a lot of recursive call is occurring when trying to serialize 'PartitionSpec'. After a little bit of searching i found a article which suggested that collections are serialized in a recursive manner. I tried this solution as i wasn't getting any other clue.
I would appreciate any suggestion regarding this.
Build Failed with Spark 2.1.0, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/61/
Build Failed with Spark 2.3.2, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/60/
Build Failed with Spark 2.4.4, Please check CI http://121.244.95.60:12545/job/ApacheCarbon_PR_Builder_2.4.4/61/
Build Failed with Spark 2.3.4, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1949/