You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by ku...@apache.org on 2018/12/24 08:00:01 UTC
carbondata git commit: [CARBONDATA-3192] Fix for compaction
compatibilty issue
Repository: carbondata
Updated Branches:
refs/heads/master 10bc5c2ec -> f4c1c672b
[CARBONDATA-3192] Fix for compaction compatibilty issue
Problem: Table Created, Loaded and Altered(Column added) in 1.5.1 version and Refreshed, Altered(Added Column dropped) ,
Loaded and Compacted with Varchar Columns in new version giving error.
Solution: Corrected the Varchar Dimension index calculation by calculating it based on the columns
which have been deleted (invisibleColumns). Hence giving the correct ordinals after deletion.
This closes #3016
Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo
Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/f4c1c672
Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/f4c1c672
Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/f4c1c672
Branch: refs/heads/master
Commit: f4c1c672be19201c2c98fe84f6143f1323a60bbf
Parents: 10bc5c2
Author: manishnalla1994 <ma...@gmail.com>
Authored: Fri Dec 21 19:11:46 2018 +0530
Committer: kumarvishal09 <ku...@gmail.com>
Committed: Mon Dec 24 13:29:28 2018 +0530
----------------------------------------------------------------------
.../processing/store/CarbonFactDataHandlerModel.java | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/carbondata/blob/f4c1c672/processing/src/main/java/org/apache/carbondata/processing/store/CarbonFactDataHandlerModel.java
----------------------------------------------------------------------
diff --git a/processing/src/main/java/org/apache/carbondata/processing/store/CarbonFactDataHandlerModel.java b/processing/src/main/java/org/apache/carbondata/processing/store/CarbonFactDataHandlerModel.java
index e759c02..c60da45 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/store/CarbonFactDataHandlerModel.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/store/CarbonFactDataHandlerModel.java
@@ -314,18 +314,23 @@ public class CarbonFactDataHandlerModel {
// for dynamic page size in write step if varchar columns exist
List<Integer> varcharDimIdxInNoDict = new ArrayList<>();
- List<CarbonDimension> allDimensions = carbonTable.getDimensions();
+ List<CarbonDimension> allDimensions = carbonTable.getAllDimensions();
int dictDimCount = allDimensions.size() - segmentProperties.getNumberOfNoDictionaryDimension()
- segmentProperties.getComplexDimensions().size();
CarbonColumn[] noDicAndComplexColumns =
new CarbonColumn[segmentProperties.getNumberOfNoDictionaryDimension() + segmentProperties
.getComplexDimensions().size()];
int noDicAndComp = 0;
+ int invisibleCount = 0;
for (CarbonDimension dim : allDimensions) {
+ if (dim.isInvisible()) {
+ invisibleCount++;
+ continue;
+ }
if (!dim.isComplex() && !dim.hasEncoding(Encoding.DICTIONARY) &&
dim.getDataType() == DataTypes.VARCHAR) {
// ordinal is set in CarbonTable.fillDimensionsAndMeasuresForTables()
- varcharDimIdxInNoDict.add(dim.getOrdinal() - dictDimCount);
+ varcharDimIdxInNoDict.add(dim.getOrdinal() - dictDimCount - invisibleCount);
}
if (!dim.hasEncoding(Encoding.DICTIONARY)) {
noDicAndComplexColumns[noDicAndComp++] =