Github user KanakaKumar commented on a diff in the pull request: https://github.com/apache/carbondata/pull/3059#discussion_r246826911 --- Diff: processing/src/main/java/org/apache/carbondata/processing/util/CarbonLoaderUtil.java --- @@ -609,6 +609,14 @@ public static Dictionary getDictionary(AbsoluteTableIdentifier absoluteTableIden blockAssignmentStrategy = BlockAssignmentStrategy.BLOCK_SIZE_FIRST; } else { blockAssignmentStrategy = BlockAssignmentStrategy.BLOCK_NUM_FIRST; + // fall back to BLOCK_NUM_FIRST strategy need to reset + // the average expected size for each node + if (blockInfos.size() > 0) { + sizePerNode = blockInfos.size() / numOfNodes; --- End diff -- This logic can be simplified like below. sizePerNode = blockInfos.size() / numOfNodes; sizePerNode = sizePerNode == 0 ? 1 : sizePerNode Also, please avoid DivideByZeroError if numOfNodes is zero in a faulty cluster case.
---