GitHub user BJangir opened a pull request:
https://github.com/apache/carbondata/pull/2796
[CARBONDATA-2991]NegativeArraySizeException during query execution
Issue :- During Query Execution sometime NegativeArraySizeException
Exception in Some Tasks . And sometime Executor is lost (JVM crash)
Root Cause :- It is because existing memoryblock is removed while it was
in-use. This happened because duplicate taskid generated. Sometime freed same
memory addresses are assigned to another task which will initialize memory
block to0 and this cause NegativeSizeArrayException whereas sometime freed
memory will not be used any task of executor process but running task will try
to access it and as that address is not part of process so JVM crash will
happen.
Solution :- Change taskID generation to UUID based instead of
System.nanoTime()
Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:
- [ ] Any interfaces changed?
NA
- [ ] Any backward compatibility impacted?
NA
- [ ] Document update required?
NA
- [ ] 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.
Manual Testing Done
- [ ] For large changes, please consider breaking it into sub-tasks under
an umbrella JIRA.
NA
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/BJangir/incubator-carbondata CARBONDATA-2991
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/carbondata/pull/2796.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 #2796
----
commit b41b35f9fdd86e7080e2d03d3219e260bcad7d31
Author: BJangir <babulaljangir111@...>
Date: 2018-10-03T17:35:42Z
[CARBONDATA-2991]NegativeArraySizeException during query execution
----
---