[
https://issues.apache.org/jira/browse/CARBONDATA-229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15473172#comment-15473172
]
ASF GitHub Bot commented on CARBONDATA-229:
-------------------------------------------
GitHub user manishgupta88 opened a pull request:
https://github.com/apache/incubator-carbondata/pull/143
[CARBONDATA-229] Array Index of bound exception thrown from dictionary look
up while writing sort index file
Problem: Array Index of bound exception thrown from dictionary look up
while writing sort index file
Analysis: Whenever we load dictionary data into memory, then in case of
populating reverse dictionary object sometimes a chunk which has no value is
also getting added to the dictionary chunk list. This is happening because the
logic for dictionary chunk distribution in case of forward dictionary is not
implemented for reverse dictionary and 0 size dictionary chunks are not getting
removed while adding to the list of dictionary chunks.
Solution: Add the same distribution logic we have in forward dictionary for
populating reverse dictionary object
Impact area: Sort index generation
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/manishgupta88/incubator-carbondata
dictionary_chunk_addition_issue
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-carbondata/pull/143.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 #143
----
commit 1102eed75692b6c0d4094a6e7f71e83464453d13
Author: manishgupta88 <[email protected]>
Date: 2016-09-08T07:38:56Z
Problem: Array Index of bound exception thrown from dictionary look up
while writing sort index file
Analysis: Whenever we load dictionary data into memory, then in case of
populating reverse dictionary object sometimes a chunk which has no value is
also getting added to the dictionary chunk list. This is happening because the
logic for dictionary chunk distribution in case of forward dictionary is not
implemented for reverse dictionary and 0 size dictionary chunks are not getting
removed while adding to the list of dictionary chunks.
Solution: Add the same distribution logic we have in forward dictionary for
populating reverse dictionary object
Impact area: Sort index generation
----
> Array Index of bound exception thrown from dictionary look up while writing
> sort index file
> -------------------------------------------------------------------------------------------
>
> Key: CARBONDATA-229
> URL: https://issues.apache.org/jira/browse/CARBONDATA-229
> Project: CarbonData
> Issue Type: Bug
> Reporter: Manish Gupta
> Assignee: Manish Gupta
>
> Whenever we load dictionary data into memory, then in case of populating
> reverse dictionary object sometimes a chunk which has no value is also
> getting added to the dictionary chunk list. This is happening because the
> logic for dictionary chunk distribution in case of forward dictionary is not
> implemented for reverse dictionary and 0 size dictionary chunks are not
> getting removed while adding to the list of dictionary chunks.
> java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> at java.util.ArrayList.rangeCheck(ArrayList.java:653)
> at java.util.ArrayList.get(ArrayList.java:429)
> at
> org.apache.carbondata.core.cache.dictionary.DictionaryChunksWrapper.next(DictionaryChunksWrapper.java:92)
> at
> org.apache.carbondata.core.writer.sortindex.CarbonDictionarySortInfoPreparator.prepareDictionarySortModels(CarbonDictionarySortInfoPreparator.java:120)
> at
> org.apache.carbondata.core.writer.sortindex.CarbonDictionarySortInfoPreparator.getDictionarySortInfo(CarbonDictionarySortInfoPreparator.java:51)
> at
> org.apache.carbondata.spark.tasks.SortIndexWriterTask.execute(SortIndexWriterTask.scala:44)
> at
> org.apache.carbondata.spark.rdd.CarbonGlobalDictionaryGenerateRDD$$anon$1.<init>(CarbonGlobalDictionaryRDD.scala:387)
> at
> org.apache.carbondata.spark.rdd.CarbonGlobalDictionaryGenerateRDD.compute(CarbonGlobalDictionaryRDD.scala:294)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)