shivamasn commented on a change in pull request #3095: [CARBONDATA-3265] Fixed memory leak in Range Sort
URL:
https://github.com/apache/carbondata/pull/3095#discussion_r250192938
##########
File path: integration/spark-common/src/main/scala/org/apache/carbondata/spark/load/DataLoadProcessBuilderOnSpark.scala
##########
@@ -221,9 +247,32 @@ object DataLoadProcessBuilderOnSpark {
.map(_._2)
// 4. Sort and Write data
- sc.runJob(rangeRDD, (context: TaskContext, rows: Iterator[CarbonRow]) =>
+ sc.runJob(rangeRDD, (context: TaskContext, rows: Iterator[CarbonRow]) => {
+ TaskContext.get.addTaskCompletionListener(_ => ThreadLocalSessionInfo.unsetAll())
+ val carbonSessionInfo: CarbonSessionInfo = {
+ var info = ThreadLocalSessionInfo.getCarbonSessionInfo
+ if (info == null || null == info.getSessionParams) {
+ info = new CarbonSessionInfo
+ info.setSessionParams(new SessionParams())
+ }
+ info.getSessionParams.addProps(CarbonProperties.getInstance().getAddedProperty)
+ info
+ }
+ carbonSessionInfo.getNonSerializableExtraInfo.put("carbonConf", conf.value.value)
+ TaskContext.get.addTaskCompletionListener { _ =>
+ CommonUtil.clearUnsafeMemory(ThreadLocalTaskInfo.getCarbonTaskInfo.getTaskId)
+ }
+ ThreadLocalSessionInfo.setCarbonSessionInfo(carbonSessionInfo)
+ TaskMetricsMap.threadLocal.set(Thread.currentThread().getId)
+ val carbonTaskInfo = new CarbonTaskInfo
+ carbonTaskInfo.setTaskId(CarbonUtil.generateUUID())
+ ThreadLocalTaskInfo.setCarbonTaskInfo(carbonTaskInfo)
+ carbonSessionInfo.getSessionParams.getAddedProps.asScala.map {
+ f => CarbonProperties.getInstance().addProperty(f._1, f._2)
+ }
Review comment:
@qiuchenjian Done
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[hidden email]
With regards,
Apache Git Services