Github user akashrn5 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2583#discussion_r207103282
--- Diff:
core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java ---
@@ -2651,8 +2651,17 @@ public static int isFilterPresent(byte[][]
filterValues,
carbonIndexSize = getCarbonIndexSize(fileStore, locationMap);
for (Map.Entry<String, List<String>> entry :
indexFilesMap.entrySet()) {
// get the size of carbondata files
+ String tempBlockFilePath = null;
for (String blockFile : entry.getValue()) {
- carbonDataSize += FileFactory.getCarbonFile(blockFile).getSize();
+ // the indexFileMap contains all the blocklets and index file
mapping. For example, if one
+ // block contains 3 blocklets, then entry.getValue() will list
all the blocklets of all
+ // the block present in it. Since all the three blocklets will
have the same block path,
+ // so just get the size of one block path for exact data size
and avoid wrong datasize
+ // calculation.
+ if (!blockFile.equals(tempBlockFilePath)) {
--- End diff --
ok, i will check and remove this change
---