GitHub user manishgupta88 opened a pull request:
https://github.com/apache/carbondata/pull/2217 [CARBONDATA-2391] [Compaction Thread Leak] Thread leak in compaction operation if prefetch is enabled and compaction process is killed Problem Thread leak in compaction operation if prefetch is enabled and compaction process is killed Analysis During compaction if prefetch is enabled RawResultIterator launches an executor service for prefetching the data. If compactions fails or the process is killed it can lead to thread leak due to executor service still in running state. Fix Close the executor service in task completion listener of compaction Be sure to do all of the following checklist to help us incorporate your contribution quickly and easily: - [ ] Any interfaces changed? - [ ] Any backward compatibility impacted? - [ ] Document update required? - [ ] 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. - [ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA. You can merge this pull request into a Git repository by running: $ git pull https://github.com/manishgupta88/carbondata thread_leak_compaction_fix Alternatively you can review and apply these changes as the patch at: https://github.com/apache/carbondata/pull/2217.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2217 ---- commit e24883b7f0d460c58c6d1773de4aa38ec757585a Author: manishgupta88 <tomanishgupta18@...> Date: 2018-04-23T14:59:56Z Problem Thread leak in compaction operation if prefetch is enabled and compaction process is killed Analysis During compaction if prefetch is enabled RawResultIterator launches an executor service for prefetching the data. If compactions fails or the process is killed it can lead to thread leak due to executor service still in running state. Fix Close the executor service in task completion listener of compaction ---- --- |
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2217 Build Failed with Spark 2.1.0, Please check CI http://136.243.101.176:8080/job/ApacheCarbonPRBuilder1/5341/ --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2217 Build Failed with Spark 2.2.1, Please check CI http://88.99.58.216:8080/job/ApacheCarbonPRBuilder/4173/ --- |
In reply to this post by qiuchenjian-2
Github user ravipesala commented on the issue:
https://github.com/apache/carbondata/pull/2217 SDV Build Fail , Please check CI http://144.76.159.231:8080/job/ApacheSDVTests/4494/ --- |
In reply to this post by qiuchenjian-2
Github user jackylk commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2217#discussion_r183630498 --- Diff: processing/src/main/java/org/apache/carbondata/processing/merger/CarbonCompactionExecutor.java --- @@ -176,13 +176,20 @@ private SegmentProperties getSourceSegmentProperties(List<DataFileFooter> listMe * Below method will be used * for cleanup */ - public void finish() { + public void close(List<RawResultIterator> rawResultIteratorList) { try { + // close all the iterators. Iterators might not closed in case of compaction failure + // or if process is killed + if (null != rawResultIteratorList) { + for (RawResultIterator rawResultIterator : rawResultIteratorList) { + rawResultIterator.close(); + } + } for (QueryExecutor queryExecutor : queryExecutorList) { queryExecutor.finish(); } } catch (QueryExecutionException e) { - LOGGER.error(e, "Problem while finish: "); + LOGGER.error(e, "Problem while close: "); --- End diff -- please add `ignoring the exception` to the log message --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2217 Build Success with Spark 2.2.1, Please check CI http://88.99.58.216:8080/job/ApacheCarbonPRBuilder/4249/ --- |
In reply to this post by qiuchenjian-2
Github user ravipesala commented on the issue:
https://github.com/apache/carbondata/pull/2217 SDV Build Success , Please check CI http://144.76.159.231:8080/job/ApacheSDVTests/4554/ --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2217 Build Failed with Spark 2.1.0, Please check CI http://136.243.101.176:8080/job/ApacheCarbonPRBuilder1/5417/ --- |
In reply to this post by qiuchenjian-2
Github user ravipesala commented on the issue:
https://github.com/apache/carbondata/pull/2217 retest this please --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2217 Build Success with Spark 2.2.1, Please check CI http://88.99.58.216:8080/job/ApacheCarbonPRBuilder/4263/ --- |
In reply to this post by qiuchenjian-2
Github user CarbonDataQA commented on the issue:
https://github.com/apache/carbondata/pull/2217 Build Success with Spark 2.1.0, Please check CI http://136.243.101.176:8080/job/ApacheCarbonPRBuilder1/5430/ --- |
In reply to this post by qiuchenjian-2
Github user ravipesala commented on the issue:
https://github.com/apache/carbondata/pull/2217 LGTM --- |
In reply to this post by qiuchenjian-2
|
Free forum by Nabble | Edit this page |