You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by xu...@apache.org on 2020/02/02 09:38:07 UTC

[carbondata] branch master updated: [CARBONDATA-3575] Remove redundant exception throws

This is an automated email from the ASF dual-hosted git repository.

xubo245 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/carbondata.git


The following commit(s) were added to refs/heads/master by this push:
     new 6ec8e32  [CARBONDATA-3575] Remove redundant exception throws
6ec8e32 is described below

commit 6ec8e32ddfd96d34968d08e5bb2ce27a5741628f
Author: Jacky Li <ja...@qq.com>
AuthorDate: Thu Jan 30 03:34:10 2020 +0800

    [CARBONDATA-3575] Remove redundant exception throws
    
    Remove redundant exception throws
    
    This closes #3597
---
 .../org/apache/carbondata/core/cache/Cache.java    |  7 +-
 .../core/datamap/DataMapDistributable.java         |  5 +-
 .../core/datamap/DataMapStoreManager.java          |  5 +-
 .../carbondata/core/datamap/DataMapUtil.java       |  5 +-
 .../core/datamap/DistributableDataMapFormat.java   | 18 ++--
 .../apache/carbondata/core/datamap/Segment.java    |  3 +-
 .../carbondata/core/datamap/TableDataMap.java      |  4 +-
 .../core/datamap/dev/CacheableDataMap.java         |  3 +-
 .../carbondata/core/datamap/dev/DataMap.java       | 10 +--
 .../core/datamap/dev/DataMapFactory.java           |  3 +-
 .../datamap/dev/cgdatamap/CoarseGrainDataMap.java  |  7 +-
 .../dev/expr/DataMapDistributableWrapper.java      |  5 +-
 .../datamap/dev/expr/DataMapExprWrapperImpl.java   |  6 +-
 .../datamap/dev/fgdatamap/FineGrainDataMap.java    |  7 +-
 .../block/SegmentPropertiesAndSchemaHolder.java    |  5 +-
 .../blocklet/BlockletEncodedColumnPage.java        |  3 +-
 .../chunk/impl/DimensionRawColumnChunk.java        | 10 +--
 .../chunk/impl/MeasureRawColumnChunk.java          |  7 +-
 .../chunk/reader/DimensionColumnChunkReader.java   |  6 +-
 .../chunk/reader/MeasureColumnChunkReader.java     |  5 +-
 .../dimension/AbstractDimensionChunkReader.java    |  3 +-
 .../dimension/v3/DimensionChunkPageReaderV3.java   |  3 +-
 .../dimension/v3/DimensionChunkReaderV3.java       | 16 ++--
 .../measure/v3/MeasureChunkPageReaderV3.java       |  3 +-
 .../reader/measure/v3/MeasureChunkReaderV3.java    |  9 +-
 .../core/datastore/compression/ZstdCompressor.java |  4 +-
 .../core/datastore/filesystem/LocalCarbonFile.java | 24 ++----
 .../carbondata/core/datastore/page/ColumnPage.java | 49 ++++-------
 .../core/datastore/page/ComplexColumnPage.java     | 11 +--
 .../core/datastore/page/EncodedTablePage.java      |  8 +-
 .../core/datastore/page/LazyColumnPage.java        |  5 +-
 .../core/datastore/page/LocalDictColumnPage.java   |  5 --
 .../datastore/page/SafeFixLengthColumnPage.java    |  6 +-
 .../datastore/page/UnsafeDecimalColumnPage.java    | 15 +---
 .../datastore/page/UnsafeFixLengthColumnPage.java  | 56 +++----------
 .../datastore/page/UnsafeVarLengthColumnPage.java  | 10 +--
 .../datastore/page/VarLengthColumnPageBase.java    | 31 +++----
 .../datastore/page/encoding/ColumnPageDecoder.java | 10 +--
 .../datastore/page/encoding/ColumnPageEncoder.java | 17 ++--
 .../page/encoding/adaptive/AdaptiveCodec.java      |  9 +-
 .../adaptive/AdaptiveDeltaFloatingCodec.java       | 14 ++--
 .../adaptive/AdaptiveDeltaIntegralCodec.java       | 14 ++--
 .../encoding/adaptive/AdaptiveFloatingCodec.java   | 14 ++--
 .../encoding/adaptive/AdaptiveIntegralCodec.java   | 13 ++-
 .../encoding/compress/DirectCompressCodec.java     | 12 +--
 .../dimension/legacy/IndexStorageEncoder.java      |  6 +-
 .../core/datastore/page/encoding/rle/RLECodec.java | 11 +--
 .../core/datastore/row/WriteStepRowUtil.java       |  3 +-
 .../core/indexstore/AbstractMemoryDMStore.java     |  9 +-
 .../core/indexstore/BlockletDataMapIndexStore.java | 11 +--
 .../core/indexstore/SafeMemoryDMStore.java         |  6 +-
 .../core/indexstore/SegmentPropertiesFetcher.java  |  2 +-
 .../core/indexstore/UnsafeMemoryDMStore.java       | 11 ++-
 .../indexstore/blockletindex/BlockDataMap.java     | 38 +++------
 .../indexstore/blockletindex/BlockletDataMap.java  | 17 +---
 .../blockletindex/BlockletDataMapFactory.java      | 12 ++-
 .../blockletindex/SegmentIndexFileStore.java       |  4 +-
 .../core/indexstore/schema/SchemaGenerator.java    |  4 +-
 .../carbondata/core/keygenerator/KeyGenerator.java |  6 +-
 .../keygenerator/columnar/ColumnarSplitter.java    |  8 +-
 .../MultiDimKeyVarLengthEquiSplitGenerator.java    |  5 +-
 ...MultiDimKeyVarLengthVariableSplitGenerator.java |  5 +-
 .../mdkey/MultiDimKeyVarLengthGenerator.java       |  6 +-
 .../core/localdictionary/PageLevelDictionary.java  |  5 +-
 .../carbondata/core/metadata/SegmentFileStore.java |  5 +-
 .../core/metadata/datatype/DataTypeAdapter.java    |  2 +-
 .../table/DatabaseDMSchemaStorageProvider.java     |  3 +-
 .../LatestFilesReadCommittedScope.java             |  5 +-
 .../core/readcommitter/ReadCommittedScope.java     |  3 +-
 .../TableStatusReadCommittedScope.java             |  3 +-
 .../core/reader/CarbonDeleteDeltaFileReader.java   |  2 +-
 .../reader/CarbonDeleteDeltaFileReaderImpl.java    |  3 +-
 .../core/reader/CarbonDeleteFilesDataReader.java   |  3 +-
 .../core/reader/CarbonDictionaryReader.java        | 10 +--
 .../core/reader/CarbonIndexFileReader.java         |  3 +-
 .../impl/RestructureBasedRawResultCollector.java   |  9 +-
 .../core/scan/executor/QueryExecutor.java          |  4 +-
 .../scan/executor/impl/AbstractQueryExecutor.java  | 15 +---
 .../scan/executor/impl/DetailQueryExecutor.java    |  3 +-
 .../executor/impl/VectorDetailQueryExecutor.java   |  4 +-
 .../core/scan/executor/util/QueryUtil.java         |  9 +-
 .../core/scan/expression/MatchExpression.java      |  5 +-
 .../expression/conditional/ImplicitExpression.java |  5 +-
 .../scan/expression/logical/FalseExpression.java   |  7 +-
 .../scan/expression/logical/TrueExpression.java    |  7 +-
 .../scan/filter/FilterExpressionProcessor.java     |  9 +-
 .../core/scan/filter/FilterProcessor.java          |  4 +-
 .../carbondata/core/scan/filter/FilterUtil.java    | 95 +++++++---------------
 .../filter/executer/ExcludeFilterExecuterImpl.java |  4 +-
 .../scan/filter/executer/FalseFilterExecutor.java  | 17 +---
 .../ImplicitIncludeFilterExecutorImpl.java         | 10 +--
 .../filter/executer/IncludeFilterExecuterImpl.java |  3 +-
 .../executer/RangeValueFilterExecuterImpl.java     |  9 +-
 .../filter/executer/RestructureEvaluatorImpl.java  |  3 +-
 .../RestructureExcludeFilterExecutorImpl.java      |  3 +-
 .../RestructureIncludeFilterExecutorImpl.java      |  3 +-
 .../executer/RowLevelFilterExecuterImpl.java       | 10 +--
 .../RowLevelRangeGrtThanFiterExecuterImpl.java     |  6 +-
 ...LevelRangeGrtrThanEquaToFilterExecuterImpl.java |  6 +-
 ...wLevelRangeLessThanEqualFilterExecuterImpl.java |  6 +-
 .../RowLevelRangeLessThanFilterExecuterImpl.java   |  6 +-
 .../scan/filter/executer/TrueFilterExecutor.java   |  8 +-
 .../resolver/ConditionalFilterResolverImpl.java    |  3 +-
 .../scan/filter/resolver/FilterResolverIntf.java   |  5 +-
 .../resolverinfo/DimColumnResolvedFilterInfo.java  |  3 +-
 .../MeasureColumnResolvedFilterInfo.java           |  3 +-
 .../visitor/ResolvedFilterInfoVisitorIntf.java     |  4 +-
 .../iterator/ColumnDriftRawResultIterator.java     |  3 +-
 .../scan/result/iterator/RawResultIterator.java    |  7 +-
 .../core/statusmanager/SegmentStatusManager.java   |  2 +-
 .../statusmanager/SegmentUpdateStatusManager.java  | 10 +--
 .../carbondata/core/util/CarbonMetadataUtil.java   |  3 +-
 .../apache/carbondata/core/util/CarbonUtil.java    |  6 +-
 .../core/writer/CarbonIndexFileMergeWriter.java    |  6 +-
 .../carbondata/events/OperationEventListener.java  |  2 +-
 .../apache/carbondata/hadoop/CarbonInputSplit.java |  2 +-
 ...KeyVarLengthVariableSplitGeneratorUnitTest.java | 24 +++---
 .../localdictionary/TestPageLevelDictionary.java   |  4 -
 .../core/scan/executor/util/QueryUtilTest.java     | 15 +---
 .../datamap/bloom/AbstractBloomDataMapWriter.java  |  9 +-
 .../datamap/bloom/BloomCoarseGrainDataMap.java     |  5 +-
 .../bloom/BloomCoarseGrainDataMapFactory.java      |  3 +-
 .../datamap/bloom/BloomDataMapBuilder.java         |  6 +-
 .../datamap/bloom/BloomDataMapCache.java           | 11 +--
 .../datamap/lucene/LuceneDataMapWriter.java        |  4 +-
 .../lucene/LuceneFineGrainDataMapFactory.java      | 19 +----
 .../examples/sql/JavaCarbonSessionExample.java     |  2 -
 .../carbondata/hadoop/CacheAccessClient.java       |  4 +-
 .../carbondata/hadoop/CarbonRecordReader.java      | 12 +--
 .../carbondata/hadoop/api/CarbonInputFormat.java   |  8 +-
 .../readsupport/impl/CarbonRowReadSupport.java     |  4 +-
 .../hadoop/stream/StreamBlockletReader.java        |  2 +-
 .../hadoop/stream/StreamRecordReader.java          |  6 +-
 .../carbondata/hadoop/testutil/StoreCreator.java   |  2 +-
 .../hadoop/util/CarbonVectorizedRecordReader.java  | 13 ++-
 .../carbon/flink/ProxyFileSystemFactory.java       |  3 +-
 .../org/apache/carbon/flink/ProxyFileWriter.java   |  2 +-
 .../carbon/flink/ProxyRecoverableOutputStream.java |  4 +-
 .../carbondata/hive/CarbonHiveRecordReader.java    | 17 ++--
 .../apache/carbondata/hive/CarbonHiveSerDe.java    |  7 +-
 .../carbondata/hive/MapredCarbonInputFormat.java   |  2 +-
 .../carbondata/hive/MapredCarbonOutputFormat.java  |  4 +-
 .../carbondata/hive/WritableReadSupport.java       |  2 +-
 .../carbondata/presto/CarbondataPageSource.java    |  4 +-
 .../presto/PrestoCarbonVectorizedRecordReader.java | 20 ++---
 .../carbondata/presto/impl/CarbonTableReader.java  |  2 +-
 .../testsuite/datamap/CGDataMapTestCase.scala      |  2 +
 .../vectorreader/VectorizedCarbonRecordReader.java | 17 +---
 .../org/apache/spark/sql/ColumnVectorFactory.java  |  1 -
 .../SparkGenericRowReadSupportImpl.java            |  3 +-
 .../stream/CarbonStreamRecordReader.java           |  2 +-
 .../processing/datatypes/PrimitiveDataType.java    |  3 +-
 .../processing/loading/DataLoadExecutor.java       |  2 +-
 .../processing/loading/DataLoadProcessBuilder.java |  4 +-
 .../loading/TableProcessingOperations.java         |  2 +-
 .../processing/loading/converter/RowConverter.java |  4 +-
 .../loading/converter/impl/RowConverterImpl.java   |  3 +-
 .../loading/csvinput/CSVInputFormat.java           | 12 +--
 .../sort/impl/ParallelReadMergeSorterImpl.java     |  6 +-
 ...ParallelReadMergeSorterWithColumnRangeImpl.java | 28 +++----
 .../loading/sort/unsafe/UnsafeSortDataRows.java    | 10 +--
 .../holder/UnsafeSortTempFileChunkHolder.java      |  2 +-
 .../UnsafeInMemoryIntermediateDataMerger.java      | 11 +--
 .../unsafe/merger/UnsafeIntermediateMerger.java    |  5 +-
 .../CarbonRowDataWriterProcessorStepImpl.java      | 12 +--
 .../loading/steps/InputProcessorStepImpl.java      |  2 +-
 .../merger/CarbonCompactionExecutor.java           |  6 +-
 .../merger/CompactionResultSortProcessor.java      | 10 +--
 .../merger/RowResultMergerProcessor.java           | 12 +--
 .../sortdata/SingleThreadFinalSortFilesMerger.java |  6 +-
 .../processing/sort/sortdata/SortDataRows.java     |  5 +-
 .../sort/sortdata/SortTempFileChunkHolder.java     |  2 +-
 .../store/CarbonFactDataHandlerColumnar.java       |  9 +-
 .../carbondata/processing/store/TablePage.java     | 25 ++----
 .../processing/util/CarbonLoaderUtil.java          |  3 +-
 .../apache/carbondata/sdk/file/CarbonReader.java   |  2 +-
 .../org/apache/carbondata/sdk/file/Schema.java     |  2 +-
 .../apache/carbondata/sdk/file/utils/SDKUtil.java  |  8 +-
 .../org/apache/carbondata/store/CarbonStore.java   |  3 +-
 .../apache/carbondata/store/LocalCarbonStore.java  |  2 +-
 .../carbondata/store/MetaCachedCarbonStore.java    |  2 +-
 .../streaming/CarbonStreamOutputFormat.java        |  6 +-
 .../streaming/CarbonStreamRecordWriter.java        |  6 +-
 .../java/org/apache/carbondata/tool/CarbonCli.java |  9 +-
 .../java/org/apache/carbondata/tool/Command.java   |  4 +-
 .../java/org/apache/carbondata/tool/DataFile.java  |  7 +-
 .../org/apache/carbondata/tool/DataSummary.java    |  9 +-
 .../org/apache/carbondata/tool/FileCollector.java  |  2 +-
 .../org/apache/carbondata/tool/ScanBenchmark.java  | 23 +++---
 189 files changed, 520 insertions(+), 1019 deletions(-)

diff --git a/core/src/main/java/org/apache/carbondata/core/cache/Cache.java b/core/src/main/java/org/apache/carbondata/core/cache/Cache.java
index 6df36fc..ccafede 100644
--- a/core/src/main/java/org/apache/carbondata/core/cache/Cache.java
+++ b/core/src/main/java/org/apache/carbondata/core/cache/Cache.java
@@ -20,8 +20,6 @@ package org.apache.carbondata.core.cache;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.carbondata.core.memory.MemoryException;
-
 /**
  * A semi-persistent mapping from keys to values. Cache entries are manually added using
  * #get(Key), #getAll(List<Keys>) , and are stored in the cache until
@@ -40,9 +38,8 @@ public interface Cache<K, V> {
    *
    * @param key
    * @return
-   * @throws IOException in case memory is not sufficient to load data into memory
    */
-  V get(K key) throws IOException;
+  V get(K key);
 
   /**
    * This method will return a list of values for the given list of keys.
@@ -76,7 +73,7 @@ public interface Cache<K, V> {
    * @param key
    * @param value
    */
-  void put(K key, V value) throws IOException, MemoryException;
+  void put(K key, V value) throws IOException;
 
   /**
    * Access count of Cacheable entry will be decremented
diff --git a/core/src/main/java/org/apache/carbondata/core/datamap/DataMapDistributable.java b/core/src/main/java/org/apache/carbondata/core/datamap/DataMapDistributable.java
index 2955e4f..76f5c76 100644
--- a/core/src/main/java/org/apache/carbondata/core/datamap/DataMapDistributable.java
+++ b/core/src/main/java/org/apache/carbondata/core/datamap/DataMapDistributable.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.datamap;
 
-import java.io.IOException;
 import java.io.Serializable;
 
 import org.apache.carbondata.common.annotations.InterfaceAudience;
@@ -70,7 +69,7 @@ public abstract class DataMapDistributable extends InputSplit
   }
 
   @Override
-  public String[] getLocations() throws IOException {
+  public String[] getLocations() {
     return locations;
   }
 
@@ -80,7 +79,7 @@ public abstract class DataMapDistributable extends InputSplit
   }
 
   @Override
-  public long getLength() throws IOException, InterruptedException {
+  public long getLength() {
     return 0;
   }
 }
diff --git a/core/src/main/java/org/apache/carbondata/core/datamap/DataMapStoreManager.java b/core/src/main/java/org/apache/carbondata/core/datamap/DataMapStoreManager.java
index 6bd4027..6a4a5de 100644
--- a/core/src/main/java/org/apache/carbondata/core/datamap/DataMapStoreManager.java
+++ b/core/src/main/java/org/apache/carbondata/core/datamap/DataMapStoreManager.java
@@ -485,8 +485,7 @@ public final class DataMapStoreManager {
   }
 
   public List<String> getSegmentsToBeRefreshed(CarbonTable carbonTable,
-      SegmentUpdateStatusManager updateStatusManager, List<Segment> filteredSegmentToAccess)
-      throws IOException {
+      SegmentUpdateStatusManager updateStatusManager, List<Segment> filteredSegmentToAccess) {
     List<String> toBeCleanedSegments = new ArrayList<>();
     for (Segment filteredSegment : filteredSegmentToAccess) {
       boolean refreshNeeded = getTableSegmentRefresher(carbonTable).isRefreshNeeded(filteredSegment,
@@ -726,7 +725,7 @@ public final class DataMapStoreManager {
       }
     }
 
-    public boolean isRefreshNeeded(Segment seg, UpdateVO updateVo) throws IOException {
+    public boolean isRefreshNeeded(Segment seg, UpdateVO updateVo) {
       SegmentRefreshInfo segmentRefreshInfo =
           seg.getSegmentRefreshInfo(updateVo);
       String segmentId = seg.getSegmentNo();
diff --git a/core/src/main/java/org/apache/carbondata/core/datamap/DataMapUtil.java b/core/src/main/java/org/apache/carbondata/core/datamap/DataMapUtil.java
index 0db5901..fb60b0a 100644
--- a/core/src/main/java/org/apache/carbondata/core/datamap/DataMapUtil.java
+++ b/core/src/main/java/org/apache/carbondata/core/datamap/DataMapUtil.java
@@ -237,7 +237,7 @@ public class DataMapUtil {
   public static List<ExtendedBlocklet> executeDataMapJob(CarbonTable carbonTable,
       FilterResolverIntf resolver, DataMapJob dataMapJob, List<PartitionSpec> partitionsToPrune,
       List<Segment> validSegments, List<Segment> invalidSegments, DataMapLevel level,
-      List<String> segmentsToBeRefreshed) throws IOException {
+      List<String> segmentsToBeRefreshed) {
     return executeDataMapJob(carbonTable, resolver, dataMapJob, partitionsToPrune, validSegments,
         invalidSegments, level, false, segmentsToBeRefreshed, false);
   }
@@ -250,8 +250,7 @@ public class DataMapUtil {
   public static List<ExtendedBlocklet> executeDataMapJob(CarbonTable carbonTable,
       FilterResolverIntf resolver, DataMapJob dataMapJob, List<PartitionSpec> partitionsToPrune,
       List<Segment> validSegments, List<Segment> invalidSegments, DataMapLevel level,
-      Boolean isFallbackJob, List<String> segmentsToBeRefreshed, boolean isCountJob)
-      throws IOException {
+      Boolean isFallbackJob, List<String> segmentsToBeRefreshed, boolean isCountJob) {
     List<String> invalidSegmentNo = new ArrayList<>();
     for (Segment segment : invalidSegments) {
       invalidSegmentNo.add(segment.getSegmentNo());
diff --git a/core/src/main/java/org/apache/carbondata/core/datamap/DistributableDataMapFormat.java b/core/src/main/java/org/apache/carbondata/core/datamap/DistributableDataMapFormat.java
index ea2f663..615d881 100644
--- a/core/src/main/java/org/apache/carbondata/core/datamap/DistributableDataMapFormat.java
+++ b/core/src/main/java/org/apache/carbondata/core/datamap/DistributableDataMapFormat.java
@@ -102,7 +102,7 @@ public class DistributableDataMapFormat extends FileInputFormat<Void, ExtendedBl
 
   DistributableDataMapFormat(CarbonTable table,
       List<Segment> validSegments, List<String> invalidSegments, boolean isJobToClearDataMaps,
-      String dataMapToClear) throws IOException {
+      String dataMapToClear) {
     this(table, null, validSegments, invalidSegments, null,
         isJobToClearDataMaps, null, false, false);
     this.dataMapToClear = dataMapToClear;
@@ -111,7 +111,7 @@ public class DistributableDataMapFormat extends FileInputFormat<Void, ExtendedBl
   public DistributableDataMapFormat(CarbonTable table, FilterResolverIntf filterResolverIntf,
       List<Segment> validSegments, List<String> invalidSegments, List<PartitionSpec> partitions,
       boolean isJobToClearDataMaps, DataMapLevel dataMapLevel, boolean isFallbackJob,
-      boolean isAsyncCall) throws IOException {
+      boolean isAsyncCall) {
     this.table = table;
     this.filterResolverIntf = filterResolverIntf;
     this.validSegments = validSegments;
@@ -138,14 +138,14 @@ public class DistributableDataMapFormat extends FileInputFormat<Void, ExtendedBl
 
   @Override
   public RecordReader<Void, ExtendedBlocklet> createRecordReader(InputSplit inputSplit,
-      TaskAttemptContext taskAttemptContext) throws IOException, InterruptedException {
+      TaskAttemptContext taskAttemptContext) {
     return new RecordReader<Void, ExtendedBlocklet>() {
       private Iterator<ExtendedBlocklet> blockletIterator;
       private ExtendedBlocklet currBlocklet;
 
       @Override
       public void initialize(InputSplit inputSplit, TaskAttemptContext taskAttemptContext)
-          throws IOException, InterruptedException {
+          throws IOException {
         DataMapDistributableWrapper distributable = (DataMapDistributableWrapper) inputSplit;
         distributable.getDistributable().getSegment().setReadCommittedScope(readCommittedScope);
         List<Segment> segmentsToLoad = new ArrayList<>();
@@ -168,7 +168,7 @@ public class DistributableDataMapFormat extends FileInputFormat<Void, ExtendedBl
       }
 
       @Override
-      public boolean nextKeyValue() throws IOException, InterruptedException {
+      public boolean nextKeyValue() {
         boolean hasNext = blockletIterator.hasNext();
         if (hasNext) {
           currBlocklet = blockletIterator.next();
@@ -180,22 +180,22 @@ public class DistributableDataMapFormat extends FileInputFormat<Void, ExtendedBl
       }
 
       @Override
-      public Void getCurrentKey() throws IOException, InterruptedException {
+      public Void getCurrentKey() {
         return null;
       }
 
       @Override
-      public ExtendedBlocklet getCurrentValue() throws IOException, InterruptedException {
+      public ExtendedBlocklet getCurrentValue() {
         return currBlocklet;
       }
 
       @Override
-      public float getProgress() throws IOException, InterruptedException {
+      public float getProgress() {
         return 0;
       }
 
       @Override
-      public void close() throws IOException {
+      public void close() {
       }
     };
   }
diff --git a/core/src/main/java/org/apache/carbondata/core/datamap/Segment.java b/core/src/main/java/org/apache/carbondata/core/datamap/Segment.java
index 6384ee9..708dc1d 100644
--- a/core/src/main/java/org/apache/carbondata/core/datamap/Segment.java
+++ b/core/src/main/java/org/apache/carbondata/core/datamap/Segment.java
@@ -173,8 +173,7 @@ public class Segment implements Serializable, Writable {
     return readCommittedScope.getCommittedIndexFile(this);
   }
 
-  public SegmentRefreshInfo getSegmentRefreshInfo(UpdateVO updateVo)
-      throws IOException {
+  public SegmentRefreshInfo getSegmentRefreshInfo(UpdateVO updateVo) {
     return readCommittedScope.getCommittedSegmentRefreshInfo(this, updateVo);
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/datamap/TableDataMap.java b/core/src/main/java/org/apache/carbondata/core/datamap/TableDataMap.java
index 7ff1645..664a7c6 100644
--- a/core/src/main/java/org/apache/carbondata/core/datamap/TableDataMap.java
+++ b/core/src/main/java/org/apache/carbondata/core/datamap/TableDataMap.java
@@ -368,7 +368,7 @@ public final class TableDataMap extends OperationEventListener {
    *
    * @return
    */
-  public List<DataMapDistributable> toDistributable(List<Segment> allsegments) throws IOException {
+  public List<DataMapDistributable> toDistributable(List<Segment> allsegments) {
     List<DataMapDistributable> distributables = new ArrayList<>();
     List<Segment> segments = getCarbonSegments(allsegments);
     for (Segment segment : segments) {
@@ -479,7 +479,7 @@ public final class TableDataMap extends OperationEventListener {
   }
 
   @Override
-  public void onEvent(Event event, OperationContext opContext) throws Exception {
+  public void onEvent(Event event, OperationContext opContext) {
     dataMapFactory.fireEvent(event);
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/datamap/dev/CacheableDataMap.java b/core/src/main/java/org/apache/carbondata/core/datamap/dev/CacheableDataMap.java
index e292c60..6292db1 100644
--- a/core/src/main/java/org/apache/carbondata/core/datamap/dev/CacheableDataMap.java
+++ b/core/src/main/java/org/apache/carbondata/core/datamap/dev/CacheableDataMap.java
@@ -23,7 +23,6 @@ import java.util.List;
 import org.apache.carbondata.core.datamap.DataMapDistributable;
 import org.apache.carbondata.core.indexstore.BlockletDataMapIndexWrapper;
 import org.apache.carbondata.core.indexstore.TableBlockIndexUniqueIdentifierWrapper;
-import org.apache.carbondata.core.memory.MemoryException;
 
 /**
  * Interface for data map caching
@@ -37,7 +36,7 @@ public interface CacheableDataMap {
    * @param blockletDataMapIndexWrapper
    */
   void cache(TableBlockIndexUniqueIdentifierWrapper tableBlockIndexUniqueIdentifierWrapper,
-      BlockletDataMapIndexWrapper blockletDataMapIndexWrapper) throws IOException, MemoryException;
+      BlockletDataMapIndexWrapper blockletDataMapIndexWrapper) throws IOException;
 
   /**
    * Get all the uncached distributables from the list.
diff --git a/core/src/main/java/org/apache/carbondata/core/datamap/dev/DataMap.java b/core/src/main/java/org/apache/carbondata/core/datamap/dev/DataMap.java
index 2d1944b..cc78cff 100644
--- a/core/src/main/java/org/apache/carbondata/core/datamap/dev/DataMap.java
+++ b/core/src/main/java/org/apache/carbondata/core/datamap/dev/DataMap.java
@@ -26,7 +26,6 @@ import org.apache.carbondata.core.datamap.Segment;
 import org.apache.carbondata.core.datastore.block.SegmentProperties;
 import org.apache.carbondata.core.indexstore.Blocklet;
 import org.apache.carbondata.core.indexstore.PartitionSpec;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.schema.table.CarbonTable;
 import org.apache.carbondata.core.scan.expression.Expression;
 import org.apache.carbondata.core.scan.filter.resolver.FilterResolverIntf;
@@ -40,8 +39,7 @@ public interface DataMap<T extends Blocklet> {
   /**
    * It is called to load the data map to memory or to initialize it.
    */
-  void init(DataMapModel dataMapModel)
-      throws MemoryException, IOException;
+  void init(DataMapModel dataMapModel) throws IOException;
 
   /**
    * Prune the datamap with resolved filter expression and partition information.
@@ -55,20 +53,20 @@ public interface DataMap<T extends Blocklet> {
    * blocklets where these filters can exist.
    */
   List<T> prune(Expression filter, SegmentProperties segmentProperties,
-      List<PartitionSpec> partitions, CarbonTable carbonTable) throws IOException;
+      List<PartitionSpec> partitions, CarbonTable carbonTable);
 
   /**
    * Prune the data maps for finding the row count. It returns a Map of
    * blockletpath and the row count
    */
-  long getRowCount(Segment segment, List<PartitionSpec> partitions) throws IOException;
+  long getRowCount(Segment segment, List<PartitionSpec> partitions);
 
   /**
    * Prune the data maps for finding the row count for each block. It returns a Map of
    * blockletpath and the row count
    */
   Map<String, Long> getRowCountForEachBlock(Segment segment, List<PartitionSpec> partitions,
-      Map<String, Long> blockletToRowCountMap) throws IOException;
+      Map<String, Long> blockletToRowCountMap);
 
   // TODO Move this method to Abstract class
   /**
diff --git a/core/src/main/java/org/apache/carbondata/core/datamap/dev/DataMapFactory.java b/core/src/main/java/org/apache/carbondata/core/datamap/dev/DataMapFactory.java
index 0895459..79e1eb4 100644
--- a/core/src/main/java/org/apache/carbondata/core/datamap/dev/DataMapFactory.java
+++ b/core/src/main/java/org/apache/carbondata/core/datamap/dev/DataMapFactory.java
@@ -118,8 +118,7 @@ public abstract class DataMapFactory<T extends DataMap> {
   /**
    * Get datamaps for distributable object.
    */
-  public abstract List<T> getDataMaps(DataMapDistributable distributable)
-      throws IOException;
+  public abstract List<T> getDataMaps(DataMapDistributable distributable) throws IOException;
 
   /**
    * Get all distributable objects of a segmentId
diff --git a/core/src/main/java/org/apache/carbondata/core/datamap/dev/cgdatamap/CoarseGrainDataMap.java b/core/src/main/java/org/apache/carbondata/core/datamap/dev/cgdatamap/CoarseGrainDataMap.java
index e1badc9..fc08d92 100644
--- a/core/src/main/java/org/apache/carbondata/core/datamap/dev/cgdatamap/CoarseGrainDataMap.java
+++ b/core/src/main/java/org/apache/carbondata/core/datamap/dev/cgdatamap/CoarseGrainDataMap.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.datamap.dev.cgdatamap;
 
-import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -40,18 +39,18 @@ public abstract class CoarseGrainDataMap implements DataMap<Blocklet> {
 
   @Override
   public List<Blocklet> prune(Expression expression, SegmentProperties segmentProperties,
-      List<PartitionSpec> partitions, CarbonTable carbonTable) throws IOException {
+      List<PartitionSpec> partitions, CarbonTable carbonTable) {
     throw new UnsupportedOperationException("Filter expression not supported");
   }
 
   @Override
-  public long getRowCount(Segment segment, List<PartitionSpec> partitions) throws IOException {
+  public long getRowCount(Segment segment, List<PartitionSpec> partitions) {
     throw new UnsupportedOperationException("Operation not supported");
   }
 
   @Override
   public Map<String, Long> getRowCountForEachBlock(Segment segment, List<PartitionSpec> partitions,
-      Map<String, Long> blockletToRowCountMap) throws IOException {
+      Map<String, Long> blockletToRowCountMap) {
     throw new UnsupportedOperationException("Operation not supported");
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/datamap/dev/expr/DataMapDistributableWrapper.java b/core/src/main/java/org/apache/carbondata/core/datamap/dev/expr/DataMapDistributableWrapper.java
index cacc1d3..7ec16b0 100644
--- a/core/src/main/java/org/apache/carbondata/core/datamap/dev/expr/DataMapDistributableWrapper.java
+++ b/core/src/main/java/org/apache/carbondata/core/datamap/dev/expr/DataMapDistributableWrapper.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.datamap.dev.expr;
 
-import java.io.IOException;
 import java.io.Serializable;
 
 import org.apache.carbondata.core.datamap.DataMapDistributable;
@@ -44,12 +43,12 @@ public class DataMapDistributableWrapper extends InputSplit implements Serializa
   }
 
   @Override
-  public long getLength() throws IOException, InterruptedException {
+  public long getLength() {
     return distributable.getLength();
   }
 
   @Override
-  public String[] getLocations() throws IOException, InterruptedException {
+  public String[] getLocations() {
     return distributable.getLocations();
   }
 }
diff --git a/core/src/main/java/org/apache/carbondata/core/datamap/dev/expr/DataMapExprWrapperImpl.java b/core/src/main/java/org/apache/carbondata/core/datamap/dev/expr/DataMapExprWrapperImpl.java
index 13ab156..7a26ba1 100644
--- a/core/src/main/java/org/apache/carbondata/core/datamap/dev/expr/DataMapExprWrapperImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/datamap/dev/expr/DataMapExprWrapperImpl.java
@@ -63,8 +63,7 @@ public class DataMapExprWrapperImpl implements DataMapExprWrapper {
   }
 
   @Override
-  public List<ExtendedBlocklet> pruneBlocklets(List<ExtendedBlocklet> blocklets)
-      throws IOException {
+  public List<ExtendedBlocklet> pruneBlocklets(List<ExtendedBlocklet> blocklets) {
     List<ExtendedBlocklet> blockletList = new ArrayList<>();
     for (ExtendedBlocklet blocklet: blocklets) {
       if (blocklet.getDataMapUniqueId().equals(uniqueId)) {
@@ -88,8 +87,7 @@ public class DataMapExprWrapperImpl implements DataMapExprWrapper {
   }
 
   @Override
-  public List<DataMapDistributableWrapper> toDistributable(List<Segment> segments)
-      throws IOException {
+  public List<DataMapDistributableWrapper> toDistributable(List<Segment> segments) {
     List<DataMapDistributable> dataMapDistributables = dataMap.toDistributable(segments);
     List<DataMapDistributableWrapper> wrappers = new ArrayList<>();
     for (DataMapDistributable distributable : dataMapDistributables) {
diff --git a/core/src/main/java/org/apache/carbondata/core/datamap/dev/fgdatamap/FineGrainDataMap.java b/core/src/main/java/org/apache/carbondata/core/datamap/dev/fgdatamap/FineGrainDataMap.java
index 062bc1e..c80dc17 100644
--- a/core/src/main/java/org/apache/carbondata/core/datamap/dev/fgdatamap/FineGrainDataMap.java
+++ b/core/src/main/java/org/apache/carbondata/core/datamap/dev/fgdatamap/FineGrainDataMap.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.datamap.dev.fgdatamap;
 
-import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -39,18 +38,18 @@ public abstract class FineGrainDataMap implements DataMap<FineGrainBlocklet> {
 
   @Override
   public List<FineGrainBlocklet> prune(Expression filter, SegmentProperties segmentProperties,
-      List<PartitionSpec> partitions, CarbonTable carbonTable) throws IOException {
+      List<PartitionSpec> partitions, CarbonTable carbonTable) {
     throw new UnsupportedOperationException("Filter expression not supported");
   }
 
   @Override
-  public long getRowCount(Segment segment, List<PartitionSpec> partitions) throws IOException {
+  public long getRowCount(Segment segment, List<PartitionSpec> partitions) {
     throw new UnsupportedOperationException("Operation not supported");
   }
 
   @Override
   public Map<String, Long> getRowCountForEachBlock(Segment segment, List<PartitionSpec> partitions,
-      Map<String, Long> blockletToRowCountMap) throws IOException {
+      Map<String, Long> blockletToRowCountMap) {
     throw new UnsupportedOperationException("Operation not supported");
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/block/SegmentPropertiesAndSchemaHolder.java b/core/src/main/java/org/apache/carbondata/core/datastore/block/SegmentPropertiesAndSchemaHolder.java
index 16a17b4..25c5686 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/block/SegmentPropertiesAndSchemaHolder.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/block/SegmentPropertiesAndSchemaHolder.java
@@ -32,7 +32,6 @@ import org.apache.carbondata.common.logging.LogServiceFactory;
 import org.apache.carbondata.core.constants.CarbonCommonConstants;
 import org.apache.carbondata.core.indexstore.schema.CarbonRowSchema;
 import org.apache.carbondata.core.indexstore.schema.SchemaGenerator;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.AbsoluteTableIdentifier;
 import org.apache.carbondata.core.metadata.schema.table.CarbonTable;
 import org.apache.carbondata.core.metadata.schema.table.column.CarbonColumn;
@@ -400,7 +399,7 @@ public class SegmentPropertiesAndSchemaHolder {
     }
 
     public CarbonRowSchema[] getTaskSummarySchemaForBlock(boolean storeBlockletCount,
-        boolean filePathToBeStored) throws MemoryException {
+        boolean filePathToBeStored) {
       if (null == taskSummarySchemaForBlock && filePathToBeStored) {
         synchronized (taskSchemaLock) {
           if (null == taskSummarySchemaForBlock) {
@@ -427,7 +426,7 @@ public class SegmentPropertiesAndSchemaHolder {
     }
 
     public CarbonRowSchema[] getTaskSummarySchemaForBlocklet(boolean storeBlockletCount,
-        boolean filePathToBeStored) throws MemoryException {
+        boolean filePathToBeStored) {
       if (null == taskSummarySchemaForBlocklet && filePathToBeStored) {
         synchronized (taskSchemaLock) {
           if (null == taskSummarySchemaForBlocklet) {
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/blocklet/BlockletEncodedColumnPage.java b/core/src/main/java/org/apache/carbondata/core/datastore/blocklet/BlockletEncodedColumnPage.java
index ed10459..d4fc6d5 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/blocklet/BlockletEncodedColumnPage.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/blocklet/BlockletEncodedColumnPage.java
@@ -32,7 +32,6 @@ import org.apache.carbondata.core.datastore.page.FallbackEncodedColumnPage;
 import org.apache.carbondata.core.datastore.page.encoding.EncodedColumnPage;
 import org.apache.carbondata.core.localdictionary.PageLevelDictionary;
 import org.apache.carbondata.core.localdictionary.generator.LocalDictionaryGenerator;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.format.LocalDictionaryChunk;
 
 import org.apache.log4j.Logger;
@@ -197,7 +196,7 @@ public class BlockletEncodedColumnPage {
     if (null != pageLevelDictionary) {
       try {
         return pageLevelDictionary.getLocalDictionaryChunkForBlocklet();
-      } catch (IOException | MemoryException e) {
+      } catch (IOException e) {
         throw new RuntimeException(e);
       }
     }
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/impl/DimensionRawColumnChunk.java b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/impl/DimensionRawColumnChunk.java
index cf65e59..b924b38 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/impl/DimensionRawColumnChunk.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/impl/DimensionRawColumnChunk.java
@@ -33,7 +33,6 @@ import org.apache.carbondata.core.datastore.compression.CompressorFactory;
 import org.apache.carbondata.core.datastore.page.ColumnPage;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageDecoder;
 import org.apache.carbondata.core.datastore.page.encoding.DefaultEncodingFactory;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.scan.result.vector.CarbonDictionary;
 import org.apache.carbondata.core.scan.result.vector.ColumnVectorInfo;
 import org.apache.carbondata.core.scan.result.vector.impl.CarbonDictionaryImpl;
@@ -76,7 +75,7 @@ public class DimensionRawColumnChunk extends AbstractRawColumnChunk {
         if (dataChunks[i] == null) {
           dataChunks[i] = chunkReader.decodeColumnPage(this, i, null);
         }
-      } catch (IOException | MemoryException e) {
+      } catch (IOException e) {
         throw new RuntimeException(e);
       }
     }
@@ -96,7 +95,7 @@ public class DimensionRawColumnChunk extends AbstractRawColumnChunk {
     if (dataChunks[pageNumber] == null) {
       try {
         dataChunks[pageNumber] = chunkReader.decodeColumnPage(this, pageNumber, null);
-      } catch (IOException | MemoryException e) {
+      } catch (IOException e) {
         throw new RuntimeException(e);
       }
     }
@@ -173,7 +172,7 @@ public class DimensionRawColumnChunk extends AbstractRawColumnChunk {
 
         Compressor compressor = CompressorFactory.getInstance().getCompressor(compressorName);
         localDictionary = getDictionary(getDataChunkV3().local_dictionary, compressor);
-      } catch (IOException | MemoryException e) {
+      } catch (IOException e) {
         throw new RuntimeException(e);
       }
     }
@@ -186,10 +185,9 @@ public class DimensionRawColumnChunk extends AbstractRawColumnChunk {
    * local dictionary chunk thrift object
    * @return local dictionary
    * @throws IOException
-   * @throws MemoryException
    */
   public static CarbonDictionary getDictionary(LocalDictionaryChunk localDictionaryChunk,
-      Compressor compressor) throws IOException, MemoryException {
+      Compressor compressor) throws IOException {
     if (null != localDictionaryChunk) {
       List<Encoding> encodings = localDictionaryChunk.getDictionary_meta().getEncoders();
       List<ByteBuffer> encoderMetas = localDictionaryChunk.getDictionary_meta().getEncoder_meta();
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/impl/MeasureRawColumnChunk.java b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/impl/MeasureRawColumnChunk.java
index c539958..75cddd9 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/impl/MeasureRawColumnChunk.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/impl/MeasureRawColumnChunk.java
@@ -25,7 +25,6 @@ import org.apache.carbondata.core.datastore.ReusableDataBuffer;
 import org.apache.carbondata.core.datastore.chunk.AbstractRawColumnChunk;
 import org.apache.carbondata.core.datastore.chunk.reader.MeasureColumnChunkReader;
 import org.apache.carbondata.core.datastore.page.ColumnPage;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.scan.result.vector.ColumnVectorInfo;
 
 /**
@@ -81,7 +80,7 @@ public class MeasureRawColumnChunk extends AbstractRawColumnChunk {
       if (columnPages[pageNumber] == null) {
         columnPages[pageNumber] = chunkReader.decodeColumnPage(this, pageNumber, null);
       }
-    } catch (IOException | MemoryException e) {
+    } catch (IOException e) {
       throw new RuntimeException(e);
     }
 
@@ -104,7 +103,7 @@ public class MeasureRawColumnChunk extends AbstractRawColumnChunk {
     }
     try {
       return chunkReader.decodeColumnPage(this, index, reusableDataBuffer);
-    } catch (IOException | MemoryException e) {
+    } catch (IOException e) {
       throw new RuntimeException(e);
     }
   }
@@ -121,7 +120,7 @@ public class MeasureRawColumnChunk extends AbstractRawColumnChunk {
     assert pageNumber < pagesCount;
     try {
       chunkReader.decodeColumnPageAndFillVector(this, pageNumber, vectorInfo, reusableDataBuffer);
-    } catch (IOException | MemoryException e) {
+    } catch (IOException e) {
       throw new RuntimeException(e);
     }
   }
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/DimensionColumnChunkReader.java b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/DimensionColumnChunkReader.java
index 88d5117..4b151ae 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/DimensionColumnChunkReader.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/DimensionColumnChunkReader.java
@@ -23,7 +23,6 @@ import org.apache.carbondata.core.datastore.FileReader;
 import org.apache.carbondata.core.datastore.ReusableDataBuffer;
 import org.apache.carbondata.core.datastore.chunk.DimensionColumnPage;
 import org.apache.carbondata.core.datastore.chunk.impl.DimensionRawColumnChunk;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.scan.result.vector.ColumnVectorInfo;
 
 /**
@@ -59,15 +58,14 @@ public interface DimensionColumnChunkReader {
    * @param dimensionRawColumnChunk raw data chunk
    * @param pageNumber page number to be processed
    * @return
-   * @throws IOException
    */
   DimensionColumnPage decodeColumnPage(DimensionRawColumnChunk dimensionRawColumnChunk,
-      int pageNumber, ReusableDataBuffer reusableDataBuffer) throws IOException, MemoryException;
+      int pageNumber, ReusableDataBuffer reusableDataBuffer) throws IOException;
 
   /**
    * Decodes the raw data chunk of given page number and fill the vector with decoded data.
    */
   void decodeColumnPageAndFillVector(DimensionRawColumnChunk dimensionRawColumnChunk,
       int pageNumber, ColumnVectorInfo vectorInfo, ReusableDataBuffer reusableDataBuffer)
-      throws IOException, MemoryException;
+      throws IOException;
 }
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/MeasureColumnChunkReader.java b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/MeasureColumnChunkReader.java
index ec6e961..3c4cb13 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/MeasureColumnChunkReader.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/MeasureColumnChunkReader.java
@@ -23,7 +23,6 @@ import org.apache.carbondata.core.datastore.FileReader;
 import org.apache.carbondata.core.datastore.ReusableDataBuffer;
 import org.apache.carbondata.core.datastore.chunk.impl.MeasureRawColumnChunk;
 import org.apache.carbondata.core.datastore.page.ColumnPage;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.scan.result.vector.ColumnVectorInfo;
 
 /**
@@ -59,13 +58,13 @@ public interface MeasureColumnChunkReader {
    * @throws IOException
    */
   ColumnPage decodeColumnPage(MeasureRawColumnChunk measureRawColumnChunk, int pageNumber,
-      ReusableDataBuffer reusableDataBuffer) throws IOException, MemoryException;
+      ReusableDataBuffer reusableDataBuffer) throws IOException;
 
   /**
    * Decode raw data and fill the vector
    */
   void decodeColumnPageAndFillVector(MeasureRawColumnChunk measureRawColumnChunk, int pageNumber,
       ColumnVectorInfo vectorInfo, ReusableDataBuffer reusableDataBuffer)
-      throws IOException, MemoryException;
+      throws IOException;
 
 }
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/dimension/AbstractDimensionChunkReader.java b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/dimension/AbstractDimensionChunkReader.java
index 8e09d04..91f6590 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/dimension/AbstractDimensionChunkReader.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/dimension/AbstractDimensionChunkReader.java
@@ -25,7 +25,6 @@ import org.apache.carbondata.core.datastore.ReusableDataBuffer;
 import org.apache.carbondata.core.datastore.chunk.impl.DimensionRawColumnChunk;
 import org.apache.carbondata.core.datastore.chunk.reader.DimensionColumnChunkReader;
 import org.apache.carbondata.core.datastore.compression.Compressor;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.blocklet.BlockletInfo;
 import org.apache.carbondata.core.scan.result.vector.ColumnVectorInfo;
 
@@ -78,7 +77,7 @@ public abstract class AbstractDimensionChunkReader implements DimensionColumnChu
   @Override
   public void decodeColumnPageAndFillVector(DimensionRawColumnChunk dimensionRawColumnChunk,
       int pageNumber, ColumnVectorInfo vectorInfo, ReusableDataBuffer reusableDataBuffer)
-      throws IOException, MemoryException {
+      throws IOException {
     throw new UnsupportedOperationException(
         "This operation is not supported in this reader " + this.getClass().getName());
   }
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/dimension/v3/DimensionChunkPageReaderV3.java b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/dimension/v3/DimensionChunkPageReaderV3.java
index f88624f..54efbf3 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/dimension/v3/DimensionChunkPageReaderV3.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/dimension/v3/DimensionChunkPageReaderV3.java
@@ -26,7 +26,6 @@ import org.apache.carbondata.core.datastore.ReusableDataBuffer;
 import org.apache.carbondata.core.datastore.chunk.DimensionColumnPage;
 import org.apache.carbondata.core.datastore.chunk.impl.DimensionRawColumnChunk;
 import org.apache.carbondata.core.datastore.compression.CompressorFactory;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.blocklet.BlockletInfo;
 import org.apache.carbondata.core.util.CarbonMetadataUtil;
 import org.apache.carbondata.core.util.CarbonUtil;
@@ -145,7 +144,7 @@ public class DimensionChunkPageReaderV3
   public DimensionColumnPage decodeColumnPage(
       DimensionRawColumnChunk dimensionRawColumnChunk, int pageNumber,
       ReusableDataBuffer reusableDataBuffer)
-      throws IOException, MemoryException {
+      throws IOException {
     // data chunk of page
     DataChunk2 pageMetadata = null;
     // data chunk of blocklet column
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/dimension/v3/DimensionChunkReaderV3.java b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/dimension/v3/DimensionChunkReaderV3.java
index 56f8a74..2c00706 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/dimension/v3/DimensionChunkReaderV3.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/dimension/v3/DimensionChunkReaderV3.java
@@ -39,7 +39,6 @@ import org.apache.carbondata.core.datastore.page.ColumnPage;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageDecoder;
 import org.apache.carbondata.core.datastore.page.encoding.DefaultEncodingFactory;
 import org.apache.carbondata.core.datastore.page.encoding.EncodingFactory;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.blocklet.BlockletInfo;
 import org.apache.carbondata.core.scan.executor.util.QueryUtil;
 import org.apache.carbondata.core.scan.result.vector.ColumnVectorInfo;
@@ -211,13 +210,13 @@ public class DimensionChunkReaderV3 extends AbstractDimensionChunkReader {
    */
   @Override
   public DimensionColumnPage decodeColumnPage(DimensionRawColumnChunk rawColumnPage,
-      int pageNumber, ReusableDataBuffer reusableDataBuffer) throws IOException, MemoryException {
+      int pageNumber, ReusableDataBuffer reusableDataBuffer) throws IOException {
     return decodeColumnPage(rawColumnPage, pageNumber, null, reusableDataBuffer);
   }
 
   private DimensionColumnPage decodeColumnPage(
       DimensionRawColumnChunk rawColumnPage, int pageNumber, ColumnVectorInfo vectorInfo,
-      ReusableDataBuffer reusableDataBuffer) throws IOException, MemoryException {
+      ReusableDataBuffer reusableDataBuffer) throws IOException {
     // data chunk of blocklet column
     DataChunk3 dataChunk3 = rawColumnPage.getDataChunkV3();
     // get the data buffer
@@ -239,7 +238,7 @@ public class DimensionChunkReaderV3 extends AbstractDimensionChunkReader {
   @Override
   public void decodeColumnPageAndFillVector(DimensionRawColumnChunk dimensionRawColumnChunk,
       int pageNumber, ColumnVectorInfo vectorInfo, ReusableDataBuffer reusableDataBuffer)
-      throws IOException, MemoryException {
+      throws IOException {
     DimensionColumnPage columnPage =
         decodeColumnPage(dimensionRawColumnChunk, pageNumber, vectorInfo, reusableDataBuffer);
     columnPage.freeMemory();
@@ -247,8 +246,7 @@ public class DimensionChunkReaderV3 extends AbstractDimensionChunkReader {
 
   private ColumnPage decodeDimensionByMeta(DataChunk2 pageMetadata, ByteBuffer pageData, int offset,
       boolean isLocalDictEncodedPage, ColumnVectorInfo vectorInfo, BitSet nullBitSet,
-      ReusableDataBuffer reusableDataBuffer)
-      throws IOException, MemoryException {
+      ReusableDataBuffer reusableDataBuffer) throws IOException {
     List<Encoding> encodings = pageMetadata.getEncoders();
     List<ByteBuffer> encoderMetas = pageMetadata.getEncoder_meta();
     String compressorName = CarbonMetadataUtil.getCompressorNameFromChunkMeta(
@@ -269,8 +267,7 @@ public class DimensionChunkReaderV3 extends AbstractDimensionChunkReader {
 
   protected DimensionColumnPage decodeDimension(DimensionRawColumnChunk rawColumnPage,
       ByteBuffer pageData, DataChunk2 pageMetadata, int offset, ColumnVectorInfo vectorInfo,
-      ReusableDataBuffer reusableDataBuffer)
-      throws IOException, MemoryException {
+      ReusableDataBuffer reusableDataBuffer) throws IOException {
     List<Encoding> encodings = pageMetadata.getEncoders();
     org.apache.carbondata.core.metadata.encoder.Encoding.validateEncodingTypes(encodings);
     if (CarbonUtil.isEncodedWithMeta(encodings)) {
@@ -324,8 +321,7 @@ public class DimensionChunkReaderV3 extends AbstractDimensionChunkReader {
 
   private DimensionColumnPage decodeDimensionLegacy(DimensionRawColumnChunk rawColumnPage,
       ByteBuffer pageData, DataChunk2 pageMetadata, int offset, ColumnVectorInfo vectorInfo,
-      ReusableDataBuffer reusableDataBuffer)
-      throws IOException, MemoryException {
+      ReusableDataBuffer reusableDataBuffer) {
     byte[] dataPage;
     int[] rlePage;
     int[] invertedIndexes = new int[0];
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/measure/v3/MeasureChunkPageReaderV3.java b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/measure/v3/MeasureChunkPageReaderV3.java
index 239f771..a5cc738 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/measure/v3/MeasureChunkPageReaderV3.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/measure/v3/MeasureChunkPageReaderV3.java
@@ -27,7 +27,6 @@ import org.apache.carbondata.core.datastore.ReusableDataBuffer;
 import org.apache.carbondata.core.datastore.chunk.impl.MeasureRawColumnChunk;
 import org.apache.carbondata.core.datastore.compression.CompressorFactory;
 import org.apache.carbondata.core.datastore.page.ColumnPage;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.blocklet.BlockletInfo;
 import org.apache.carbondata.core.scan.executor.util.QueryUtil;
 import org.apache.carbondata.core.util.CarbonMetadataUtil;
@@ -140,7 +139,7 @@ public class MeasureChunkPageReaderV3
   @Override
   public ColumnPage decodeColumnPage(
       MeasureRawColumnChunk rawColumnPage, int pageNumber, ReusableDataBuffer reusableDataBuffer)
-      throws IOException, MemoryException {
+      throws IOException {
     // data chunk of blocklet column
     DataChunk3 dataChunk3 = rawColumnPage.getDataChunkV3();
     // data chunk of page
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/measure/v3/MeasureChunkReaderV3.java b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/measure/v3/MeasureChunkReaderV3.java
index f2ca4fa..3a8e5f0 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/measure/v3/MeasureChunkReaderV3.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/measure/v3/MeasureChunkReaderV3.java
@@ -29,7 +29,6 @@ import org.apache.carbondata.core.datastore.chunk.reader.measure.AbstractMeasure
 import org.apache.carbondata.core.datastore.compression.CompressorFactory;
 import org.apache.carbondata.core.datastore.page.ColumnPage;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageDecoder;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.blocklet.BlockletInfo;
 import org.apache.carbondata.core.scan.executor.util.QueryUtil;
 import org.apache.carbondata.core.scan.result.vector.ColumnVectorInfo;
@@ -194,20 +193,20 @@ public class MeasureChunkReaderV3 extends AbstractMeasureChunkReader {
   @Override
   public ColumnPage decodeColumnPage(MeasureRawColumnChunk rawColumnChunk, int pageNumber,
       ReusableDataBuffer reusableDataBuffer)
-      throws IOException, MemoryException {
+      throws IOException {
     return decodeColumnPage(rawColumnChunk, pageNumber, null, reusableDataBuffer);
   }
 
   @Override
   public void decodeColumnPageAndFillVector(MeasureRawColumnChunk measureRawColumnChunk,
       int pageNumber, ColumnVectorInfo vectorInfo, ReusableDataBuffer reusableDataBuffer)
-      throws IOException, MemoryException {
+      throws IOException {
     decodeColumnPage(measureRawColumnChunk, pageNumber, vectorInfo, reusableDataBuffer);
   }
 
   private ColumnPage decodeColumnPage(MeasureRawColumnChunk rawColumnChunk, int pageNumber,
       ColumnVectorInfo vectorInfo, ReusableDataBuffer reusableDataBuffer)
-      throws IOException, MemoryException {
+      throws IOException {
     // data chunk of blocklet column
     DataChunk3 dataChunk3 = rawColumnChunk.getDataChunkV3();
     // data chunk of page
@@ -237,7 +236,7 @@ public class MeasureChunkReaderV3 extends AbstractMeasureChunkReader {
    */
   protected ColumnPage decodeMeasure(DataChunk2 pageMetadata, ByteBuffer pageData, int offset,
       ColumnVectorInfo vectorInfo, BitSet nullBitSet, ReusableDataBuffer reusableDataBuffer)
-      throws MemoryException, IOException {
+      throws IOException {
     List<Encoding> encodings = pageMetadata.getEncoders();
     org.apache.carbondata.core.metadata.encoder.Encoding.validateEncodingTypes(encodings);
     List<ByteBuffer> encoderMetas = pageMetadata.getEncoder_meta();
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/compression/ZstdCompressor.java b/core/src/main/java/org/apache/carbondata/core/datastore/compression/ZstdCompressor.java
index 01486df..5de4cf5 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/compression/ZstdCompressor.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/compression/ZstdCompressor.java
@@ -17,8 +17,6 @@
 
 package org.apache.carbondata.core.datastore.compression;
 
-import java.io.IOException;
-
 import com.github.luben.zstd.Zstd;
 
 public class ZstdCompressor extends AbstractCompressor {
@@ -57,7 +55,7 @@ public class ZstdCompressor extends AbstractCompressor {
   }
 
   @Override
-  public long rawUncompress(byte[] input, byte[] output) throws IOException {
+  public long rawUncompress(byte[] input, byte[] output) {
     return Zstd.decompress(output, input);
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/LocalCarbonFile.java b/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/LocalCarbonFile.java
index da284c1..ad11d15 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/LocalCarbonFile.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/LocalCarbonFile.java
@@ -143,12 +143,7 @@ public class LocalCarbonFile implements CarbonFile {
   }
 
   public boolean delete() {
-    try {
-      return deleteFile();
-    } catch (IOException e) {
-      LOGGER.error("Exception occurred:" + e.getMessage(), e);
-      return false;
-    }
+    return deleteFile();
   }
 
   @Override
@@ -181,8 +176,7 @@ public class LocalCarbonFile implements CarbonFile {
   }
 
   @Override
-  public List<CarbonFile> listFiles(boolean recursive, CarbonFileFilter fileFilter)
-      throws IOException {
+  public List<CarbonFile> listFiles(boolean recursive, CarbonFileFilter fileFilter) {
     if (!file.isDirectory()) {
       return new ArrayList<>();
     }
@@ -403,7 +397,7 @@ public class LocalCarbonFile implements CarbonFile {
   }
 
   @Override
-  public boolean isFileExist(boolean performFileCheck) throws IOException {
+  public boolean isFileExist(boolean performFileCheck) {
     if (performFileCheck) {
       return file.exists() && file.isFile();
     } else {
@@ -412,7 +406,7 @@ public class LocalCarbonFile implements CarbonFile {
   }
 
   @Override
-  public boolean isFileExist() throws IOException {
+  public boolean isFileExist() {
     return file.exists();
   }
 
@@ -422,12 +416,12 @@ public class LocalCarbonFile implements CarbonFile {
   }
 
   @Override
-  public boolean deleteFile() throws IOException {
+  public boolean deleteFile() {
     return FileFactory.deleteAllFilesOfDir(file);
   }
 
   @Override
-  public boolean mkdirs() throws IOException {
+  public boolean mkdirs() {
     return file.mkdirs();
   }
 
@@ -443,17 +437,17 @@ public class LocalCarbonFile implements CarbonFile {
   }
 
   @Override
-  public CarbonFile[] locationAwareListFiles(PathFilter pathFilter) throws IOException {
+  public CarbonFile[] locationAwareListFiles(PathFilter pathFilter) {
     return listFiles();
   }
 
   @Override
-  public String[] getLocations() throws IOException {
+  public String[] getLocations() {
     return new String[]{"localhost"};
   }
 
   @Override
-  public boolean setReplication(short replication) throws IOException {
+  public boolean setReplication(short replication) {
     // local carbon file does not need replication
     return true;
   }
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/ColumnPage.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/ColumnPage.java
index b3463f4..8aca86d 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/ColumnPage.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/ColumnPage.java
@@ -32,7 +32,6 @@ import org.apache.carbondata.core.datastore.page.statistics.ColumnPageStatsColle
 import org.apache.carbondata.core.datastore.page.statistics.SimpleStatsResult;
 import org.apache.carbondata.core.localdictionary.PageLevelDictionary;
 import org.apache.carbondata.core.localdictionary.generator.LocalDictionaryGenerator;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.util.CarbonProperties;
@@ -90,11 +89,7 @@ public abstract class ColumnPage {
   private static ColumnPage createDecimalPage(ColumnPageEncoderMeta columnPageEncoderMeta,
       int pageSize) {
     if (isUnsafeEnabled(columnPageEncoderMeta)) {
-      try {
-        return new UnsafeDecimalColumnPage(columnPageEncoderMeta, pageSize);
-      } catch (MemoryException e) {
-        throw new RuntimeException(e);
-      }
+      return new UnsafeDecimalColumnPage(columnPageEncoderMeta, pageSize);
     } else {
       return new SafeDecimalColumnPage(columnPageEncoderMeta, pageSize);
     }
@@ -103,11 +98,7 @@ public abstract class ColumnPage {
   private static ColumnPage createVarLengthPage(ColumnPageEncoderMeta columnPageEncoderMeta,
       int pageSize) {
     if (isUnsafeEnabled(columnPageEncoderMeta)) {
-      try {
-        return new UnsafeVarLengthColumnPage(columnPageEncoderMeta, pageSize);
-      } catch (MemoryException e) {
-        throw new RuntimeException(e);
-      }
+      return new UnsafeVarLengthColumnPage(columnPageEncoderMeta, pageSize);
     } else {
       return new SafeVarLengthColumnPage(columnPageEncoderMeta, pageSize);
     }
@@ -116,11 +107,7 @@ public abstract class ColumnPage {
   private static ColumnPage createFixLengthPage(
       ColumnPageEncoderMeta columnPageEncoderMeta, int pageSize) {
     if (isUnsafeEnabled(columnPageEncoderMeta)) {
-      try {
-        return new UnsafeFixLengthColumnPage(columnPageEncoderMeta, pageSize);
-      } catch (MemoryException e) {
-        throw new RuntimeException(e);
-      }
+      return new UnsafeFixLengthColumnPage(columnPageEncoderMeta, pageSize);
     } else {
       return new SafeFixLengthColumnPage(columnPageEncoderMeta, pageSize);
     }
@@ -129,11 +116,7 @@ public abstract class ColumnPage {
   private static ColumnPage createFixLengthByteArrayPage(
       ColumnPageEncoderMeta columnPageEncoderMeta, int pageSize, int eachValueSize) {
     if (isUnsafeEnabled(columnPageEncoderMeta)) {
-      try {
-        return new UnsafeFixLengthColumnPage(columnPageEncoderMeta, pageSize, eachValueSize);
-      } catch (MemoryException e) {
-        throw new RuntimeException(e);
-      }
+      return new UnsafeFixLengthColumnPage(columnPageEncoderMeta, pageSize, eachValueSize);
     } else {
       return new SafeFixLengthColumnPage(columnPageEncoderMeta, pageSize);
     }
@@ -150,13 +133,13 @@ public abstract class ColumnPage {
   }
 
   public static ColumnPage newDecimalPage(ColumnPageEncoderMeta columnPageEncoderMeta,
-      int pageSize) throws MemoryException {
+      int pageSize) {
     return newPage(columnPageEncoderMeta, pageSize);
   }
 
   public static ColumnPage newLocalDictPage(ColumnPageEncoderMeta columnPageEncoderMeta,
       int pageSize, LocalDictionaryGenerator localDictionaryGenerator,
-      boolean isComplexTypePrimitive) throws MemoryException {
+      boolean isComplexTypePrimitive) {
     boolean isDecoderBasedFallBackEnabled = Boolean.parseBoolean(CarbonProperties.getInstance()
         .getProperty(CarbonCommonConstants.LOCAL_DICTIONARY_DECODER_BASED_FALLBACK,
             CarbonCommonConstants.LOCAL_DICTIONARY_DECODER_BASED_FALLBACK_DEFAULT));
@@ -183,8 +166,7 @@ public abstract class ColumnPage {
   /**
    * Create a new page of dataType and number of row = pageSize
    */
-  public static ColumnPage newPage(ColumnPageEncoderMeta columnPageEncoderMeta, int pageSize)
-      throws MemoryException {
+  public static ColumnPage newPage(ColumnPageEncoderMeta columnPageEncoderMeta, int pageSize) {
     ColumnPage instance;
     DataType dataType = columnPageEncoderMeta.getStoreDataType();
     TableSpec.ColumnSpec columnSpec = columnPageEncoderMeta.getColumnSpec();
@@ -315,25 +297,25 @@ public abstract class ColumnPage {
   }
 
   private static ColumnPage newDecimalPage(ColumnPageEncoderMeta meta,
-      byte[] lvEncodedByteArray) throws MemoryException {
+      byte[] lvEncodedByteArray) {
     return VarLengthColumnPageBase
         .newDecimalColumnPage(meta, lvEncodedByteArray, lvEncodedByteArray.length);
   }
 
   private static ColumnPage newLVBytesPage(TableSpec.ColumnSpec columnSpec,
-      byte[] lvEncodedByteArray, int lvLength, String compressorName) throws MemoryException {
+      byte[] lvEncodedByteArray, int lvLength, String compressorName) {
     return VarLengthColumnPageBase.newLVBytesColumnPage(
         columnSpec, lvEncodedByteArray, lvLength, compressorName);
   }
 
   private static ColumnPage newComplexLVBytesPage(TableSpec.ColumnSpec columnSpec,
-      byte[] lvEncodedByteArray, int lvLength, String compressorName) throws MemoryException {
+      byte[] lvEncodedByteArray, int lvLength, String compressorName) {
     return VarLengthColumnPageBase.newComplexLVBytesColumnPage(
         columnSpec, lvEncodedByteArray, lvLength, compressorName);
   }
 
   private static ColumnPage newFixedByteArrayPage(TableSpec.ColumnSpec columnSpec,
-      byte[] lvEncodedByteArray, int eachValueSize, String compressorName) throws MemoryException {
+      byte[] lvEncodedByteArray, int eachValueSize, String compressorName) {
     int pageSize = lvEncodedByteArray.length / eachValueSize;
     ColumnPage fixLengthByteArrayPage = createFixLengthByteArrayPage(
         new ColumnPageEncoderMeta(columnSpec, columnSpec.getSchemaDataType(), compressorName),
@@ -696,7 +678,6 @@ public abstract class ColumnPage {
   /**
    * For complex type columns
    * @return
-   * @throws IOException
    */
   public abstract byte[] getComplexChildrenLVFlattenedBytePage(DataType dataType)
       throws IOException;
@@ -704,7 +685,6 @@ public abstract class ColumnPage {
   /**
    * For complex type columns
    * @return
-   * @throws IOException
    */
   public abstract byte[] getComplexParentFlattenedBytePage() throws IOException;
 
@@ -765,7 +745,7 @@ public abstract class ColumnPage {
   /**
    * Compress page data using specified compressor
    */
-  public byte[] compress(Compressor compressor) throws MemoryException, IOException {
+  public byte[] compress(Compressor compressor) throws IOException {
     DataType dataType = columnPageEncoderMeta.getStoreDataType();
     if (dataType == DataTypes.BOOLEAN) {
       return compressor.compressByte(getBooleanPage());
@@ -809,8 +789,7 @@ public abstract class ColumnPage {
    * except for decimal page
    */
   public static ColumnPage decompress(ColumnPageEncoderMeta meta, byte[] compressedData, int offset,
-      int length, boolean isLVEncoded, boolean isComplexPrimitiveIntLengthEncoding)
-      throws MemoryException {
+      int length, boolean isLVEncoded, boolean isComplexPrimitiveIntLengthEncoding) {
     Compressor compressor = CompressorFactory.getInstance().getCompressor(meta.getCompressorName());
     TableSpec.ColumnSpec columnSpec = meta.getColumnSpec();
     DataType storeDataType = meta.getStoreDataType();
@@ -880,7 +859,7 @@ public abstract class ColumnPage {
    * Decompress data and create a decimal column page using the decompressed data
    */
   public static ColumnPage decompressDecimalPage(ColumnPageEncoderMeta meta, byte[] compressedData,
-      int offset, int length) throws MemoryException {
+      int offset, int length) {
     Compressor compressor = CompressorFactory.getInstance().getCompressor(meta.getCompressorName());
     ColumnPage decimalPage;
     DataType storeDataType = meta.getStoreDataType();
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/ComplexColumnPage.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/ComplexColumnPage.java
index c4f8849..0722ddf 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/ComplexColumnPage.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/ComplexColumnPage.java
@@ -26,7 +26,6 @@ import org.apache.carbondata.core.datastore.page.statistics.DummyStatsCollector;
 import org.apache.carbondata.core.datastore.page.statistics.PrimitivePageStatsCollector;
 import org.apache.carbondata.core.datastore.row.ComplexColumnInfo;
 import org.apache.carbondata.core.localdictionary.generator.LocalDictionaryGenerator;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.util.DataTypeUtil;
@@ -65,15 +64,11 @@ public class ComplexColumnPage {
 
   /**
    * below method will be used to initlize the column page of complex type
-   * @param columnToDictMap
-   * dictionary map
-   * @param pageSize
-   * number of records
-   * @throws MemoryException
-   * if memory is not sufficient
+   * @param columnToDictMap dictionary map
+   * @param pageSize number of records
    */
   public void initialize(Map<String, LocalDictionaryGenerator> columnToDictMap, int pageSize,
-      String columnCompressor) throws MemoryException {
+      String columnCompressor) {
     DataType dataType;
     for (int i = 0; i < this.columnPages.length; i++) {
       LocalDictionaryGenerator localDictionaryGenerator =
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/EncodedTablePage.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/EncodedTablePage.java
index 1770f72..22fa78f 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/EncodedTablePage.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/EncodedTablePage.java
@@ -17,8 +17,6 @@
 
 package org.apache.carbondata.core.datastore.page;
 
-import java.io.IOException;
-
 import org.apache.carbondata.core.datastore.page.encoding.EncodedColumnPage;
 import org.apache.carbondata.core.datastore.page.key.TablePageKey;
 
@@ -44,13 +42,13 @@ public class EncodedTablePage {
 
   public static EncodedTablePage newInstance(int pageSize,
       EncodedColumnPage[] dimensionPages, EncodedColumnPage[] measurePages,
-      TablePageKey tablePageKey) throws IOException {
+      TablePageKey tablePageKey) {
     return new EncodedTablePage(pageSize, dimensionPages, measurePages, tablePageKey);
   }
 
   private EncodedTablePage(int pageSize,
       EncodedColumnPage[] dimensionPages, EncodedColumnPage[] measurePages,
-      TablePageKey tablePageKey) throws IOException {
+      TablePageKey tablePageKey) {
     this.dimensionPages = dimensionPages;
     this.measurePages = measurePages;
     this.pageSize = pageSize;
@@ -60,7 +58,7 @@ public class EncodedTablePage {
 
   // return size in bytes of this encoded page
   private int calculatePageSize(EncodedColumnPage[] dimensionPages,
-      EncodedColumnPage[] measurePages) throws IOException {
+      EncodedColumnPage[] measurePages) {
     int size = 0;
     for (EncodedColumnPage dimensionPage : dimensionPages) {
       size += dimensionPage.getTotalSerializedSize();
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/LazyColumnPage.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/LazyColumnPage.java
index b789e00..c90eb6b 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/LazyColumnPage.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/LazyColumnPage.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.datastore.page;
 
-import java.io.IOException;
 import java.math.BigDecimal;
 
 import org.apache.carbondata.core.metadata.datatype.DataType;
@@ -174,7 +173,7 @@ public class LazyColumnPage extends ColumnPage {
   }
 
   @Override
-  public byte[] getLVFlattenedBytePage() throws IOException {
+  public byte[] getLVFlattenedBytePage() {
     throw new UnsupportedOperationException("internal error");
   }
 
@@ -184,7 +183,7 @@ public class LazyColumnPage extends ColumnPage {
   }
 
   @Override
-  public byte[] getComplexParentFlattenedBytePage() throws IOException {
+  public byte[] getComplexParentFlattenedBytePage() {
     throw new UnsupportedOperationException("internal error");
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/LocalDictColumnPage.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/LocalDictColumnPage.java
index 2e3a330..36edce2 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/LocalDictColumnPage.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/LocalDictColumnPage.java
@@ -22,7 +22,6 @@ import java.math.BigDecimal;
 
 import org.apache.carbondata.common.logging.LogServiceFactory;
 import org.apache.carbondata.core.constants.CarbonCommonConstants;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.keygenerator.KeyGenerator;
 import org.apache.carbondata.core.keygenerator.factory.KeyGeneratorFactory;
 import org.apache.carbondata.core.localdictionary.PageLevelDictionary;
@@ -135,10 +134,6 @@ public class LocalDictColumnPage extends ColumnPage {
         pageLevelDictionary = null;
         encodedDataColumnPage.freeMemory();
         encodedDataColumnPage = null;
-      } catch (KeyGenException e) {
-        LOGGER.error("Unable to generate key for: " + actualDataColumnPage
-            .getColumnSpec().getFieldName(), e);
-        throw new RuntimeException(e);
       }
     } else {
       actualDataColumnPage.putBytes(rowId, bytes);
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/SafeFixLengthColumnPage.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/SafeFixLengthColumnPage.java
index a579bdd..23f6288 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/SafeFixLengthColumnPage.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/SafeFixLengthColumnPage.java
@@ -290,7 +290,7 @@ public class SafeFixLengthColumnPage extends ColumnPage {
   }
 
   @Override
-  public byte[] getLVFlattenedBytePage() throws IOException {
+  public byte[] getLVFlattenedBytePage() {
     throw new UnsupportedOperationException(
         "invalid data type: " + columnPageEncoderMeta.getStoreDataType());
   }
@@ -306,7 +306,7 @@ public class SafeFixLengthColumnPage extends ColumnPage {
   }
 
   @Override
-  public byte[] getComplexParentFlattenedBytePage() throws IOException {
+  public byte[] getComplexParentFlattenedBytePage() {
     throw new UnsupportedOperationException("internal error");
   }
 
@@ -489,7 +489,7 @@ public class SafeFixLengthColumnPage extends ColumnPage {
   }
 
   @Override
-  public long getPageLengthInBytes() throws IOException {
+  public long getPageLengthInBytes() {
     return totalLength;
   }
 }
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/UnsafeDecimalColumnPage.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/UnsafeDecimalColumnPage.java
index 829fad4..c6086d2 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/UnsafeDecimalColumnPage.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/UnsafeDecimalColumnPage.java
@@ -21,7 +21,6 @@ import java.math.BigDecimal;
 
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoderMeta;
 import org.apache.carbondata.core.memory.CarbonUnsafe;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.memory.UnsafeMemoryManager;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.util.ByteUtil;
@@ -31,19 +30,17 @@ import org.apache.carbondata.core.util.ByteUtil;
  */
 public class UnsafeDecimalColumnPage extends DecimalColumnPage {
 
-  UnsafeDecimalColumnPage(ColumnPageEncoderMeta columnPageEncoderMeta, int pageSize)
-      throws MemoryException {
+  UnsafeDecimalColumnPage(ColumnPageEncoderMeta columnPageEncoderMeta, int pageSize) {
     this(columnPageEncoderMeta, pageSize, (int) (pageSize * DEFAULT_ROW_SIZE * FACTOR));
   }
 
-  UnsafeDecimalColumnPage(ColumnPageEncoderMeta columnPageEncoderMeta, int pageSize, int capacity)
-      throws MemoryException {
+  UnsafeDecimalColumnPage(ColumnPageEncoderMeta columnPageEncoderMeta, int pageSize, int capacity) {
     super(columnPageEncoderMeta, pageSize);
     this.capacity = capacity;
     initMemory();
   }
 
-  private void initMemory() throws MemoryException {
+  private void initMemory() {
     if (columnPageEncoderMeta.getStoreDataType() == DataTypes.BYTE ||
         columnPageEncoderMeta.getStoreDataType() == DataTypes.SHORT ||
         columnPageEncoderMeta.getStoreDataType() == DataTypes.INT ||
@@ -161,11 +158,7 @@ public class UnsafeDecimalColumnPage extends DecimalColumnPage {
 
   @Override
   public void putBytes(int rowId, byte[] bytes, int offset, int length) {
-    try {
-      ensureMemory(length);
-    } catch (MemoryException e) {
-      throw new RuntimeException(e);
-    }
+    ensureMemory(length);
     CarbonUnsafe.getUnsafe().copyMemory(bytes, CarbonUnsafe.BYTE_ARRAY_OFFSET + offset, baseAddress,
         baseOffset + rowOffset.getInt(rowId), length);
   }
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/UnsafeFixLengthColumnPage.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/UnsafeFixLengthColumnPage.java
index 00c8ca0..47b48e5 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/UnsafeFixLengthColumnPage.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/UnsafeFixLengthColumnPage.java
@@ -22,7 +22,6 @@ import java.math.BigDecimal;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoderMeta;
 import org.apache.carbondata.core.memory.CarbonUnsafe;
 import org.apache.carbondata.core.memory.MemoryBlock;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.memory.UnsafeMemoryManager;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
@@ -58,8 +57,7 @@ public class UnsafeFixLengthColumnPage extends ColumnPage {
   private static final int floatBits = DataTypes.FLOAT.getSizeBits();
   private static final int doubleBits = DataTypes.DOUBLE.getSizeBits();
 
-  UnsafeFixLengthColumnPage(ColumnPageEncoderMeta columnPageEncoderMeta, int pageSize)
-      throws MemoryException {
+  UnsafeFixLengthColumnPage(ColumnPageEncoderMeta columnPageEncoderMeta, int pageSize) {
     super(columnPageEncoderMeta, pageSize);
     if (columnPageEncoderMeta.getStoreDataType() == DataTypes.BOOLEAN ||
         columnPageEncoderMeta.getStoreDataType() == DataTypes.BYTE ||
@@ -88,7 +86,7 @@ public class UnsafeFixLengthColumnPage extends ColumnPage {
   }
 
   UnsafeFixLengthColumnPage(ColumnPageEncoderMeta columnPageEncoderMeta, int pageSize,
-      int eachRowSize) throws MemoryException {
+      int eachRowSize) {
     this(columnPageEncoderMeta, pageSize);
     this.eachRowSize = eachRowSize;
     totalLength = 0;
@@ -117,11 +115,7 @@ public class UnsafeFixLengthColumnPage extends ColumnPage {
 
   @Override
   public void putByte(int rowId, byte value) {
-    try {
-      ensureMemory(ByteUtil.SIZEOF_BYTE);
-    } catch (MemoryException e) {
-      throw new RuntimeException(e);
-    }
+    ensureMemory(ByteUtil.SIZEOF_BYTE);
     long offset = ((long)rowId) << byteBits;
     CarbonUnsafe.getUnsafe().putByte(baseAddress, baseOffset + offset, value);
     totalLength += ByteUtil.SIZEOF_BYTE;
@@ -130,11 +124,7 @@ public class UnsafeFixLengthColumnPage extends ColumnPage {
 
   @Override
   public void putShort(int rowId, short value) {
-    try {
-      ensureMemory(shortBits);
-    } catch (MemoryException e) {
-      throw new RuntimeException(e);
-    }
+    ensureMemory(shortBits);
     long offset = ((long)rowId) << shortBits;
     CarbonUnsafe.getUnsafe().putShort(baseAddress, baseOffset + offset, value);
     totalLength += ByteUtil.SIZEOF_SHORT;
@@ -143,11 +133,7 @@ public class UnsafeFixLengthColumnPage extends ColumnPage {
 
   @Override
   public void putShortInt(int rowId, int value) {
-    try {
-      ensureMemory(ByteUtil.SIZEOF_SHORT_INT);
-    } catch (MemoryException e) {
-      throw new RuntimeException(e);
-    }
+    ensureMemory(ByteUtil.SIZEOF_SHORT_INT);
     byte[] data = ByteUtil.to3Bytes(value);
     long offset = rowId * 3L;
     CarbonUnsafe.getUnsafe().putByte(baseAddress, baseOffset + offset, data[0]);
@@ -159,11 +145,7 @@ public class UnsafeFixLengthColumnPage extends ColumnPage {
 
   @Override
   public void putInt(int rowId, int value) {
-    try {
-      ensureMemory(ByteUtil.SIZEOF_INT);
-    } catch (MemoryException e) {
-      throw new RuntimeException(e);
-    }
+    ensureMemory(ByteUtil.SIZEOF_INT);
     long offset = ((long)rowId) << intBits;
     CarbonUnsafe.getUnsafe().putInt(baseAddress, baseOffset + offset, value);
     totalLength += ByteUtil.SIZEOF_INT;
@@ -172,11 +154,7 @@ public class UnsafeFixLengthColumnPage extends ColumnPage {
 
   @Override
   public void putLong(int rowId, long value) {
-    try {
-      ensureMemory(ByteUtil.SIZEOF_LONG);
-    } catch (MemoryException e) {
-      throw new RuntimeException(e);
-    }
+    ensureMemory(ByteUtil.SIZEOF_LONG);
     long offset = ((long)rowId) << longBits;
     CarbonUnsafe.getUnsafe().putLong(baseAddress, baseOffset + offset, value);
     totalLength += ByteUtil.SIZEOF_LONG;
@@ -185,11 +163,7 @@ public class UnsafeFixLengthColumnPage extends ColumnPage {
 
   @Override
   public void putDouble(int rowId, double value) {
-    try {
-      ensureMemory(ByteUtil.SIZEOF_DOUBLE);
-    } catch (MemoryException e) {
-      throw new RuntimeException(e);
-    }
+    ensureMemory(ByteUtil.SIZEOF_DOUBLE);
     long offset = ((long)rowId) << doubleBits;
     CarbonUnsafe.getUnsafe().putDouble(baseAddress, baseOffset + offset, value);
     totalLength += ByteUtil.SIZEOF_DOUBLE;
@@ -198,11 +172,7 @@ public class UnsafeFixLengthColumnPage extends ColumnPage {
 
   @Override
   public void putFloat(int rowId, float value) {
-    try {
-      ensureMemory(ByteUtil.SIZEOF_FLOAT);
-    } catch (MemoryException e) {
-      throw new RuntimeException(e);
-    }
+    ensureMemory(ByteUtil.SIZEOF_FLOAT);
 
     long offset = ((long) rowId) << floatBits;
     CarbonUnsafe.getUnsafe().putFloat(baseAddress, baseOffset + offset, value);
@@ -212,11 +182,7 @@ public class UnsafeFixLengthColumnPage extends ColumnPage {
 
   @Override
   public void putBytes(int rowId, byte[] bytes) {
-    try {
-      ensureMemory(eachRowSize);
-    } catch (MemoryException e) {
-      throw new RuntimeException(e);
-    }
+    ensureMemory(eachRowSize);
     // copy the data to memory
     long offset = (long)rowId * eachRowSize;
     CarbonUnsafe.getUnsafe()
@@ -545,7 +511,7 @@ public class UnsafeFixLengthColumnPage extends ColumnPage {
   /**
    * reallocate memory if capacity length than current size + request size
    */
-  protected void ensureMemory(int requestSize) throws MemoryException {
+  protected void ensureMemory(int requestSize) {
     checkDataFileSize();
     if (totalLength + requestSize > capacity) {
       int newSize = Math.max(2 * capacity, totalLength + requestSize);
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/UnsafeVarLengthColumnPage.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/UnsafeVarLengthColumnPage.java
index 2fd4212..2897043 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/UnsafeVarLengthColumnPage.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/UnsafeVarLengthColumnPage.java
@@ -21,7 +21,6 @@ import java.math.BigDecimal;
 
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoderMeta;
 import org.apache.carbondata.core.memory.CarbonUnsafe;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.memory.UnsafeMemoryManager;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 
@@ -33,8 +32,7 @@ public class UnsafeVarLengthColumnPage extends VarLengthColumnPageBase {
   /**
    * create a page
    */
-  UnsafeVarLengthColumnPage(ColumnPageEncoderMeta columnPageEncoderMeta, int pageSize)
-      throws MemoryException {
+  UnsafeVarLengthColumnPage(ColumnPageEncoderMeta columnPageEncoderMeta, int pageSize) {
     super(columnPageEncoderMeta, pageSize);
     if (columnPageEncoderMeta.getStoreDataType() == DataTypes.BINARY) {
       capacity = (int) (pageSize * DEFAULT_BINARY_SIZE * FACTOR);
@@ -64,11 +62,7 @@ public class UnsafeVarLengthColumnPage extends VarLengthColumnPageBase {
 
   @Override
   public void putBytes(int rowId, byte[] bytes, int offset, int length) {
-    try {
-      ensureMemory(length);
-    } catch (MemoryException e) {
-      throw new RuntimeException(e);
-    }
+    ensureMemory(length);
     CarbonUnsafe.getUnsafe().copyMemory(bytes, CarbonUnsafe.BYTE_ARRAY_OFFSET + offset,
         baseAddress, baseOffset + rowOffset.getInt(rowId), length);
   }
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/VarLengthColumnPageBase.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/VarLengthColumnPageBase.java
index 1381dc6..36881df 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/VarLengthColumnPageBase.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/VarLengthColumnPageBase.java
@@ -26,7 +26,6 @@ import org.apache.carbondata.core.datastore.TableSpec;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoderMeta;
 import org.apache.carbondata.core.memory.CarbonUnsafe;
 import org.apache.carbondata.core.memory.MemoryBlock;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.memory.UnsafeMemoryManager;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
@@ -70,13 +69,9 @@ public abstract class VarLengthColumnPageBase extends ColumnPage {
     super(columnPageEncoderMeta, pageSize);
     TableSpec.ColumnSpec spec = TableSpec.ColumnSpec.newInstance(
         columnPageEncoderMeta.getColumnSpec().getFieldName(), DataTypes.INT, ColumnType.MEASURE);
-    try {
-      rowOffset = ColumnPage.newPage(
-          new ColumnPageEncoderMeta(spec, DataTypes.INT, columnPageEncoderMeta.getCompressorName()),
-          pageSize + 1);
-    } catch (MemoryException e) {
-      throw new RuntimeException(e);
-    }
+    rowOffset = ColumnPage.newPage(
+        new ColumnPageEncoderMeta(spec, DataTypes.INT, columnPageEncoderMeta.getCompressorName()),
+        pageSize + 1);
     totalLength = 0;
   }
 
@@ -126,7 +121,7 @@ public abstract class VarLengthColumnPageBase extends ColumnPage {
    * Create a new column page for decimal page
    */
   public static ColumnPage newDecimalColumnPage(ColumnPageEncoderMeta meta,
-      byte[] lvEncodedBytes, int actualDataLength) throws MemoryException {
+      byte[] lvEncodedBytes, int actualDataLength) {
     TableSpec.ColumnSpec columnSpec = meta.getColumnSpec();
     DecimalConverterFactory.DecimalConverter decimalConverter =
         DecimalConverterFactory.INSTANCE.getDecimalConverter(columnSpec.getPrecision(),
@@ -146,7 +141,7 @@ public abstract class VarLengthColumnPageBase extends ColumnPage {
    * Create a new column page based on the LV (Length Value) encoded bytes
    */
   static ColumnPage newLVBytesColumnPage(TableSpec.ColumnSpec columnSpec, byte[] lvEncodedBytes,
-      int lvLength, String compressorName) throws MemoryException {
+      int lvLength, String compressorName) {
     return getLVBytesColumnPage(columnSpec, lvEncodedBytes, DataTypes.BYTE_ARRAY,
         lvLength, compressorName);
   }
@@ -155,13 +150,13 @@ public abstract class VarLengthColumnPageBase extends ColumnPage {
    * Create a new column page based on the LV (Length Value) encoded bytes
    */
   static ColumnPage newComplexLVBytesColumnPage(TableSpec.ColumnSpec columnSpec,
-      byte[] lvEncodedBytes, int lvLength, String compressorName) throws MemoryException {
+      byte[] lvEncodedBytes, int lvLength, String compressorName) {
     return getComplexLVBytesColumnPage(columnSpec, lvEncodedBytes, DataTypes.BYTE_ARRAY,
         lvLength, compressorName);
   }
 
   private static ColumnPage getDecimalColumnPage(ColumnPageEncoderMeta meta,
-      byte[] lvEncodedBytes, int size, int actualDataLength) throws MemoryException {
+      byte[] lvEncodedBytes, int size, int actualDataLength) {
     TableSpec.ColumnSpec columnSpec = meta.getColumnSpec();
     String compressorName = meta.getCompressorName();
     TableSpec.ColumnSpec spec = TableSpec.ColumnSpec
@@ -201,8 +196,7 @@ public abstract class VarLengthColumnPageBase extends ColumnPage {
   }
 
   private static ColumnPage getLVBytesColumnPage(TableSpec.ColumnSpec columnSpec,
-      byte[] lvEncodedBytes, DataType dataType, int lvLength, String compressorName)
-      throws MemoryException {
+      byte[] lvEncodedBytes, DataType dataType, int lvLength, String compressorName) {
     // extract length and data, set them to rowOffset and unsafe memory correspondingly
     int rowId = 0;
     TableSpec.ColumnSpec spec = TableSpec.ColumnSpec
@@ -228,8 +222,7 @@ public abstract class VarLengthColumnPageBase extends ColumnPage {
   }
 
   private static ColumnPage getComplexLVBytesColumnPage(TableSpec.ColumnSpec columnSpec,
-      byte[] lvEncodedBytes, DataType dataType, int lvLength, String compressorName)
-      throws MemoryException {
+      byte[] lvEncodedBytes, DataType dataType, int lvLength, String compressorName) {
     // extract length and data, set them to rowOffset and unsafe memory correspondingly
     int rowId = 0;
     TableSpec.ColumnSpec spec = TableSpec.ColumnSpec
@@ -263,7 +256,7 @@ public abstract class VarLengthColumnPageBase extends ColumnPage {
 
   private static VarLengthColumnPageBase getVarLengthColumnPage(TableSpec.ColumnSpec columnSpec,
       byte[] lvEncodedBytes, DataType dataType, int lvLength, int rowId, ColumnPage rowOffset,
-      int offset, String compressorName) throws MemoryException {
+      int offset, String compressorName) {
     int lvEncodedOffset;
     int length;
     int numRows = rowId;
@@ -521,7 +514,7 @@ public abstract class VarLengthColumnPageBase extends ColumnPage {
   /**
    * reallocate memory if capacity length than current size + request size
    */
-  protected void ensureMemory(int requestSize) throws MemoryException {
+  protected void ensureMemory(int requestSize) {
     if (totalLength + requestSize > capacity) {
       int newSize = Math.max(2 * capacity, totalLength + requestSize);
       MemoryBlock newBlock = UnsafeMemoryManager.allocateMemoryWithRetry(taskId, newSize);
@@ -546,7 +539,7 @@ public abstract class VarLengthColumnPageBase extends ColumnPage {
   }
 
   @Override
-  public long getPageLengthInBytes() throws IOException {
+  public long getPageLengthInBytes() {
     return totalLength;
   }
 }
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/ColumnPageDecoder.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/ColumnPageDecoder.java
index b5dc502..0adf852 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/ColumnPageDecoder.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/ColumnPageDecoder.java
@@ -22,7 +22,6 @@ import java.util.BitSet;
 
 import org.apache.carbondata.core.datastore.ReusableDataBuffer;
 import org.apache.carbondata.core.datastore.page.ColumnPage;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.scan.result.vector.ColumnVectorInfo;
 
 public interface ColumnPageDecoder {
@@ -30,16 +29,13 @@ public interface ColumnPageDecoder {
   /**
    * Apply decoding algorithm on input byte array and return decoded column page
    */
-  ColumnPage decode(byte[] input, int offset, int length)
-      throws MemoryException, IOException;
+  ColumnPage decode(byte[] input, int offset, int length) throws IOException;
 
   /**
    *  Apply decoding algorithm on input byte array and fill the vector here.
    */
   void decodeAndFillVector(byte[] input, int offset, int length, ColumnVectorInfo vectorInfo,
-      BitSet nullBits, boolean isLVEncoded, int pageSize, ReusableDataBuffer reusableDataBuffer)
-      throws MemoryException, IOException;
+      BitSet nullBits, boolean isLVEncoded, int pageSize, ReusableDataBuffer reusableDataBuffer);
 
-  ColumnPage decode(byte[] input, int offset, int length, boolean isLVEncoded)
-      throws MemoryException, IOException;
+  ColumnPage decode(byte[] input, int offset, int length, boolean isLVEncoded) throws IOException;
 }
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/ColumnPageEncoder.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/ColumnPageEncoder.java
index e63dd82..81e4844 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/ColumnPageEncoder.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/ColumnPageEncoder.java
@@ -32,7 +32,6 @@ import org.apache.carbondata.core.datastore.compression.CompressorFactory;
 import org.apache.carbondata.core.datastore.page.ColumnPage;
 import org.apache.carbondata.core.datastore.page.ComplexColumnPage;
 import org.apache.carbondata.core.datastore.page.encoding.compress.DirectCompressCodec;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.util.CarbonMetadataUtil;
@@ -58,7 +57,7 @@ public abstract class ColumnPageEncoder {
   private static final Logger LOGGER =
       LogServiceFactory.getLogService(ColumnPageEncoder.class.getName());
 
-  protected abstract byte[] encodeData(ColumnPage input) throws MemoryException, IOException;
+  protected abstract byte[] encodeData(ColumnPage input) throws IOException;
 
   protected abstract List<Encoding> getEncodingList();
 
@@ -91,7 +90,7 @@ public abstract class ColumnPageEncoder {
    * Return a encoded column page by encoding the input page
    * The encoded binary data and metadata are wrapped in encoding column page
    */
-  public EncodedColumnPage encode(ColumnPage inputPage) throws IOException, MemoryException {
+  public EncodedColumnPage encode(ColumnPage inputPage) throws IOException {
     byte[] encodedBytes = encodeData(inputPage);
     DataChunk2 pageMetadata = buildPageMetadata(inputPage, encodedBytes);
     return new EncodedColumnPage(pageMetadata, encodedBytes, inputPage);
@@ -176,8 +175,7 @@ public abstract class ColumnPageEncoder {
   /**
    * `buildPageMetadata` will call this for backward compatibility
    */
-  protected void fillLegacyFields(DataChunk2 dataChunk)
-      throws IOException {
+  protected void fillLegacyFields(DataChunk2 dataChunk) {
     // Subclass should override this to update datachunk2 if any backward compatibility if required,
     // For example, when using IndexStorageCodec, rle_page_length and rowid_page_length need to be
     // updated
@@ -188,7 +186,7 @@ public abstract class ColumnPageEncoder {
    * TODO: remove this interface after complex column page is unified with column page
    */
   public static EncodedColumnPage[] encodeComplexColumn(ComplexColumnPage input)
-      throws IOException, MemoryException {
+      throws IOException {
     EncodedColumnPage[] encodedPages = new EncodedColumnPage[input.getComplexColumnIndex()];
     int index = 0;
     while (index < input.getComplexColumnIndex()) {
@@ -204,8 +202,7 @@ public abstract class ColumnPageEncoder {
     return encodedPages;
   }
 
-  public static EncodedColumnPage encodedColumn(ColumnPage page)
-      throws IOException, MemoryException {
+  public static EncodedColumnPage encodedColumn(ColumnPage page) throws IOException {
     ColumnPageEncoder pageEncoder = createCodecForDimension(page);
     if (pageEncoder == null) {
       ColumnPageEncoder encoder = new DirectCompressCodec(DataTypes.BYTE_ARRAY).createEncoder(null);
@@ -249,11 +246,9 @@ public abstract class ColumnPageEncoder {
    * @return local dictionary chunk
    * @throws IOException
    * Problem in encoding
-   * @throws MemoryException
-   * problem in encoding
    */
   public LocalDictionaryChunk encodeDictionary(ColumnPage dictionaryPage)
-      throws IOException, MemoryException {
+      throws IOException {
     LocalDictionaryChunk localDictionaryChunk = new LocalDictionaryChunk();
     localDictionaryChunk.setDictionary_data(encodeData(dictionaryPage));
     LocalDictionaryChunkMeta localDictionaryChunkMeta = new LocalDictionaryChunkMeta();
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveCodec.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveCodec.java
index da57e8c..cebbc0f 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveCodec.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveCodec.java
@@ -30,7 +30,6 @@ import org.apache.carbondata.core.datastore.page.ColumnPageValueConverter;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageCodec;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoderMeta;
 import org.apache.carbondata.core.datastore.page.statistics.SimpleStatsResult;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.format.DataChunk2;
@@ -213,9 +212,8 @@ public abstract class AdaptiveCodec implements ColumnPageCodec {
    *
    * @param input
    * @return
-   * @throws MemoryException
    */
-  public ColumnPage getSortedColumnPageIfRequired(ColumnPage input) throws MemoryException {
+  public ColumnPage getSortedColumnPageIfRequired(ColumnPage input) {
     if (null != indexStorage) {
       Object[] dataPage = indexStorage.getDataPage();
       ColumnPageEncoderMeta columnPageEncoderMeta =
@@ -230,7 +228,7 @@ public abstract class AdaptiveCodec implements ColumnPageCodec {
   }
 
   public byte[] encodeAndCompressPage(ColumnPage input, ColumnPageValueConverter converter,
-      Compressor compressor) throws MemoryException, IOException {
+      Compressor compressor) throws IOException {
     encodedPage = ColumnPage.newPage(
         new ColumnPageEncoderMeta(input.getColumnPageEncoderMeta().getColumnSpec(), targetDataType,
             input.getColumnPageEncoderMeta().getCompressorName()), input.getPageSize());
@@ -241,8 +239,7 @@ public abstract class AdaptiveCodec implements ColumnPageCodec {
     }
     ColumnPage columnPage = getSortedColumnPageIfRequired(input);
     columnPage.convertValue(converter);
-    byte[] result = encodedPage.compress(compressor);
-    return result;
+    return encodedPage.compress(compressor);
   }
 
   @Override
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveDeltaFloatingCodec.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveDeltaFloatingCodec.java
index 1400f25..8579973 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveDeltaFloatingCodec.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveDeltaFloatingCodec.java
@@ -34,7 +34,6 @@ import org.apache.carbondata.core.datastore.page.encoding.ColumnPageDecoder;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoder;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoderMeta;
 import org.apache.carbondata.core.datastore.page.statistics.SimpleStatsResult;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.scan.result.vector.CarbonColumnVector;
@@ -83,7 +82,7 @@ public class AdaptiveDeltaFloatingCodec extends AdaptiveCodec {
     return new ColumnPageEncoder() {
       byte[] result = null;
       @Override
-      protected byte[] encodeData(ColumnPage input) throws MemoryException, IOException {
+      protected byte[] encodeData(ColumnPage input) throws IOException {
         if (encodedPage != null) {
           throw new IllegalStateException("already encoded");
         }
@@ -115,7 +114,7 @@ public class AdaptiveDeltaFloatingCodec extends AdaptiveCodec {
       }
 
       @Override
-      protected void fillLegacyFields(DataChunk2 dataChunk) throws IOException {
+      protected void fillLegacyFields(DataChunk2 dataChunk) {
         fillLegacyFieldsIfRequired(dataChunk, result);
       }
 
@@ -126,8 +125,7 @@ public class AdaptiveDeltaFloatingCodec extends AdaptiveCodec {
   public ColumnPageDecoder createDecoder(final ColumnPageEncoderMeta meta) {
     return new ColumnPageDecoder() {
       @Override
-      public ColumnPage decode(byte[] input, int offset, int length)
-          throws MemoryException, IOException {
+      public ColumnPage decode(byte[] input, int offset, int length) {
         ColumnPage page = ColumnPage.decompress(meta, input, offset, length, false, false);
         return LazyColumnPage.newPage(page, converter);
       }
@@ -135,8 +133,7 @@ public class AdaptiveDeltaFloatingCodec extends AdaptiveCodec {
       @Override
       public void decodeAndFillVector(byte[] input, int offset, int length,
           ColumnVectorInfo vectorInfo, BitSet nullBits, boolean isLVEncoded, int pageSize,
-          ReusableDataBuffer reusableDataBuffer)
-          throws MemoryException, IOException {
+          ReusableDataBuffer reusableDataBuffer) {
         Compressor compressor =
             CompressorFactory.getInstance().getCompressor(meta.getCompressorName());
         byte[] unCompressData;
@@ -152,8 +149,7 @@ public class AdaptiveDeltaFloatingCodec extends AdaptiveCodec {
       }
 
       @Override
-      public ColumnPage decode(byte[] input, int offset, int length, boolean isLVEncoded)
-          throws MemoryException, IOException {
+      public ColumnPage decode(byte[] input, int offset, int length, boolean isLVEncoded) {
         return decode(input, offset, length);
       }
     };
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveDeltaIntegralCodec.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveDeltaIntegralCodec.java
index 7b1c12d..1a0645c 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveDeltaIntegralCodec.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveDeltaIntegralCodec.java
@@ -35,7 +35,6 @@ import org.apache.carbondata.core.datastore.page.encoding.ColumnPageDecoder;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoder;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoderMeta;
 import org.apache.carbondata.core.datastore.page.statistics.SimpleStatsResult;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.metadata.datatype.DecimalConverterFactory;
@@ -90,7 +89,7 @@ public class AdaptiveDeltaIntegralCodec extends AdaptiveCodec {
     return new ColumnPageEncoder() {
       byte[] result = null;
       @Override
-      protected byte[] encodeData(ColumnPage input) throws MemoryException, IOException {
+      protected byte[] encodeData(ColumnPage input) throws IOException {
         if (encodedPage != null) {
           throw new IllegalStateException("already encoded");
         }
@@ -122,7 +121,7 @@ public class AdaptiveDeltaIntegralCodec extends AdaptiveCodec {
       }
 
       @Override
-      protected void fillLegacyFields(DataChunk2 dataChunk) throws IOException {
+      protected void fillLegacyFields(DataChunk2 dataChunk) {
         fillLegacyFieldsIfRequired(dataChunk, result);
       }
 
@@ -133,8 +132,7 @@ public class AdaptiveDeltaIntegralCodec extends AdaptiveCodec {
   public ColumnPageDecoder createDecoder(final ColumnPageEncoderMeta meta) {
     return new ColumnPageDecoder() {
       @Override
-      public ColumnPage decode(byte[] input, int offset, int length)
-          throws MemoryException, IOException {
+      public ColumnPage decode(byte[] input, int offset, int length) {
         ColumnPage page = null;
         if (DataTypes.isDecimal(meta.getSchemaDataType())) {
           page = ColumnPage.decompressDecimalPage(meta, input, offset, length);
@@ -147,8 +145,7 @@ public class AdaptiveDeltaIntegralCodec extends AdaptiveCodec {
       @Override
       public void decodeAndFillVector(byte[] input, int offset, int length,
           ColumnVectorInfo vectorInfo, BitSet nullBits, boolean isLVEncoded, int pageSize,
-          ReusableDataBuffer reusableDataBuffer)
-          throws MemoryException, IOException {
+          ReusableDataBuffer reusableDataBuffer) {
         Compressor compressor =
             CompressorFactory.getInstance().getCompressor(meta.getCompressorName());
         byte[] unCompressData;
@@ -171,8 +168,7 @@ public class AdaptiveDeltaIntegralCodec extends AdaptiveCodec {
       }
 
       @Override
-      public ColumnPage decode(byte[] input, int offset, int length, boolean isLVEncoded)
-          throws MemoryException, IOException {
+      public ColumnPage decode(byte[] input, int offset, int length, boolean isLVEncoded) {
         return decode(input, offset, length);
       }
     };
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveFloatingCodec.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveFloatingCodec.java
index cf9b739..818aa90 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveFloatingCodec.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveFloatingCodec.java
@@ -33,7 +33,6 @@ import org.apache.carbondata.core.datastore.page.encoding.ColumnPageDecoder;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoder;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoderMeta;
 import org.apache.carbondata.core.datastore.page.statistics.SimpleStatsResult;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.scan.result.vector.CarbonColumnVector;
@@ -71,7 +70,7 @@ public class AdaptiveFloatingCodec extends AdaptiveCodec {
     return new ColumnPageEncoder() {
       byte[] result = null;
       @Override
-      protected byte[] encodeData(ColumnPage input) throws MemoryException, IOException {
+      protected byte[] encodeData(ColumnPage input) throws IOException {
         if (encodedPage != null) {
           throw new IllegalStateException("already encoded");
         }
@@ -103,7 +102,7 @@ public class AdaptiveFloatingCodec extends AdaptiveCodec {
       }
 
       @Override
-      protected void fillLegacyFields(DataChunk2 dataChunk) throws IOException {
+      protected void fillLegacyFields(DataChunk2 dataChunk) {
         fillLegacyFieldsIfRequired(dataChunk, result);
       }
 
@@ -114,8 +113,7 @@ public class AdaptiveFloatingCodec extends AdaptiveCodec {
   public ColumnPageDecoder createDecoder(final ColumnPageEncoderMeta meta) {
     return new ColumnPageDecoder() {
       @Override
-      public ColumnPage decode(byte[] input, int offset, int length)
-          throws MemoryException, IOException {
+      public ColumnPage decode(byte[] input, int offset, int length) {
         ColumnPage page = ColumnPage.decompress(meta, input, offset, length, false, false);
         return LazyColumnPage.newPage(page, converter);
       }
@@ -123,8 +121,7 @@ public class AdaptiveFloatingCodec extends AdaptiveCodec {
       @Override
       public void decodeAndFillVector(byte[] input, int offset, int length,
           ColumnVectorInfo vectorInfo, BitSet nullBits, boolean isLVEncoded, int pageSize,
-          ReusableDataBuffer reusableDataBuffer)
-          throws MemoryException, IOException {
+          ReusableDataBuffer reusableDataBuffer) {
         Compressor compressor =
             CompressorFactory.getInstance().getCompressor(meta.getCompressorName());
         byte[] unCompressData;
@@ -140,8 +137,7 @@ public class AdaptiveFloatingCodec extends AdaptiveCodec {
       }
 
       @Override
-      public ColumnPage decode(byte[] input, int offset, int length, boolean isLVEncoded)
-          throws MemoryException, IOException {
+      public ColumnPage decode(byte[] input, int offset, int length, boolean isLVEncoded) {
         return decode(input, offset, length);
       }
     };
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveIntegralCodec.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveIntegralCodec.java
index 4638652..fb46b59 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveIntegralCodec.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/adaptive/AdaptiveIntegralCodec.java
@@ -34,7 +34,6 @@ import org.apache.carbondata.core.datastore.page.encoding.ColumnPageDecoder;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoder;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoderMeta;
 import org.apache.carbondata.core.datastore.page.statistics.SimpleStatsResult;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.metadata.datatype.DecimalConverterFactory;
@@ -68,7 +67,7 @@ public class AdaptiveIntegralCodec extends AdaptiveCodec {
     return new ColumnPageEncoder() {
       byte[] result = null;
       @Override
-      protected byte[] encodeData(ColumnPage input) throws MemoryException, IOException {
+      protected byte[] encodeData(ColumnPage input) throws IOException {
         if (encodedPage != null) {
           throw new IllegalStateException("already encoded");
         }
@@ -100,7 +99,7 @@ public class AdaptiveIntegralCodec extends AdaptiveCodec {
       }
 
       @Override
-      protected void fillLegacyFields(DataChunk2 dataChunk) throws IOException {
+      protected void fillLegacyFields(DataChunk2 dataChunk) {
         fillLegacyFieldsIfRequired(dataChunk, result);
       }
     };
@@ -110,8 +109,7 @@ public class AdaptiveIntegralCodec extends AdaptiveCodec {
   public ColumnPageDecoder createDecoder(final ColumnPageEncoderMeta meta) {
     return new ColumnPageDecoder() {
       @Override
-      public ColumnPage decode(byte[] input, int offset, int length)
-          throws MemoryException, IOException {
+      public ColumnPage decode(byte[] input, int offset, int length) {
         ColumnPage page = null;
         if (DataTypes.isDecimal(meta.getSchemaDataType())) {
           page = ColumnPage.decompressDecimalPage(meta, input, offset, length);
@@ -124,7 +122,7 @@ public class AdaptiveIntegralCodec extends AdaptiveCodec {
       @Override
       public void decodeAndFillVector(byte[] input, int offset, int length,
           ColumnVectorInfo vectorInfo, BitSet nullBits, boolean isLVEncoded, int pageSize,
-          ReusableDataBuffer reusableDataBuffer) throws MemoryException, IOException {
+          ReusableDataBuffer reusableDataBuffer) {
         Compressor compressor =
             CompressorFactory.getInstance().getCompressor(meta.getCompressorName());
         byte[] unCompressData;
@@ -147,8 +145,7 @@ public class AdaptiveIntegralCodec extends AdaptiveCodec {
       }
 
       @Override
-      public ColumnPage decode(byte[] input, int offset, int length, boolean isLVEncoded)
-          throws MemoryException, IOException {
+      public ColumnPage decode(byte[] input, int offset, int length, boolean isLVEncoded) {
         return decode(input, offset, length);
       }
     };
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/compress/DirectCompressCodec.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/compress/DirectCompressCodec.java
index 9683cb8..52f42d3 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/compress/DirectCompressCodec.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/compress/DirectCompressCodec.java
@@ -35,7 +35,6 @@ import org.apache.carbondata.core.datastore.page.encoding.ColumnPageCodec;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageDecoder;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoder;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoderMeta;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.metadata.datatype.DecimalConverterFactory;
@@ -74,7 +73,7 @@ public class DirectCompressCodec implements ColumnPageCodec {
     return new ColumnPageEncoder() {
 
       @Override
-      protected byte[] encodeData(ColumnPage input) throws MemoryException, IOException {
+      protected byte[] encodeData(ColumnPage input) throws IOException {
         Compressor compressor = CompressorFactory.getInstance().getCompressor(
             input.getColumnCompressorName());
         return input.compress(compressor);
@@ -102,8 +101,7 @@ public class DirectCompressCodec implements ColumnPageCodec {
     return new ColumnPageDecoder() {
 
       @Override
-      public ColumnPage decode(byte[] input, int offset, int length)
-          throws MemoryException {
+      public ColumnPage decode(byte[] input, int offset, int length) {
         ColumnPage decodedPage;
         if (DataTypes.isDecimal(dataType)) {
           decodedPage = ColumnPage.decompressDecimalPage(meta, input, offset, length);
@@ -117,8 +115,7 @@ public class DirectCompressCodec implements ColumnPageCodec {
       @Override
       public void decodeAndFillVector(byte[] input, int offset, int length,
           ColumnVectorInfo vectorInfo, BitSet nullBits, boolean isLVEncoded, int pageSize,
-          ReusableDataBuffer reusableDataBuffer)
-          throws MemoryException, IOException {
+          ReusableDataBuffer reusableDataBuffer) {
         Compressor compressor =
             CompressorFactory.getInstance().getCompressor(meta.getCompressorName());
         int uncompressedLength;
@@ -155,8 +152,7 @@ public class DirectCompressCodec implements ColumnPageCodec {
       }
 
       @Override
-      public ColumnPage decode(byte[] input, int offset, int length, boolean isLVEncoded)
-          throws MemoryException, IOException {
+      public ColumnPage decode(byte[] input, int offset, int length, boolean isLVEncoded) {
         return LazyColumnPage.newPage(ColumnPage
             .decompress(meta, input, offset, length, isLVEncoded,
                 isComplexPrimitiveIntLengthEncoding), converter);
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/dimension/legacy/IndexStorageEncoder.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/dimension/legacy/IndexStorageEncoder.java
index 96fcc08..fe0d8a5 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/dimension/legacy/IndexStorageEncoder.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/dimension/legacy/IndexStorageEncoder.java
@@ -26,7 +26,6 @@ import org.apache.carbondata.core.datastore.columnar.BlockIndexerStorage;
 import org.apache.carbondata.core.datastore.page.ColumnPage;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoder;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoderMeta;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.format.DataChunk2;
 import org.apache.carbondata.format.SortState;
 
@@ -37,7 +36,7 @@ public abstract class IndexStorageEncoder extends ColumnPageEncoder {
   abstract void encodeIndexStorage(ColumnPage inputPage);
 
   @Override
-  protected byte[] encodeData(ColumnPage input) throws MemoryException, IOException {
+  protected byte[] encodeData(ColumnPage input) throws IOException {
     encodeIndexStorage(input);
     ByteArrayOutputStream stream = new ByteArrayOutputStream();
     DataOutputStream out = new DataOutputStream(stream);
@@ -72,8 +71,7 @@ public abstract class IndexStorageEncoder extends ColumnPageEncoder {
   }
 
   @Override
-  protected void fillLegacyFields(DataChunk2 dataChunk)
-      throws IOException {
+  protected void fillLegacyFields(DataChunk2 dataChunk) {
     SortState sort = (indexStorage.getRowIdPageLengthInBytes() > 0) ?
         SortState.SORT_EXPLICIT : SortState.SORT_NATIVE;
     dataChunk.setSort_state(sort);
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/rle/RLECodec.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/rle/RLECodec.java
index 0e6d976..be5109a 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/rle/RLECodec.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/rle/RLECodec.java
@@ -34,7 +34,6 @@ import org.apache.carbondata.core.datastore.page.encoding.ColumnPageCodec;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageDecoder;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoder;
 import org.apache.carbondata.core.datastore.page.encoding.ColumnPageEncoderMeta;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.scan.result.vector.ColumnVectorInfo;
@@ -114,7 +113,7 @@ public class RLECodec implements ColumnPageCodec {
     }
 
     @Override
-    protected byte[] encodeData(ColumnPage input) throws MemoryException, IOException {
+    protected byte[] encodeData(ColumnPage input) throws IOException {
       validateDataType(input.getDataType());
       this.dataType = input.getDataType();
       if (dataType == DataTypes.BYTE) {
@@ -297,8 +296,7 @@ public class RLECodec implements ColumnPageCodec {
     }
 
     @Override
-    public ColumnPage decode(byte[] input, int offset, int length)
-        throws MemoryException, IOException {
+    public ColumnPage decode(byte[] input, int offset, int length) throws IOException {
       DataType dataType = columnSpec.getSchemaDataType();
       DataInputStream in = new DataInputStream(new ByteArrayInputStream(input, offset, length));
       ColumnPage resultPage = ColumnPage.newPage(
@@ -320,14 +318,13 @@ public class RLECodec implements ColumnPageCodec {
     @Override
     public void decodeAndFillVector(byte[] input, int offset, int length,
         ColumnVectorInfo vectorInfo, BitSet nullBits, boolean isLVEncoded, int pageSize,
-        ReusableDataBuffer reusableDataBuffer)
-        throws MemoryException, IOException {
+        ReusableDataBuffer reusableDataBuffer) {
       throw new UnsupportedOperationException("Not supposed to be called here");
     }
 
     @Override
     public ColumnPage decode(byte[] input, int offset, int length, boolean isLVEncoded)
-        throws MemoryException, IOException {
+        throws IOException {
       return decode(input, offset, length);
     }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/row/WriteStepRowUtil.java b/core/src/main/java/org/apache/carbondata/core/datastore/row/WriteStepRowUtil.java
index 48772a0..fb4be70 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/row/WriteStepRowUtil.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/row/WriteStepRowUtil.java
@@ -18,7 +18,6 @@
 package org.apache.carbondata.core.datastore.row;
 
 import org.apache.carbondata.core.datastore.block.SegmentProperties;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.keygenerator.KeyGenerator;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.metadata.schema.table.column.CarbonColumn;
@@ -107,7 +106,7 @@ public class WriteStepRowUtil {
     return (int[]) row.getData()[DICTIONARY_DIMENSION];
   }
 
-  public static byte[] getMdk(CarbonRow row, KeyGenerator keyGenerator) throws KeyGenException {
+  public static byte[] getMdk(CarbonRow row, KeyGenerator keyGenerator) {
     return keyGenerator.generateKey(getDictDimension(row));
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/indexstore/AbstractMemoryDMStore.java b/core/src/main/java/org/apache/carbondata/core/indexstore/AbstractMemoryDMStore.java
index 5e08cf9..95a6ac9 100644
--- a/core/src/main/java/org/apache/carbondata/core/indexstore/AbstractMemoryDMStore.java
+++ b/core/src/main/java/org/apache/carbondata/core/indexstore/AbstractMemoryDMStore.java
@@ -21,7 +21,6 @@ import java.io.Serializable;
 
 import org.apache.carbondata.core.indexstore.row.DataMapRow;
 import org.apache.carbondata.core.indexstore.schema.CarbonRowSchema;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.util.ThreadLocalTaskInfo;
 
 /**
@@ -33,8 +32,7 @@ public abstract class AbstractMemoryDMStore implements Serializable {
 
   protected final String taskId = ThreadLocalTaskInfo.getCarbonTaskInfo().getTaskId();
 
-  public abstract void addIndexRow(CarbonRowSchema[] schema, DataMapRow indexRow)
-      throws MemoryException;
+  public abstract void addIndexRow(CarbonRowSchema[] schema, DataMapRow indexRow);
 
   public abstract DataMapRow getDataMapRow(CarbonRowSchema[] schema, int index);
 
@@ -44,12 +42,11 @@ public abstract class AbstractMemoryDMStore implements Serializable {
 
   public abstract int getRowCount();
 
-  public void finishWriting() throws MemoryException {
+  public void finishWriting() {
     // do nothing in default implementation
   }
 
-  public UnsafeMemoryDMStore convertToUnsafeDMStore(CarbonRowSchema[] schema)
-      throws MemoryException {
+  public UnsafeMemoryDMStore convertToUnsafeDMStore(CarbonRowSchema[] schema) {
     throw new UnsupportedOperationException("Operation not allowed");
   }
 }
\ No newline at end of file
diff --git a/core/src/main/java/org/apache/carbondata/core/indexstore/BlockletDataMapIndexStore.java b/core/src/main/java/org/apache/carbondata/core/indexstore/BlockletDataMapIndexStore.java
index a202331..9fda8f0 100644
--- a/core/src/main/java/org/apache/carbondata/core/indexstore/BlockletDataMapIndexStore.java
+++ b/core/src/main/java/org/apache/carbondata/core/indexstore/BlockletDataMapIndexStore.java
@@ -36,7 +36,6 @@ import org.apache.carbondata.core.indexstore.blockletindex.BlockDataMap;
 import org.apache.carbondata.core.indexstore.blockletindex.BlockletDataMapFactory;
 import org.apache.carbondata.core.indexstore.blockletindex.BlockletDataMapModel;
 import org.apache.carbondata.core.indexstore.blockletindex.SegmentIndexFileStore;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.blocklet.DataFileFooter;
 import org.apache.carbondata.core.metadata.schema.table.CarbonTable;
 import org.apache.carbondata.core.util.BlockletDataMapUtil;
@@ -76,13 +75,12 @@ public class BlockletDataMapIndexStore
   }
 
   @Override
-  public BlockletDataMapIndexWrapper get(TableBlockIndexUniqueIdentifierWrapper identifierWrapper)
-      throws IOException {
+  public BlockletDataMapIndexWrapper get(TableBlockIndexUniqueIdentifierWrapper identifierWrapper) {
     return get(identifierWrapper, null);
   }
 
   public BlockletDataMapIndexWrapper get(TableBlockIndexUniqueIdentifierWrapper identifierWrapper,
-      Map<String, Map<String, BlockMetaInfo>> segInfoCache) throws IOException {
+      Map<String, Map<String, BlockMetaInfo>> segInfoCache) {
     TableBlockIndexUniqueIdentifier identifier =
         identifierWrapper.getTableBlockIndexUniqueIdentifier();
     String lruCacheKey = identifier.getUniqueTableSegmentIdentifier();
@@ -244,7 +242,7 @@ public class BlockletDataMapIndexStore
 
   @Override
   public void put(TableBlockIndexUniqueIdentifierWrapper tableBlockIndexUniqueIdentifierWrapper,
-      BlockletDataMapIndexWrapper wrapper) throws IOException, MemoryException {
+      BlockletDataMapIndexWrapper wrapper) throws IOException {
     // As dataMap will use unsafe memory, it is not recommended to overwrite an existing entry
     // as in that case clearing unsafe memory need to be taken card. If at all datamap entry
     // in the cache need to be overwritten then use the invalidate interface
@@ -281,8 +279,7 @@ public class BlockletDataMapIndexStore
   private BlockDataMap loadAndGetDataMap(TableBlockIndexUniqueIdentifier identifier,
       SegmentIndexFileStore indexFileStore, Map<String, BlockMetaInfo> blockMetaInfoMap,
       CarbonTable carbonTable, boolean addTableBlockToUnsafe, Configuration configuration,
-      List<DataFileFooter> indexInfos)
-      throws IOException, MemoryException {
+      List<DataFileFooter> indexInfos) throws IOException {
     String uniqueTableSegmentIdentifier =
         identifier.getUniqueTableSegmentIdentifier();
     Object lock = segmentLockMap.get(uniqueTableSegmentIdentifier);
diff --git a/core/src/main/java/org/apache/carbondata/core/indexstore/SafeMemoryDMStore.java b/core/src/main/java/org/apache/carbondata/core/indexstore/SafeMemoryDMStore.java
index 042790f..70ae7b2 100644
--- a/core/src/main/java/org/apache/carbondata/core/indexstore/SafeMemoryDMStore.java
+++ b/core/src/main/java/org/apache/carbondata/core/indexstore/SafeMemoryDMStore.java
@@ -23,7 +23,6 @@ import java.util.List;
 import org.apache.carbondata.core.constants.CarbonCommonConstants;
 import org.apache.carbondata.core.indexstore.row.DataMapRow;
 import org.apache.carbondata.core.indexstore.schema.CarbonRowSchema;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.util.DataTypeUtil;
 
 /**
@@ -46,7 +45,7 @@ public class SafeMemoryDMStore extends AbstractMemoryDMStore {
    * @return
    */
   @Override
-  public void addIndexRow(CarbonRowSchema[] schema, DataMapRow indexRow) throws MemoryException {
+  public void addIndexRow(CarbonRowSchema[] schema, DataMapRow indexRow) {
     dataMapRows.add(indexRow);
     runningLength += indexRow.getTotalSizeInBytes();
   }
@@ -78,8 +77,7 @@ public class SafeMemoryDMStore extends AbstractMemoryDMStore {
   }
 
   @Override
-  public UnsafeMemoryDMStore convertToUnsafeDMStore(CarbonRowSchema[] schema)
-      throws MemoryException {
+  public UnsafeMemoryDMStore convertToUnsafeDMStore(CarbonRowSchema[] schema) {
     setSchemaDataType(schema);
     UnsafeMemoryDMStore unsafeMemoryDMStore = new UnsafeMemoryDMStore();
     for (DataMapRow dataMapRow : dataMapRows) {
diff --git a/core/src/main/java/org/apache/carbondata/core/indexstore/SegmentPropertiesFetcher.java b/core/src/main/java/org/apache/carbondata/core/indexstore/SegmentPropertiesFetcher.java
index 04bf922..b4ac3e9 100644
--- a/core/src/main/java/org/apache/carbondata/core/indexstore/SegmentPropertiesFetcher.java
+++ b/core/src/main/java/org/apache/carbondata/core/indexstore/SegmentPropertiesFetcher.java
@@ -41,5 +41,5 @@ public interface SegmentPropertiesFetcher {
   SegmentProperties getSegmentProperties(Segment segment, List<PartitionSpec> partitionSpecs)
       throws IOException;
 
-  SegmentProperties getSegmentPropertiesFromDataMap(DataMap coarseGrainDataMap) throws IOException;
+  SegmentProperties getSegmentPropertiesFromDataMap(DataMap coarseGrainDataMap);
 }
diff --git a/core/src/main/java/org/apache/carbondata/core/indexstore/UnsafeMemoryDMStore.java b/core/src/main/java/org/apache/carbondata/core/indexstore/UnsafeMemoryDMStore.java
index 8d9cb57..7ed10bf 100644
--- a/core/src/main/java/org/apache/carbondata/core/indexstore/UnsafeMemoryDMStore.java
+++ b/core/src/main/java/org/apache/carbondata/core/indexstore/UnsafeMemoryDMStore.java
@@ -22,7 +22,6 @@ import org.apache.carbondata.core.indexstore.row.DataMapRow;
 import org.apache.carbondata.core.indexstore.row.UnsafeDataMapRow;
 import org.apache.carbondata.core.indexstore.schema.CarbonRowSchema;
 import org.apache.carbondata.core.memory.MemoryBlock;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.memory.MemoryType;
 import org.apache.carbondata.core.memory.UnsafeMemoryManager;
 import org.apache.carbondata.core.metadata.datatype.DataType;
@@ -50,7 +49,7 @@ public class UnsafeMemoryDMStore extends AbstractMemoryDMStore {
 
   private int rowCount;
 
-  public UnsafeMemoryDMStore() throws MemoryException {
+  public UnsafeMemoryDMStore() {
     this.allocatedSize = capacity;
     this.memoryBlock =
         UnsafeMemoryManager.allocateMemoryWithRetry(MemoryType.ONHEAP, taskId, allocatedSize);
@@ -63,7 +62,7 @@ public class UnsafeMemoryDMStore extends AbstractMemoryDMStore {
    *
    * @param rowSize
    */
-  private void ensureSize(int rowSize) throws MemoryException {
+  private void ensureSize(int rowSize) {
     if (runningLength + rowSize >= allocatedSize) {
       increaseMemory(runningLength + rowSize);
     }
@@ -74,7 +73,7 @@ public class UnsafeMemoryDMStore extends AbstractMemoryDMStore {
     }
   }
 
-  private void increaseMemory(int requiredMemory) throws MemoryException {
+  private void increaseMemory(int requiredMemory) {
     MemoryBlock newMemoryBlock = UnsafeMemoryManager
         .allocateMemoryWithRetry(MemoryType.ONHEAP, taskId, allocatedSize + requiredMemory);
     getUnsafe().copyMemory(this.memoryBlock.getBaseObject(), this.memoryBlock.getBaseOffset(),
@@ -114,7 +113,7 @@ public class UnsafeMemoryDMStore extends AbstractMemoryDMStore {
    *
    * @param indexRow
    */
-  public void addIndexRow(CarbonRowSchema[] schema, DataMapRow indexRow) throws MemoryException {
+  public void addIndexRow(CarbonRowSchema[] schema, DataMapRow indexRow) {
     // First calculate the required memory to keep the row in unsafe
     int rowSize = indexRow.getTotalSizeInBytes();
     // Check whether allocated memory is sufficient or not.
@@ -249,7 +248,7 @@ public class UnsafeMemoryDMStore extends AbstractMemoryDMStore {
     return new UnsafeDataMapRow(schema, memoryBlock, pointers[index]);
   }
 
-  public void finishWriting() throws MemoryException {
+  public void finishWriting() {
     if (runningLength < allocatedSize) {
       MemoryBlock allocate =
           UnsafeMemoryManager.allocateMemoryWithRetry(MemoryType.ONHEAP, taskId, runningLength);
diff --git a/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockDataMap.java b/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockDataMap.java
index 30f9943..0879b33 100644
--- a/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockDataMap.java
+++ b/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockDataMap.java
@@ -48,7 +48,6 @@ import org.apache.carbondata.core.indexstore.UnsafeMemoryDMStore;
 import org.apache.carbondata.core.indexstore.row.DataMapRow;
 import org.apache.carbondata.core.indexstore.row.DataMapRowImpl;
 import org.apache.carbondata.core.indexstore.schema.CarbonRowSchema;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.ColumnarFormatVersion;
 import org.apache.carbondata.core.metadata.blocklet.DataFileFooter;
 import org.apache.carbondata.core.metadata.blocklet.index.BlockletIndex;
@@ -111,8 +110,7 @@ public class BlockDataMap extends CoarseGrainDataMap
   protected boolean isFilePathStored;
 
   @Override
-  public void init(DataMapModel dataMapModel)
-      throws IOException, MemoryException {
+  public void init(DataMapModel dataMapModel) throws IOException {
     long startTime = System.currentTimeMillis();
     assert (dataMapModel instanceof BlockletDataMapModel);
     BlockletDataMapModel blockletDataMapInfo = (BlockletDataMapModel) dataMapModel;
@@ -170,7 +168,7 @@ public class BlockDataMap extends CoarseGrainDataMap
   }
 
   private void finishWriting(CarbonRowSchema[] taskSummarySchema, byte[] filePath, byte[] fileName,
-      byte[] segmentId, DataMapRowImpl summaryRow) throws MemoryException {
+      byte[] segmentId, DataMapRowImpl summaryRow) {
     if (memoryDMStore != null) {
       memoryDMStore.finishWriting();
     }
@@ -187,12 +185,10 @@ public class BlockDataMap extends CoarseGrainDataMap
    * @param segmentProperties
    * @param blockletDataMapInfo
    * @param indexInfo
-   * @throws IOException
-   * @throws MemoryException
    */
   protected DataMapRowImpl loadMetadata(CarbonRowSchema[] taskSummarySchema,
       SegmentProperties segmentProperties, BlockletDataMapModel blockletDataMapInfo,
-      List<DataFileFooter> indexInfo) throws IOException, MemoryException {
+      List<DataFileFooter> indexInfo) {
     if (isLegacyStore) {
       return loadBlockInfoForOldStore(taskSummarySchema, segmentProperties, blockletDataMapInfo,
           indexInfo);
@@ -224,12 +220,10 @@ public class BlockDataMap extends CoarseGrainDataMap
    *
    * @param blockletDataMapInfo
    * @param indexInfo
-   * @throws IOException
-   * @throws MemoryException
    */
   protected DataMapRowImpl loadBlockInfoForOldStore(CarbonRowSchema[] taskSummarySchema,
       SegmentProperties segmentProperties, BlockletDataMapModel blockletDataMapInfo,
-      List<DataFileFooter> indexInfo) throws IOException, MemoryException {
+      List<DataFileFooter> indexInfo) {
     DataMapRowImpl summaryRow = null;
     CarbonRowSchema[] schema = getFileFooterEntrySchema();
     boolean[] minMaxFlag = new boolean[segmentProperties.getColumnsValueSize().length];
@@ -278,12 +272,10 @@ public class BlockDataMap extends CoarseGrainDataMap
    *
    * @param blockletDataMapInfo
    * @param indexInfo
-   * @throws IOException
-   * @throws MemoryException
    */
   private DataMapRowImpl loadBlockMetaInfo(CarbonRowSchema[] taskSummarySchema,
       SegmentProperties segmentProperties, BlockletDataMapModel blockletDataMapInfo,
-      List<DataFileFooter> indexInfo) throws IOException, MemoryException {
+      List<DataFileFooter> indexInfo) {
     String tempFilePath = null;
     DataFileFooter previousDataFileFooter = null;
     int footerCounter = 0;
@@ -594,8 +586,7 @@ public class BlockDataMap extends CoarseGrainDataMap
     return updatedMinMaxValues;
   }
 
-  protected void createMemorySchema(BlockletDataMapModel blockletDataMapModel)
-      throws MemoryException {
+  protected void createMemorySchema(BlockletDataMapModel blockletDataMapModel) {
     memoryDMStore = getMemoryDMStore(blockletDataMapModel.isAddToUnsafe());
   }
 
@@ -604,10 +595,8 @@ public class BlockDataMap extends CoarseGrainDataMap
    * once per datamap. It stores datamap level max/min of each column and partition information of
    * datamap
    *
-   * @throws MemoryException
    */
-  protected void createSummaryDMStore(BlockletDataMapModel blockletDataMapModel)
-      throws MemoryException {
+  protected void createSummaryDMStore(BlockletDataMapModel blockletDataMapModel) {
     taskSummaryDMStore = getMemoryDMStore(blockletDataMapModel.isAddToUnsafe());
   }
 
@@ -785,7 +774,7 @@ public class BlockDataMap extends CoarseGrainDataMap
 
   @Override
   public List<Blocklet> prune(Expression expression, SegmentProperties properties,
-      List<PartitionSpec> partitions, CarbonTable carbonTable) throws IOException {
+      List<PartitionSpec> partitions, CarbonTable carbonTable) {
     return prune(new DataMapFilter(properties, carbonTable, expression).getResolver(), properties,
         partitions);
   }
@@ -1037,8 +1026,7 @@ public class BlockDataMap extends CoarseGrainDataMap
     return segmentPropertiesWrapper.getColumnsInTable();
   }
 
-  protected AbstractMemoryDMStore getMemoryDMStore(boolean addToUnsafe)
-      throws MemoryException {
+  protected AbstractMemoryDMStore getMemoryDMStore(boolean addToUnsafe) {
     AbstractMemoryDMStore memoryDMStore;
     if (addToUnsafe) {
       memoryDMStore = new UnsafeMemoryDMStore();
@@ -1053,11 +1041,7 @@ public class BlockDataMap extends CoarseGrainDataMap
   }
 
   protected CarbonRowSchema[] getTaskSummarySchema() {
-    try {
-      return segmentPropertiesWrapper.getTaskSummarySchemaForBlock(true, isFilePathStored);
-    } catch (MemoryException e) {
-      throw new RuntimeException(e);
-    }
+    return segmentPropertiesWrapper.getTaskSummarySchemaForBlock(true, isFilePathStored);
   }
 
   /**
@@ -1065,7 +1049,7 @@ public class BlockDataMap extends CoarseGrainDataMap
    *
    * @throws MemoryException
    */
-  public void convertToUnsafeDMStore() throws MemoryException {
+  public void convertToUnsafeDMStore() {
     if (memoryDMStore instanceof SafeMemoryDMStore) {
       UnsafeMemoryDMStore unsafeMemoryDMStore = memoryDMStore.convertToUnsafeDMStore(
           getFileFooterEntrySchema());
diff --git a/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockletDataMap.java b/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockletDataMap.java
index 2598229..0b03746 100644
--- a/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockletDataMap.java
+++ b/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockletDataMap.java
@@ -34,7 +34,6 @@ import org.apache.carbondata.core.indexstore.ExtendedBlocklet;
 import org.apache.carbondata.core.indexstore.row.DataMapRow;
 import org.apache.carbondata.core.indexstore.row.DataMapRowImpl;
 import org.apache.carbondata.core.indexstore.schema.CarbonRowSchema;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.ColumnarFormatVersion;
 import org.apache.carbondata.core.metadata.blocklet.BlockletInfo;
 import org.apache.carbondata.core.metadata.blocklet.DataFileFooter;
@@ -53,7 +52,7 @@ public class BlockletDataMap extends BlockDataMap implements Serializable {
   private int blockNum = 0;
 
   @Override
-  public void init(DataMapModel dataMapModel) throws IOException, MemoryException {
+  public void init(DataMapModel dataMapModel) throws IOException {
     super.init(dataMapModel);
   }
 
@@ -62,13 +61,11 @@ public class BlockletDataMap extends BlockDataMap implements Serializable {
    *
    * @param blockletDataMapInfo
    * @param indexInfo
-   * @throws IOException
-   * @throws MemoryException
    */
   @Override
   protected DataMapRowImpl loadMetadata(CarbonRowSchema[] taskSummarySchema,
       SegmentProperties segmentProperties, BlockletDataMapModel blockletDataMapInfo,
-      List<DataFileFooter> indexInfo) throws IOException, MemoryException {
+      List<DataFileFooter> indexInfo) {
     if (isLegacyStore) {
       return loadBlockInfoForOldStore(taskSummarySchema, segmentProperties, blockletDataMapInfo,
           indexInfo);
@@ -83,11 +80,7 @@ public class BlockletDataMap extends BlockDataMap implements Serializable {
     if (isLegacyStore) {
       return super.getTaskSummarySchema();
     }
-    try {
-      return segmentPropertiesWrapper.getTaskSummarySchemaForBlocklet(false, isFilePathStored);
-    } catch (MemoryException e) {
-      throw new RuntimeException(e);
-    }
+    return segmentPropertiesWrapper.getTaskSummarySchemaForBlocklet(false, isFilePathStored);
   }
 
   @Override
@@ -103,12 +96,10 @@ public class BlockletDataMap extends BlockDataMap implements Serializable {
    *
    * @param blockletDataMapInfo
    * @param indexInfo
-   * @throws IOException
-   * @throws MemoryException
    */
   private DataMapRowImpl loadBlockletMetaInfo(CarbonRowSchema[] taskSummarySchema,
       SegmentProperties segmentProperties, BlockletDataMapModel blockletDataMapInfo,
-      List<DataFileFooter> indexInfo) throws IOException, MemoryException {
+      List<DataFileFooter> indexInfo) {
     String tempFilePath = null;
     DataMapRowImpl summaryRow = null;
     CarbonRowSchema[] schema = getFileFooterEntrySchema();
diff --git a/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockletDataMapFactory.java b/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockletDataMapFactory.java
index eb840dd..405be4d 100644
--- a/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockletDataMapFactory.java
+++ b/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockletDataMapFactory.java
@@ -52,7 +52,6 @@ import org.apache.carbondata.core.indexstore.PartitionSpec;
 import org.apache.carbondata.core.indexstore.SegmentPropertiesFetcher;
 import org.apache.carbondata.core.indexstore.TableBlockIndexUniqueIdentifier;
 import org.apache.carbondata.core.indexstore.TableBlockIndexUniqueIdentifierWrapper;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.AbsoluteTableIdentifier;
 import org.apache.carbondata.core.metadata.schema.table.CarbonTable;
 import org.apache.carbondata.core.metadata.schema.table.DataMapSchema;
@@ -109,13 +108,13 @@ public class BlockletDataMapFactory extends CoarseGrainDataMapFactory
 
   @Override
   public DataMapWriter createWriter(Segment segment, String shardName,
-      SegmentProperties segmentProperties) throws IOException {
+      SegmentProperties segmentProperties) {
     throw new UnsupportedOperationException("not implemented");
   }
 
   @Override
   public DataMapBuilder createBuilder(Segment segment, String shardName,
-      SegmentProperties segmentProperties) throws IOException {
+      SegmentProperties segmentProperties) {
     throw new UnsupportedOperationException("not implemented");
   }
 
@@ -454,7 +453,7 @@ public class BlockletDataMapFactory extends CoarseGrainDataMapFactory
   }
 
   @Override
-  public void deleteDatamapData(Segment segment) throws IOException {
+  public void deleteDatamapData(Segment segment) {
 
   }
 
@@ -480,8 +479,7 @@ public class BlockletDataMapFactory extends CoarseGrainDataMapFactory
   }
 
   @Override
-  public SegmentProperties getSegmentPropertiesFromDataMap(DataMap coarseGrainDataMap)
-      throws IOException {
+  public SegmentProperties getSegmentPropertiesFromDataMap(DataMap coarseGrainDataMap) {
     assert (coarseGrainDataMap instanceof BlockDataMap);
     BlockDataMap dataMap = (BlockDataMap) coarseGrainDataMap;
     return dataMap.getSegmentProperties();
@@ -506,7 +504,7 @@ public class BlockletDataMapFactory extends CoarseGrainDataMapFactory
 
   @Override
   public void cache(TableBlockIndexUniqueIdentifierWrapper tableBlockIndexUniqueIdentifierWrapper,
-      BlockletDataMapIndexWrapper blockletDataMapIndexWrapper) throws IOException, MemoryException {
+      BlockletDataMapIndexWrapper blockletDataMapIndexWrapper) throws IOException {
     cache.put(tableBlockIndexUniqueIdentifierWrapper, blockletDataMapIndexWrapper);
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/SegmentIndexFileStore.java b/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/SegmentIndexFileStore.java
index 93068e8..bca448d 100644
--- a/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/SegmentIndexFileStore.java
+++ b/core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/SegmentIndexFileStore.java
@@ -228,10 +228,8 @@ public class SegmentIndexFileStore {
    *
    * @param segmentPath
    * @return
-   * @throws IOException
    */
-  public Map<String, String> getMergeOrIndexFilesFromSegment(String segmentPath)
-      throws IOException {
+  public Map<String, String> getMergeOrIndexFilesFromSegment(String segmentPath) {
     CarbonFile[] carbonIndexFiles =
         getCarbonIndexFiles(segmentPath, FileFactory.getConfiguration());
     Map<String, String> indexFiles = new HashMap<>();
diff --git a/core/src/main/java/org/apache/carbondata/core/indexstore/schema/SchemaGenerator.java b/core/src/main/java/org/apache/carbondata/core/indexstore/schema/SchemaGenerator.java
index 7a9d1a6..71bd96c 100644
--- a/core/src/main/java/org/apache/carbondata/core/indexstore/schema/SchemaGenerator.java
+++ b/core/src/main/java/org/apache/carbondata/core/indexstore/schema/SchemaGenerator.java
@@ -22,7 +22,6 @@ import java.util.List;
 
 import org.apache.carbondata.core.constants.CarbonCommonConstants;
 import org.apache.carbondata.core.datastore.block.SegmentProperties;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.metadata.schema.table.column.CarbonColumn;
 import org.apache.carbondata.core.util.BlockletDataMapUtil;
@@ -177,11 +176,10 @@ public class SchemaGenerator {
    * datamap
    *
    * @param segmentProperties
-   * @throws MemoryException
    */
   public static CarbonRowSchema[] createTaskSummarySchema(SegmentProperties segmentProperties,
       List<CarbonColumn> minMaxCacheColumns,
-      boolean storeBlockletCount, boolean filePathToBeStored) throws MemoryException {
+      boolean storeBlockletCount, boolean filePathToBeStored) {
     List<CarbonRowSchema> taskMinMaxSchemas = new ArrayList<>();
     // for number of rows.
     taskMinMaxSchemas.add(new CarbonRowSchema.FixedCarbonRowSchema(DataTypes.LONG));
diff --git a/core/src/main/java/org/apache/carbondata/core/keygenerator/KeyGenerator.java b/core/src/main/java/org/apache/carbondata/core/keygenerator/KeyGenerator.java
index b083ee0..fed1801 100644
--- a/core/src/main/java/org/apache/carbondata/core/keygenerator/KeyGenerator.java
+++ b/core/src/main/java/org/apache/carbondata/core/keygenerator/KeyGenerator.java
@@ -31,18 +31,16 @@ public interface KeyGenerator extends Serializable, Comparator<byte[]> {
    *
    * @param keys
    * @return byte array
-   * @throws KeyGenException
    */
-  byte[] generateKey(long[] keys) throws KeyGenException;
+  byte[] generateKey(long[] keys);
 
   /**
    * It generates the single key aka byte array from multiple keys.
    *
    * @param keys
    * @return
-   * @throws KeyGenException
    */
-  byte[] generateKey(int[] keys) throws KeyGenException;
+  byte[] generateKey(int[] keys);
 
   /**
    * It gets array of keys out of single key aka byte array
diff --git a/core/src/main/java/org/apache/carbondata/core/keygenerator/columnar/ColumnarSplitter.java b/core/src/main/java/org/apache/carbondata/core/keygenerator/columnar/ColumnarSplitter.java
index 3f2e363..7160808 100644
--- a/core/src/main/java/org/apache/carbondata/core/keygenerator/columnar/ColumnarSplitter.java
+++ b/core/src/main/java/org/apache/carbondata/core/keygenerator/columnar/ColumnarSplitter.java
@@ -17,8 +17,6 @@
 
 package org.apache.carbondata.core.keygenerator.columnar;
 
-import org.apache.carbondata.core.keygenerator.KeyGenException;
-
 /**
  * Splits the odometer key to columns.Further these columns can be stored in a columnar storage.
  */
@@ -36,18 +34,16 @@ public interface ColumnarSplitter {
    *
    * @param keys
    * @return
-   * @throws KeyGenException
    */
-  byte[][] generateAndSplitKey(long[] keys) throws KeyGenException;
+  byte[][] generateAndSplitKey(long[] keys);
 
   /**
    * It generates and splits key to multiple columns
    *
    * @param keys
    * @return
-   * @throws KeyGenException
    */
-  byte[][] generateAndSplitKey(int[] keys) throws KeyGenException;
+  byte[][] generateAndSplitKey(int[] keys);
 
   /**
    * Takes the split keys and generates the surrogate key array
diff --git a/core/src/main/java/org/apache/carbondata/core/keygenerator/columnar/impl/MultiDimKeyVarLengthEquiSplitGenerator.java b/core/src/main/java/org/apache/carbondata/core/keygenerator/columnar/impl/MultiDimKeyVarLengthEquiSplitGenerator.java
index c034ac7..01b4a67 100644
--- a/core/src/main/java/org/apache/carbondata/core/keygenerator/columnar/impl/MultiDimKeyVarLengthEquiSplitGenerator.java
+++ b/core/src/main/java/org/apache/carbondata/core/keygenerator/columnar/impl/MultiDimKeyVarLengthEquiSplitGenerator.java
@@ -24,7 +24,6 @@ import java.util.Set;
 import java.util.TreeSet;
 
 import org.apache.carbondata.core.constants.CarbonCommonConstants;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.keygenerator.columnar.ColumnarSplitter;
 import org.apache.carbondata.core.keygenerator.mdkey.MultiDimKeyVarLengthGenerator;
 
@@ -145,12 +144,12 @@ public class MultiDimKeyVarLengthEquiSplitGenerator extends MultiDimKeyVarLength
   }
 
   @Override
-  public byte[][] generateAndSplitKey(long[] keys) throws KeyGenException {
+  public byte[][] generateAndSplitKey(long[] keys) {
     return splitKey(generateKey(keys));
   }
 
   @Override
-  public byte[][] generateAndSplitKey(int[] keys) throws KeyGenException {
+  public byte[][] generateAndSplitKey(int[] keys) {
     return splitKey(generateKey(keys));
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/keygenerator/columnar/impl/MultiDimKeyVarLengthVariableSplitGenerator.java b/core/src/main/java/org/apache/carbondata/core/keygenerator/columnar/impl/MultiDimKeyVarLengthVariableSplitGenerator.java
index 3f06062..781bb8f 100644
--- a/core/src/main/java/org/apache/carbondata/core/keygenerator/columnar/impl/MultiDimKeyVarLengthVariableSplitGenerator.java
+++ b/core/src/main/java/org/apache/carbondata/core/keygenerator/columnar/impl/MultiDimKeyVarLengthVariableSplitGenerator.java
@@ -27,7 +27,6 @@ import java.util.Set;
 import java.util.TreeSet;
 
 import org.apache.carbondata.core.constants.CarbonCommonConstants;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.keygenerator.columnar.ColumnarSplitter;
 import org.apache.carbondata.core.keygenerator.mdkey.MultiDimKeyVarLengthGenerator;
 
@@ -147,12 +146,12 @@ public class MultiDimKeyVarLengthVariableSplitGenerator extends MultiDimKeyVarLe
   }
 
   @Override
-  public byte[][] generateAndSplitKey(long[] keys) throws KeyGenException {
+  public byte[][] generateAndSplitKey(long[] keys) {
     return splitKey(generateKey(keys));
   }
 
   @Override
-  public byte[][] generateAndSplitKey(int[] keys) throws KeyGenException {
+  public byte[][] generateAndSplitKey(int[] keys) {
     return splitKey(generateKey(keys));
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/keygenerator/mdkey/MultiDimKeyVarLengthGenerator.java b/core/src/main/java/org/apache/carbondata/core/keygenerator/mdkey/MultiDimKeyVarLengthGenerator.java
index 703b49c..25b7fe7 100644
--- a/core/src/main/java/org/apache/carbondata/core/keygenerator/mdkey/MultiDimKeyVarLengthGenerator.java
+++ b/core/src/main/java/org/apache/carbondata/core/keygenerator/mdkey/MultiDimKeyVarLengthGenerator.java
@@ -17,8 +17,6 @@
 
 package org.apache.carbondata.core.keygenerator.mdkey;
 
-import org.apache.carbondata.core.keygenerator.KeyGenException;
-
 public class MultiDimKeyVarLengthGenerator extends AbstractKeyGenerator {
 
   private static final long serialVersionUID = 9134778127271586515L;
@@ -38,13 +36,13 @@ public class MultiDimKeyVarLengthGenerator extends AbstractKeyGenerator {
   }
 
   @Override
-  public byte[] generateKey(long[] keys) throws KeyGenException {
+  public byte[] generateKey(long[] keys) {
 
     return bits.getBytes(keys);
   }
 
   @Override
-  public byte[] generateKey(int[] keys) throws KeyGenException {
+  public byte[] generateKey(int[] keys) {
 
     return bits.getBytes(keys);
   }
diff --git a/core/src/main/java/org/apache/carbondata/core/localdictionary/PageLevelDictionary.java b/core/src/main/java/org/apache/carbondata/core/localdictionary/PageLevelDictionary.java
index d4519cd..f35f978 100644
--- a/core/src/main/java/org/apache/carbondata/core/localdictionary/PageLevelDictionary.java
+++ b/core/src/main/java/org/apache/carbondata/core/localdictionary/PageLevelDictionary.java
@@ -32,7 +32,6 @@ import org.apache.carbondata.core.datastore.page.encoding.compress.DirectCompres
 import org.apache.carbondata.core.datastore.page.statistics.DummyStatsCollector;
 import org.apache.carbondata.core.localdictionary.exception.DictionaryThresholdReachedException;
 import org.apache.carbondata.core.localdictionary.generator.LocalDictionaryGenerator;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.format.LocalDictionaryChunk;
@@ -98,13 +97,11 @@ public class PageLevelDictionary {
    * Below method will be used to get the local dictionary chunk for writing
    * @TODO Support for numeric data type dictionary exclude columns
    * @return encoded local dictionary chunk
-   * @throws MemoryException
-   * in case of problem in encoding
    * @throws IOException
    * in case of problem in encoding
    */
   public LocalDictionaryChunk getLocalDictionaryChunkForBlocklet()
-      throws MemoryException, IOException {
+      throws IOException {
     // TODO support for actual data type dictionary ColumnSPEC
     ColumnType columnType = ColumnType.PLAIN_VALUE;
     boolean isVarcharType = false;
diff --git a/core/src/main/java/org/apache/carbondata/core/metadata/SegmentFileStore.java b/core/src/main/java/org/apache/carbondata/core/metadata/SegmentFileStore.java
index a4d3a29..3d2c9d2 100644
--- a/core/src/main/java/org/apache/carbondata/core/metadata/SegmentFileStore.java
+++ b/core/src/main/java/org/apache/carbondata/core/metadata/SegmentFileStore.java
@@ -582,7 +582,7 @@ public class SegmentFileStore {
    * @param partitionSpecs
    */
   public static SegmentFile getSegmentFileForPhysicalDataPartitions(String tablePath,
-      List<PartitionSpec> partitionSpecs) throws IOException {
+      List<PartitionSpec> partitionSpecs) {
     SegmentFile segmentFile = null;
     for (PartitionSpec spec : partitionSpecs) {
       String location = spec.getLocation().toString();
@@ -1034,8 +1034,7 @@ public class SegmentFileStore {
    * If partition specs are null, then directly delete parent directory in locationMap.
    */
   private static void deletePhysicalPartition(List<PartitionSpec> partitionSpecs,
-      Map<String, List<String>> locationMap, List<String> indexOrMergeFiles, String tablePath)
-      throws IOException {
+      Map<String, List<String>> locationMap, List<String> indexOrMergeFiles, String tablePath) {
     for (String indexOrMergFile : indexOrMergeFiles) {
       if (null != partitionSpecs) {
         Path location = new Path(indexOrMergFile);
diff --git a/core/src/main/java/org/apache/carbondata/core/metadata/datatype/DataTypeAdapter.java b/core/src/main/java/org/apache/carbondata/core/metadata/datatype/DataTypeAdapter.java
index 32c4763..28a231a 100644
--- a/core/src/main/java/org/apache/carbondata/core/metadata/datatype/DataTypeAdapter.java
+++ b/core/src/main/java/org/apache/carbondata/core/metadata/datatype/DataTypeAdapter.java
@@ -36,7 +36,7 @@ public class DataTypeAdapter extends TypeAdapter<Object> {
   private Gson fallBack_original = new Gson();
 
   @Override
-  public void write(JsonWriter jsonWriter, Object o) throws IOException {
+  public void write(JsonWriter jsonWriter, Object o) {
   }
 
   @Override
diff --git a/core/src/main/java/org/apache/carbondata/core/metadata/schema/table/DatabaseDMSchemaStorageProvider.java b/core/src/main/java/org/apache/carbondata/core/metadata/schema/table/DatabaseDMSchemaStorageProvider.java
index 6a2eeec..56af077 100644
--- a/core/src/main/java/org/apache/carbondata/core/metadata/schema/table/DatabaseDMSchemaStorageProvider.java
+++ b/core/src/main/java/org/apache/carbondata/core/metadata/schema/table/DatabaseDMSchemaStorageProvider.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.metadata.schema.table;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -48,7 +47,7 @@ public class DatabaseDMSchemaStorageProvider implements DataMapSchemaStorageProv
   }
 
   @Override
-  public List<DataMapSchema> retrieveAllSchemas() throws IOException {
+  public List<DataMapSchema> retrieveAllSchemas() {
     return new ArrayList<>(0);
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/readcommitter/LatestFilesReadCommittedScope.java b/core/src/main/java/org/apache/carbondata/core/readcommitter/LatestFilesReadCommittedScope.java
index f31348a..bfdbf4c 100644
--- a/core/src/main/java/org/apache/carbondata/core/readcommitter/LatestFilesReadCommittedScope.java
+++ b/core/src/main/java/org/apache/carbondata/core/readcommitter/LatestFilesReadCommittedScope.java
@@ -126,7 +126,7 @@ public class LatestFilesReadCommittedScope implements ReadCommittedScope {
   }
 
   @Override
-  public Map<String, String> getCommittedIndexFile(Segment segment) throws IOException {
+  public Map<String, String> getCommittedIndexFile(Segment segment) {
     Map<String, String> indexFileStore = new HashMap<>();
     Map<String, List<String>> snapShot = readCommittedIndexFileSnapShot.getSegmentIndexFileMap();
     String segName;
@@ -150,8 +150,7 @@ public class LatestFilesReadCommittedScope implements ReadCommittedScope {
   }
 
   @Override
-  public SegmentRefreshInfo getCommittedSegmentRefreshInfo(Segment segment, UpdateVO updateVo)
-      throws IOException {
+  public SegmentRefreshInfo getCommittedSegmentRefreshInfo(Segment segment, UpdateVO updateVo) {
     Map<String, SegmentRefreshInfo> snapShot =
         readCommittedIndexFileSnapShot.getSegmentTimestampUpdaterMap();
     String segName;
diff --git a/core/src/main/java/org/apache/carbondata/core/readcommitter/ReadCommittedScope.java b/core/src/main/java/org/apache/carbondata/core/readcommitter/ReadCommittedScope.java
index 195bd5c..72b234d 100644
--- a/core/src/main/java/org/apache/carbondata/core/readcommitter/ReadCommittedScope.java
+++ b/core/src/main/java/org/apache/carbondata/core/readcommitter/ReadCommittedScope.java
@@ -47,8 +47,7 @@ import org.apache.hadoop.conf.Configuration;
    */
   Map<String, String> getCommittedIndexFile(Segment segment) throws IOException;
 
-  SegmentRefreshInfo getCommittedSegmentRefreshInfo(Segment segment, UpdateVO updateVo)
-      throws IOException;
+  SegmentRefreshInfo getCommittedSegmentRefreshInfo(Segment segment, UpdateVO updateVo);
 
   void takeCarbonIndexFileSnapShot() throws IOException;
 
diff --git a/core/src/main/java/org/apache/carbondata/core/readcommitter/TableStatusReadCommittedScope.java b/core/src/main/java/org/apache/carbondata/core/readcommitter/TableStatusReadCommittedScope.java
index 63a3c04..7e59156 100644
--- a/core/src/main/java/org/apache/carbondata/core/readcommitter/TableStatusReadCommittedScope.java
+++ b/core/src/main/java/org/apache/carbondata/core/readcommitter/TableStatusReadCommittedScope.java
@@ -90,8 +90,7 @@ public class TableStatusReadCommittedScope implements ReadCommittedScope {
     return indexFiles;
   }
 
-  public SegmentRefreshInfo getCommittedSegmentRefreshInfo(Segment segment, UpdateVO updateVo)
-      throws IOException {
+  public SegmentRefreshInfo getCommittedSegmentRefreshInfo(Segment segment, UpdateVO updateVo) {
     SegmentRefreshInfo segmentRefreshInfo;
     if (updateVo != null) {
       segmentRefreshInfo = new SegmentRefreshInfo(updateVo.getLatestUpdateTimestamp(), 0);
diff --git a/core/src/main/java/org/apache/carbondata/core/reader/CarbonDeleteDeltaFileReader.java b/core/src/main/java/org/apache/carbondata/core/reader/CarbonDeleteDeltaFileReader.java
index 9ffcd90..e33772d 100644
--- a/core/src/main/java/org/apache/carbondata/core/reader/CarbonDeleteDeltaFileReader.java
+++ b/core/src/main/java/org/apache/carbondata/core/reader/CarbonDeleteDeltaFileReader.java
@@ -37,6 +37,6 @@ public interface CarbonDeleteDeltaFileReader {
    */
   String read() throws IOException;
 
-  DeleteDeltaBlockDetails readJson() throws IOException;
+  DeleteDeltaBlockDetails readJson();
 
 }
diff --git a/core/src/main/java/org/apache/carbondata/core/reader/CarbonDeleteDeltaFileReaderImpl.java b/core/src/main/java/org/apache/carbondata/core/reader/CarbonDeleteDeltaFileReaderImpl.java
index a23a388..3186b46 100644
--- a/core/src/main/java/org/apache/carbondata/core/reader/CarbonDeleteDeltaFileReaderImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/reader/CarbonDeleteDeltaFileReaderImpl.java
@@ -79,10 +79,9 @@ public class CarbonDeleteDeltaFileReaderImpl implements CarbonDeleteDeltaFileRea
   /**
    * Reads delete delta file (json file) and returns DeleteDeltaBlockDetails
    * @return DeleteDeltaBlockDetails
-   * @throws IOException
    */
   @Override
-  public DeleteDeltaBlockDetails readJson() throws IOException {
+  public DeleteDeltaBlockDetails readJson() {
     Gson gsonObjectToRead = new Gson();
     DataInputStream dataInputStream = null;
     BufferedReader buffReader = null;
diff --git a/core/src/main/java/org/apache/carbondata/core/reader/CarbonDeleteFilesDataReader.java b/core/src/main/java/org/apache/carbondata/core/reader/CarbonDeleteFilesDataReader.java
index 331bb6c..686b0fa 100644
--- a/core/src/main/java/org/apache/carbondata/core/reader/CarbonDeleteFilesDataReader.java
+++ b/core/src/main/java/org/apache/carbondata/core/reader/CarbonDeleteFilesDataReader.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.reader;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -204,7 +203,7 @@ public class CarbonDeleteFilesDataReader {
     }
 
     @Override
-    public DeleteDeltaBlockDetails call() throws IOException {
+    public DeleteDeltaBlockDetails call() {
       CarbonDeleteDeltaFileReaderImpl deltaFileReader =
           new CarbonDeleteDeltaFileReaderImpl(deltaFile);
       return deltaFileReader.readJson();
diff --git a/core/src/main/java/org/apache/carbondata/core/reader/CarbonDictionaryReader.java b/core/src/main/java/org/apache/carbondata/core/reader/CarbonDictionaryReader.java
index 516d2c9..96b0707 100644
--- a/core/src/main/java/org/apache/carbondata/core/reader/CarbonDictionaryReader.java
+++ b/core/src/main/java/org/apache/carbondata/core/reader/CarbonDictionaryReader.java
@@ -18,7 +18,6 @@
 package org.apache.carbondata.core.reader;
 
 import java.io.Closeable;
-import java.io.IOException;
 import java.util.Iterator;
 import java.util.List;
 
@@ -37,9 +36,8 @@ public interface CarbonDictionaryReader extends Closeable {
    * column dictionary is read if it is present in the query.
    *
    * @return list of byte array. Each byte array is unique dictionary value
-   * @throws IOException if an I/O error occurs
    */
-  List<byte[]> read() throws IOException;
+  List<byte[]> read();
 
   /**
    * This method should be used when data has to be read from a given offset.
@@ -50,9 +48,8 @@ public interface CarbonDictionaryReader extends Closeable {
    *
    * @param startOffset start offset of dictionary file
    * @return list of byte array. Each byte array is unique dictionary value
-   * @throws IOException if an I/O error occurs
    */
-  List<byte[]> read(long startOffset) throws IOException;
+  List<byte[]> read(long startOffset);
 
   /**
    * This method will be used to read data between given start and end offset.
@@ -63,7 +60,6 @@ public interface CarbonDictionaryReader extends Closeable {
    * @param startOffset start offset of dictionary file
    * @param endOffset   end offset of dictionary file
    * @return iterator over byte array. Each byte array is unique dictionary value
-   * @throws IOException if an I/O error occurs
    */
-  Iterator<byte[]> read(long startOffset, long endOffset) throws IOException;
+  Iterator<byte[]> read(long startOffset, long endOffset);
 }
diff --git a/core/src/main/java/org/apache/carbondata/core/reader/CarbonIndexFileReader.java b/core/src/main/java/org/apache/carbondata/core/reader/CarbonIndexFileReader.java
index 17870a0..02a512c 100644
--- a/core/src/main/java/org/apache/carbondata/core/reader/CarbonIndexFileReader.java
+++ b/core/src/main/java/org/apache/carbondata/core/reader/CarbonIndexFileReader.java
@@ -97,9 +97,8 @@ public class CarbonIndexFileReader {
    * Open the thrift reader
    *
    * @param fileData
-   * @throws IOException
    */
-  public void openThriftReader(byte[] fileData) throws IOException {
+  public void openThriftReader(byte[] fileData) {
     thriftReader = new ThriftReader(fileData);
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/collector/impl/RestructureBasedRawResultCollector.java b/core/src/main/java/org/apache/carbondata/core/scan/collector/impl/RestructureBasedRawResultCollector.java
index c173f03..71b1013 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/collector/impl/RestructureBasedRawResultCollector.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/collector/impl/RestructureBasedRawResultCollector.java
@@ -22,7 +22,6 @@ import java.util.List;
 
 import org.apache.carbondata.core.constants.CarbonCommonConstants;
 import org.apache.carbondata.core.datastore.block.SegmentProperties;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.keygenerator.KeyGenerator;
 import org.apache.carbondata.core.keygenerator.mdkey.MultiDimKeyVarLengthGenerator;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
@@ -205,12 +204,8 @@ public class RestructureBasedRawResultCollector extends RawBasedResultCollector
           }
         }
       }
-      try {
-        dictKeyArray = restructuredKeyGenerator.generateKey(keyArrayWithNewAddedColumns);
-        byteArrayWrapper.setDictionaryKey(dictKeyArray);
-      } catch (KeyGenException e) {
-        throw new RuntimeException(e);
-      }
+      dictKeyArray = restructuredKeyGenerator.generateKey(keyArrayWithNewAddedColumns);
+      byteArrayWrapper.setDictionaryKey(dictKeyArray);
     }
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/executor/QueryExecutor.java b/core/src/main/java/org/apache/carbondata/core/scan/executor/QueryExecutor.java
index d6f7341..c191927 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/executor/QueryExecutor.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/executor/QueryExecutor.java
@@ -35,11 +35,9 @@ public interface QueryExecutor<E> {
    *
    * @param queryModel query details
    * @return query result iterator
-   * @throws QueryExecutionException if any failure while executing the query
    * @throws IOException if fail to read files
    */
-  CarbonIterator<E> execute(QueryModel queryModel)
-      throws QueryExecutionException, IOException;
+  CarbonIterator<E> execute(QueryModel queryModel) throws IOException;
 
   /**
    * Below method will be used for cleanup
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/AbstractQueryExecutor.java b/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/AbstractQueryExecutor.java
index e55454d..dd14b04 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/AbstractQueryExecutor.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/AbstractQueryExecutor.java
@@ -44,7 +44,6 @@ import org.apache.carbondata.core.datastore.block.TableBlockInfo;
 import org.apache.carbondata.core.indexstore.BlockletDetailInfo;
 import org.apache.carbondata.core.indexstore.blockletindex.BlockletDataRefNode;
 import org.apache.carbondata.core.indexstore.blockletindex.IndexWrapper;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.memory.UnsafeMemoryManager;
 import org.apache.carbondata.core.metadata.blocklet.BlockletInfo;
 import org.apache.carbondata.core.metadata.blocklet.DataFileFooter;
@@ -380,7 +379,7 @@ public abstract class AbstractQueryExecutor<E> implements QueryExecutor<E> {
   }
 
   protected List<BlockExecutionInfo> getBlockExecutionInfos(QueryModel queryModel)
-      throws IOException, QueryExecutionException {
+      throws IOException {
     initQuery(queryModel);
     List<BlockExecutionInfo> blockExecutionInfoList = new ArrayList<BlockExecutionInfo>();
     // fill all the block execution infos for all the blocks selected in
@@ -430,12 +429,10 @@ public abstract class AbstractQueryExecutor<E> implements QueryExecutor<E> {
    * @param queryModel query model from user query
    * @param blockIndex block index
    * @return block execution info
-   * @throws QueryExecutionException any failure during block info creation
    */
   private BlockExecutionInfo getBlockExecutionInfoForBlock(QueryModel queryModel,
       AbstractIndex blockIndex, int startBlockletIndex, int numberOfBlockletToScan, String filePath,
-      String[] deleteDeltaFiles, Segment segment)
-      throws QueryExecutionException {
+      String[] deleteDeltaFiles, Segment segment) {
     BlockExecutionInfo blockExecutionInfo = new BlockExecutionInfo();
     SegmentProperties segmentProperties = blockIndex.getSegmentProperties();
     // set actual query dimensions and measures. It may differ in case of restructure scenarios
@@ -515,12 +512,8 @@ public abstract class AbstractQueryExecutor<E> implements QueryExecutor<E> {
           FilterUtil.getFilterExecuterTree(filterResolverIntf, segmentProperties,
               blockExecutionInfo.getComlexDimensionInfoMap(), false));
     }
-    try {
-      startIndexKey = FilterUtil.prepareDefaultStartIndexKey(segmentProperties);
-      endIndexKey = FilterUtil.prepareDefaultEndIndexKey(segmentProperties);
-    } catch (KeyGenException e) {
-      throw new QueryExecutionException(e);
-    }
+    startIndexKey = FilterUtil.prepareDefaultStartIndexKey(segmentProperties);
+    endIndexKey = FilterUtil.prepareDefaultEndIndexKey(segmentProperties);
     //setting the start index key of the block node
     blockExecutionInfo.setStartKey(startIndexKey);
     //setting the end index key of the block node
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/DetailQueryExecutor.java b/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/DetailQueryExecutor.java
index 272575b..0385d6b 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/DetailQueryExecutor.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/DetailQueryExecutor.java
@@ -22,7 +22,6 @@ import java.util.List;
 import java.util.concurrent.Executors;
 
 import org.apache.carbondata.common.CarbonIterator;
-import org.apache.carbondata.core.scan.executor.exception.QueryExecutionException;
 import org.apache.carbondata.core.scan.executor.infos.BlockExecutionInfo;
 import org.apache.carbondata.core.scan.model.QueryModel;
 import org.apache.carbondata.core.scan.result.RowBatch;
@@ -43,7 +42,7 @@ public class DetailQueryExecutor extends AbstractQueryExecutor<RowBatch> {
 
   @Override
   public CarbonIterator<RowBatch> execute(QueryModel queryModel)
-      throws QueryExecutionException, IOException {
+      throws IOException {
     this.setExecutorService(Executors.newCachedThreadPool());
     List<BlockExecutionInfo> blockExecutionInfoList = getBlockExecutionInfos(queryModel);
     this.queryIterator = new DetailQueryResultIterator(
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/VectorDetailQueryExecutor.java b/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/VectorDetailQueryExecutor.java
index fb7b6c5..3728dbf 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/VectorDetailQueryExecutor.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/VectorDetailQueryExecutor.java
@@ -22,7 +22,6 @@ import java.util.List;
 import java.util.concurrent.Executors;
 
 import org.apache.carbondata.common.CarbonIterator;
-import org.apache.carbondata.core.scan.executor.exception.QueryExecutionException;
 import org.apache.carbondata.core.scan.executor.infos.BlockExecutionInfo;
 import org.apache.carbondata.core.scan.model.QueryModel;
 import org.apache.carbondata.core.scan.result.iterator.VectorDetailQueryResultIterator;
@@ -39,8 +38,7 @@ public class VectorDetailQueryExecutor extends AbstractQueryExecutor<Object> {
   }
 
   @Override
-  public CarbonIterator<Object> execute(QueryModel queryModel)
-      throws QueryExecutionException, IOException {
+  public CarbonIterator<Object> execute(QueryModel queryModel) throws IOException {
     this.setExecutorService(Executors.newCachedThreadPool());
     List<BlockExecutionInfo> blockExecutionInfoList = getBlockExecutionInfos(queryModel);
     this.queryIterator = new VectorDetailQueryResultIterator(
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/executor/util/QueryUtil.java b/core/src/main/java/org/apache/carbondata/core/scan/executor/util/QueryUtil.java
index 1ee73a4..b3d3383 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/executor/util/QueryUtil.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/executor/util/QueryUtil.java
@@ -32,7 +32,6 @@ import org.apache.carbondata.core.constants.CarbonCommonConstants;
 import org.apache.carbondata.core.datastore.block.TableBlockInfo;
 import org.apache.carbondata.core.datastore.compression.Compressor;
 import org.apache.carbondata.core.indexstore.BlockletDetailInfo;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.keygenerator.KeyGenerator;
 import org.apache.carbondata.core.metadata.blocklet.DataFileFooter;
 import org.apache.carbondata.core.metadata.datatype.DataType;
@@ -130,10 +129,9 @@ public class QueryUtil {
    * @param keyOrdinalList
    * @param generator
    * @return
-   * @throws KeyGenException
    */
-  public static byte[] getMaxKeyBasedOnOrinal(List<Integer> keyOrdinalList, KeyGenerator generator)
-      throws KeyGenException {
+  public static byte[] getMaxKeyBasedOnOrdinal(
+      List<Integer> keyOrdinalList, KeyGenerator generator) {
     long[] max = new long[generator.getDimCount()];
     Arrays.fill(max, 0L);
 
@@ -154,10 +152,9 @@ public class QueryUtil {
    * @param queryDimensions dimension selected in query
    * @param generator       key generator
    * @return max key for dimension
-   * @throws KeyGenException if any problem while generating the key
    */
   public static byte[] getMaxKeyBasedOnDimensions(List<ProjectionDimension> queryDimensions,
-      KeyGenerator generator) throws KeyGenException {
+      KeyGenerator generator) {
     long[] max = new long[generator.getDimCount()];
     Arrays.fill(max, 0L);
 
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/expression/MatchExpression.java b/core/src/main/java/org/apache/carbondata/core/scan/expression/MatchExpression.java
index ff6c5c0..2cffa97 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/expression/MatchExpression.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/expression/MatchExpression.java
@@ -19,8 +19,6 @@ package org.apache.carbondata.core.scan.expression;
 
 import org.apache.carbondata.common.annotations.InterfaceAudience;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
-import org.apache.carbondata.core.scan.expression.exception.FilterIllegalMemberException;
-import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.intf.ExpressionType;
 import org.apache.carbondata.core.scan.filter.intf.RowIntf;
 
@@ -44,8 +42,7 @@ public class MatchExpression extends Expression {
   }
 
   @Override
-  public ExpressionResult evaluate(RowIntf value)
-      throws FilterUnsupportedException, FilterIllegalMemberException {
+  public ExpressionResult evaluate(RowIntf value) {
     return new ExpressionResult(DataTypes.BOOLEAN, true);
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/expression/conditional/ImplicitExpression.java b/core/src/main/java/org/apache/carbondata/core/scan/expression/conditional/ImplicitExpression.java
index a4d3f54..8227f3c 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/expression/conditional/ImplicitExpression.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/expression/conditional/ImplicitExpression.java
@@ -27,8 +27,6 @@ import org.apache.carbondata.core.constants.CarbonCommonConstants;
 import org.apache.carbondata.core.scan.expression.Expression;
 import org.apache.carbondata.core.scan.expression.ExpressionResult;
 import org.apache.carbondata.core.scan.expression.LiteralExpression;
-import org.apache.carbondata.core.scan.expression.exception.FilterIllegalMemberException;
-import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.intf.ExpressionType;
 import org.apache.carbondata.core.scan.filter.intf.RowIntf;
 
@@ -71,8 +69,7 @@ public class ImplicitExpression extends Expression {
   }
 
   @Override
-  public ExpressionResult evaluate(RowIntf value)
-      throws FilterUnsupportedException, FilterIllegalMemberException {
+  public ExpressionResult evaluate(RowIntf value) {
     throw new UnsupportedOperationException("Operation not supported for Implicit expression");
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/expression/logical/FalseExpression.java b/core/src/main/java/org/apache/carbondata/core/scan/expression/logical/FalseExpression.java
index 8d0e921..7f3ac2d 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/expression/logical/FalseExpression.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/expression/logical/FalseExpression.java
@@ -22,8 +22,6 @@ import org.apache.carbondata.core.scan.expression.Expression;
 import org.apache.carbondata.core.scan.expression.ExpressionResult;
 import org.apache.carbondata.core.scan.expression.LiteralExpression;
 import org.apache.carbondata.core.scan.expression.conditional.BinaryConditionalExpression;
-import org.apache.carbondata.core.scan.expression.exception.FilterIllegalMemberException;
-import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.intf.ExpressionType;
 import org.apache.carbondata.core.scan.filter.intf.RowIntf;
 
@@ -44,12 +42,9 @@ public class FalseExpression  extends BinaryConditionalExpression {
    * eg: columnName NOT IN('Java',NULL)
    * @param value
    * @return
-   * @throws FilterUnsupportedException
-   * @throws FilterIllegalMemberException
    */
   @Override
-  public ExpressionResult evaluate(RowIntf value)
-      throws FilterUnsupportedException, FilterIllegalMemberException {
+  public ExpressionResult evaluate(RowIntf value) {
     return new ExpressionResult(DataTypes.BOOLEAN, false);
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/expression/logical/TrueExpression.java b/core/src/main/java/org/apache/carbondata/core/scan/expression/logical/TrueExpression.java
index 734ed10..c1ddd58 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/expression/logical/TrueExpression.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/expression/logical/TrueExpression.java
@@ -22,8 +22,6 @@ import org.apache.carbondata.core.scan.expression.Expression;
 import org.apache.carbondata.core.scan.expression.ExpressionResult;
 import org.apache.carbondata.core.scan.expression.LiteralExpression;
 import org.apache.carbondata.core.scan.expression.conditional.BinaryConditionalExpression;
-import org.apache.carbondata.core.scan.expression.exception.FilterIllegalMemberException;
-import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.intf.ExpressionType;
 import org.apache.carbondata.core.scan.filter.intf.RowIntf;
 
@@ -45,12 +43,9 @@ public class TrueExpression extends BinaryConditionalExpression {
    * eg: columnName NOT IN('Java',NULL)
    * @param value
    * @return
-   * @throws FilterUnsupportedException
-   * @throws FilterIllegalMemberException
    */
   @Override
-  public ExpressionResult evaluate(RowIntf value)
-      throws FilterUnsupportedException, FilterIllegalMemberException {
+  public ExpressionResult evaluate(RowIntf value) {
     return new ExpressionResult(DataTypes.BOOLEAN, true);
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/FilterExpressionProcessor.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/FilterExpressionProcessor.java
index 19704bb..8a1105c 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/FilterExpressionProcessor.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/FilterExpressionProcessor.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.scan.filter;
 
-import java.io.IOException;
 import java.util.BitSet;
 
 import org.apache.carbondata.common.logging.LogServiceFactory;
@@ -64,8 +63,7 @@ public class FilterExpressionProcessor implements FilterProcessor {
    * @return a filter resolver tree
    */
   public FilterResolverIntf getFilterResolver(Expression expressionTree,
-      AbsoluteTableIdentifier tableIdentifier)
-      throws FilterUnsupportedException, IOException {
+      AbsoluteTableIdentifier tableIdentifier) throws FilterUnsupportedException {
     if (null != expressionTree && null != tableIdentifier) {
       return getFilterResolvertree(expressionTree, tableIdentifier);
     }
@@ -81,8 +79,7 @@ public class FilterExpressionProcessor implements FilterProcessor {
    * @return FilterResolverIntf type.
    */
   private FilterResolverIntf getFilterResolvertree(Expression expressionTree,
-      AbsoluteTableIdentifier tableIdentifier)
-      throws FilterUnsupportedException, IOException {
+      AbsoluteTableIdentifier tableIdentifier) throws FilterUnsupportedException {
     FilterResolverIntf filterEvaluatorTree =
         createFilterResolverTree(expressionTree, tableIdentifier);
     traverseAndResolveTree(filterEvaluatorTree, tableIdentifier);
@@ -100,7 +97,7 @@ public class FilterExpressionProcessor implements FilterProcessor {
    */
   private void traverseAndResolveTree(FilterResolverIntf filterResolverTree,
       AbsoluteTableIdentifier tableIdentifier)
-      throws FilterUnsupportedException, IOException {
+      throws FilterUnsupportedException {
     if (null == filterResolverTree) {
       return;
     }
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/FilterProcessor.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/FilterProcessor.java
index a6f1dc6..9ef34d9 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/FilterProcessor.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/FilterProcessor.java
@@ -17,8 +17,6 @@
 
 package org.apache.carbondata.core.scan.filter;
 
-import java.io.IOException;
-
 import org.apache.carbondata.core.metadata.AbsoluteTableIdentifier;
 import org.apache.carbondata.core.scan.expression.Expression;
 import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
@@ -37,6 +35,6 @@ public interface FilterProcessor {
    */
   FilterResolverIntf getFilterResolver(Expression expressionTree,
       AbsoluteTableIdentifier tableIdentifier)
-      throws FilterUnsupportedException, IOException;
+      throws FilterUnsupportedException;
 
 }
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/FilterUtil.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/FilterUtil.java
index 96bdcf0..0e01f2a 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/FilterUtil.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/FilterUtil.java
@@ -40,7 +40,6 @@ import org.apache.carbondata.core.datastore.IndexKey;
 import org.apache.carbondata.core.datastore.block.SegmentProperties;
 import org.apache.carbondata.core.datastore.chunk.DimensionColumnPage;
 import org.apache.carbondata.core.datastore.chunk.impl.DimensionRawColumnChunk;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.keygenerator.KeyGenerator;
 import org.apache.carbondata.core.keygenerator.directdictionary.DirectDictionaryGenerator;
 import org.apache.carbondata.core.keygenerator.directdictionary.DirectDictionaryKeyGeneratorFactory;
@@ -714,16 +713,12 @@ public final class FilterUtil {
       }
       if (null != listOfsurrogates) {
         for (Integer surrogate : listOfsurrogates) {
-          try {
-            if (surrogate <= dimColumnsCardinality[keyOrdinalOfDimensionFromCurrentBlock]) {
-              keys[keyOrdinalOfDimensionFromCurrentBlock] = surrogate;
-              filterValuesList
-                  .add(getMaskedKey(rangesForMaskedByte, blockLevelKeyGenerator.generateKey(keys)));
-            } else {
-              break;
-            }
-          } catch (KeyGenException e) {
-            LOGGER.error(e.getMessage(), e);
+          if (surrogate <= dimColumnsCardinality[keyOrdinalOfDimensionFromCurrentBlock]) {
+            keys[keyOrdinalOfDimensionFromCurrentBlock] = surrogate;
+            filterValuesList
+                .add(getMaskedKey(rangesForMaskedByte, blockLevelKeyGenerator.generateKey(keys)));
+          } else {
+            break;
           }
         }
       }
@@ -745,19 +740,15 @@ public final class FilterUtil {
             "Filter values cannot be null in case of range in dictionary include");
       }
       // Here we only get the first column as there can be only one range column.
-      try {
-        if (listOfsurrogates.get(0)
-            <= dimColumnsCardinality[keyOrdinalOfDimensionFromCurrentBlock]) {
-          keys[keyOrdinalOfDimensionFromCurrentBlock] = listOfsurrogates.get(0);
-        } else {
-          keys[keyOrdinalOfDimensionFromCurrentBlock] =
-              dimColumnsCardinality[keyOrdinalOfDimensionFromCurrentBlock];
-        }
-        filterValuesList
-            .add(getMaskedKey(rangesForMaskedByte, blockLevelKeyGenerator.generateKey(keys)));
-      } catch (KeyGenException e) {
-        LOGGER.error(e.getMessage(), e);
+      if (listOfsurrogates.get(0)
+          <= dimColumnsCardinality[keyOrdinalOfDimensionFromCurrentBlock]) {
+        keys[keyOrdinalOfDimensionFromCurrentBlock] = listOfsurrogates.get(0);
+      } else {
+        keys[keyOrdinalOfDimensionFromCurrentBlock] =
+            dimColumnsCardinality[keyOrdinalOfDimensionFromCurrentBlock];
       }
+      filterValuesList
+          .add(getMaskedKey(rangesForMaskedByte, blockLevelKeyGenerator.generateKey(keys)));
     }
     return filterValuesList.toArray(new byte[filterValuesList.size()][]);
   }
@@ -827,18 +818,13 @@ public final class FilterUtil {
    */
   public static byte[] getMaskKey(int surrogate, CarbonDimension carbonDimension,
       KeyGenerator blockLevelKeyGenerator) {
-
     int[] keys = new int[blockLevelKeyGenerator.getDimCount()];
     byte[] maskedKey = null;
     Arrays.fill(keys, 0);
     int[] rangesForMaskedByte =
         getRangesForMaskedByte((carbonDimension.getKeyOrdinal()), blockLevelKeyGenerator);
-    try {
-      keys[carbonDimension.getKeyOrdinal()] = surrogate;
-      maskedKey = getMaskedKey(rangesForMaskedByte, blockLevelKeyGenerator.generateKey(keys));
-    } catch (KeyGenException e) {
-      LOGGER.error(e.getMessage(), e);
-    }
+    keys[carbonDimension.getKeyOrdinal()] = surrogate;
+    maskedKey = getMaskedKey(rangesForMaskedByte, blockLevelKeyGenerator.generateKey(keys));
     return maskedKey;
   }
 
@@ -1122,14 +1108,7 @@ public final class FilterUtil {
 
   public static IndexKey createIndexKeyFromResolvedFilterVal(long[] startOrEndKey,
       KeyGenerator keyGenerator, byte[] startOrEndKeyForNoDictDimension) {
-    IndexKey indexKey = null;
-    try {
-      indexKey =
-          new IndexKey(keyGenerator.generateKey(startOrEndKey), startOrEndKeyForNoDictDimension);
-    } catch (KeyGenException e) {
-      LOGGER.error(e.getMessage(), e);
-    }
-    return indexKey;
+    return new IndexKey(keyGenerator.generateKey(startOrEndKey), startOrEndKeyForNoDictDimension);
   }
 
   /**
@@ -1207,10 +1186,8 @@ public final class FilterUtil {
    *
    * @param segmentProperties
    * @return
-   * @throws KeyGenException
    */
-  public static IndexKey prepareDefaultEndIndexKey(SegmentProperties segmentProperties)
-      throws KeyGenException {
+  public static IndexKey prepareDefaultEndIndexKey(SegmentProperties segmentProperties) {
     long[] dictionarySurrogateKey = new long[segmentProperties.getNumberOfDictSortColumns()];
     int index = 0;
     int[] dimColumnsCardinality = segmentProperties.getDimColumnsCardinality();
@@ -1259,10 +1236,8 @@ public final class FilterUtil {
    *
    * @param segmentProperties
    * @return
-   * @throws KeyGenException
    */
-  public static IndexKey prepareDefaultStartIndexKey(SegmentProperties segmentProperties)
-      throws KeyGenException {
+  public static IndexKey prepareDefaultStartIndexKey(SegmentProperties segmentProperties) {
     IndexKey startIndexKey;
     long[] dictionarySurrogateKey = new long[segmentProperties.getNumberOfDictSortColumns()];
     byte[] dictionaryStartMdkey =
@@ -1592,12 +1567,8 @@ public final class FilterUtil {
         }
         if (ByteUtil.UnsafeComparer.INSTANCE
             .compareTo(actualFilter, dictionary.getDictionaryValue(i)) == 0) {
-          try {
-            dummy[0] = i;
-            encodedFilters.add(keyGenerator.generateKey(dummy));
-          } catch (KeyGenException e) {
-            LOGGER.error(e.getMessage(), e);
-          }
+          dummy[0] = i;
+          encodedFilters.add(keyGenerator.generateKey(dummy));
           break;
         }
       }
@@ -1681,26 +1652,18 @@ public final class FilterUtil {
     List<byte[]> encodedFilterValues = new ArrayList<>();
     int[] dummy = new int[1];
     if (!useExclude) {
-      try {
-        for (int i = includeDictValues.nextSetBit(0);
-             i >= 0; i = includeDictValues.nextSetBit(i + 1)) {
-          dummy[0] = i;
-          encodedFilterValues.add(keyGenerator.generateKey(dummy));
-        }
-      } catch (KeyGenException e) {
-        LOGGER.error(e.getMessage(), e);
+      for (int i = includeDictValues.nextSetBit(0);
+           i >= 0; i = includeDictValues.nextSetBit(i + 1)) {
+        dummy[0] = i;
+        encodedFilterValues.add(keyGenerator.generateKey(dummy));
       }
       return encodedFilterValues.toArray(new byte[encodedFilterValues.size()][]);
     } else {
-      try {
-        for (int i = 1; i < carbonDictionary.getDictionarySize(); i++) {
-          if (!includeDictValues.get(i) && null != carbonDictionary.getDictionaryValue(i)) {
-            dummy[0] = i;
-            encodedFilterValues.add(keyGenerator.generateKey(dummy));
-          }
+      for (int i = 1; i < carbonDictionary.getDictionarySize(); i++) {
+        if (!includeDictValues.get(i) && null != carbonDictionary.getDictionaryValue(i)) {
+          dummy[0] = i;
+          encodedFilterValues.add(keyGenerator.generateKey(dummy));
         }
-      } catch (KeyGenException e) {
-        LOGGER.error(e.getMessage(), e);
       }
     }
     return getSortedEncodedFilters(encodedFilterValues);
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/ExcludeFilterExecuterImpl.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/ExcludeFilterExecuterImpl.java
index a7e0ff2..baa89de 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/ExcludeFilterExecuterImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/ExcludeFilterExecuterImpl.java
@@ -26,7 +26,6 @@ import org.apache.carbondata.core.datastore.chunk.impl.DimensionRawColumnChunk;
 import org.apache.carbondata.core.datastore.chunk.impl.MeasureRawColumnChunk;
 import org.apache.carbondata.core.datastore.page.ColumnPage;
 import org.apache.carbondata.core.metadata.datatype.DataType;
-import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.FilterExecutorUtil;
 import org.apache.carbondata.core.scan.filter.FilterUtil;
 import org.apache.carbondata.core.scan.filter.intf.FilterExecuterType;
@@ -155,8 +154,7 @@ public class ExcludeFilterExecuterImpl implements FilterExecuter {
   }
 
   @Override
-  public BitSet prunePages(RawBlockletColumnChunks rawBlockletColumnChunks)
-      throws FilterUnsupportedException, IOException {
+  public BitSet prunePages(RawBlockletColumnChunks rawBlockletColumnChunks) {
     int numberOfPages = rawBlockletColumnChunks.getDataBlock().numberOfPages();
     BitSet bitSet = new BitSet(numberOfPages);
     bitSet.set(0, numberOfPages);
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/FalseFilterExecutor.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/FalseFilterExecutor.java
index eb4b2ea..4aa74ef 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/FalseFilterExecutor.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/FalseFilterExecutor.java
@@ -17,25 +17,16 @@
 
 package org.apache.carbondata.core.scan.filter.executer;
 
-import java.io.IOException;
 import java.util.BitSet;
 
-import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.intf.RowIntf;
 import org.apache.carbondata.core.scan.processor.RawBlockletColumnChunks;
 import org.apache.carbondata.core.util.BitSetGroup;
 
-/**
- * API will apply filter based on resolver instance
- *
- * @return
- * @throws FilterUnsupportedException
- */
 public class FalseFilterExecutor implements FilterExecuter {
 
   @Override
-  public BitSetGroup applyFilter(RawBlockletColumnChunks rawChunks, boolean useBitsetPipeline)
-      throws FilterUnsupportedException, IOException {
+  public BitSetGroup applyFilter(RawBlockletColumnChunks rawChunks, boolean useBitsetPipeline) {
     int numberOfPages = rawChunks.getDataBlock().numberOfPages();
     BitSetGroup group = new BitSetGroup(numberOfPages);
     for (int i = 0; i < numberOfPages; i++) {
@@ -46,16 +37,14 @@ public class FalseFilterExecutor implements FilterExecuter {
   }
 
   @Override
-  public BitSet prunePages(RawBlockletColumnChunks rawChunks)
-      throws FilterUnsupportedException, IOException {
+  public BitSet prunePages(RawBlockletColumnChunks rawChunks) {
     int numberOfPages = rawChunks.getDataBlock().numberOfPages();
     BitSet set = new BitSet(numberOfPages);
     return set;
   }
 
   @Override
-  public boolean applyFilter(RowIntf value, int dimOrdinalMax)
-      throws FilterUnsupportedException, IOException {
+  public boolean applyFilter(RowIntf value, int dimOrdinalMax) {
     return false;
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/ImplicitIncludeFilterExecutorImpl.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/ImplicitIncludeFilterExecutorImpl.java
index d545119..ebf88a6 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/ImplicitIncludeFilterExecutorImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/ImplicitIncludeFilterExecutorImpl.java
@@ -17,12 +17,10 @@
 
 package org.apache.carbondata.core.scan.filter.executer;
 
-import java.io.IOException;
 import java.util.BitSet;
 import java.util.Set;
 
 import org.apache.carbondata.core.constants.CarbonCommonConstants;
-import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.intf.RowIntf;
 import org.apache.carbondata.core.scan.filter.resolver.resolverinfo.DimColumnResolvedFilterInfo;
 import org.apache.carbondata.core.scan.processor.RawBlockletColumnChunks;
@@ -56,8 +54,7 @@ public class ImplicitIncludeFilterExecutorImpl
   }
 
   @Override
-  public BitSet prunePages(RawBlockletColumnChunks rawBlockletColumnChunks)
-      throws FilterUnsupportedException, IOException {
+  public BitSet prunePages(RawBlockletColumnChunks rawBlockletColumnChunks) {
     int numberOfPages = rawBlockletColumnChunks.getDataBlock().numberOfPages();
     BitSet bitSet = new BitSet(numberOfPages);
     bitSet.set(0, numberOfPages);
@@ -65,8 +62,7 @@ public class ImplicitIncludeFilterExecutorImpl
   }
 
   @Override
-  public boolean applyFilter(RowIntf value, int dimOrdinalMax)
-      throws FilterUnsupportedException, IOException {
+  public boolean applyFilter(RowIntf value, int dimOrdinalMax) {
     return false;
   }
 
@@ -77,7 +73,7 @@ public class ImplicitIncludeFilterExecutorImpl
   }
 
   @Override
-  public void readColumnChunks(RawBlockletColumnChunks rawBlockletColumnChunks) throws IOException {
+  public void readColumnChunks(RawBlockletColumnChunks rawBlockletColumnChunks) {
 
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/IncludeFilterExecuterImpl.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/IncludeFilterExecuterImpl.java
index 37e035b..e8e6cc8 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/IncludeFilterExecuterImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/IncludeFilterExecuterImpl.java
@@ -28,7 +28,6 @@ import org.apache.carbondata.core.datastore.chunk.impl.MeasureRawColumnChunk;
 import org.apache.carbondata.core.datastore.page.ColumnPage;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.encoder.Encoding;
-import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.FilterExecutorUtil;
 import org.apache.carbondata.core.scan.filter.FilterUtil;
 import org.apache.carbondata.core.scan.filter.intf.FilterExecuterType;
@@ -196,7 +195,7 @@ public class IncludeFilterExecuterImpl implements FilterExecuter {
 
   @Override
   public BitSet prunePages(RawBlockletColumnChunks rawBlockletColumnChunks)
-      throws FilterUnsupportedException, IOException {
+      throws IOException {
     if (isDimensionPresentInCurrentBlock) {
       int chunkIndex = segmentProperties.getDimensionOrdinalToChunkMapping()
           .get(dimColumnEvaluatorInfo.getColumnIndex());
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RangeValueFilterExecuterImpl.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RangeValueFilterExecuterImpl.java
index 2c1a242..4031e77 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RangeValueFilterExecuterImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RangeValueFilterExecuterImpl.java
@@ -32,7 +32,6 @@ import org.apache.carbondata.core.scan.expression.conditional.GreaterThanEqualTo
 import org.apache.carbondata.core.scan.expression.conditional.GreaterThanExpression;
 import org.apache.carbondata.core.scan.expression.conditional.LessThanEqualToExpression;
 import org.apache.carbondata.core.scan.expression.conditional.LessThanExpression;
-import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.FilterUtil;
 import org.apache.carbondata.core.scan.filter.intf.RowIntf;
 import org.apache.carbondata.core.scan.filter.resolver.resolverinfo.DimColumnResolvedFilterInfo;
@@ -130,17 +129,16 @@ public class RangeValueFilterExecuterImpl implements FilterExecuter {
    * Method to apply the filter.
    * @param rawBlockletColumnChunks
    * @return
-   * @throws FilterUnsupportedException
    * @throws IOException
    */
   public BitSetGroup applyFilter(RawBlockletColumnChunks rawBlockletColumnChunks,
-      boolean useBitsetPipeLine) throws FilterUnsupportedException, IOException {
+      boolean useBitsetPipeLine) throws IOException {
     return applyNoAndDirectFilter(rawBlockletColumnChunks, useBitsetPipeLine);
   }
 
   @Override
   public BitSet prunePages(RawBlockletColumnChunks blockChunkHolder)
-      throws FilterUnsupportedException, IOException {
+      throws IOException {
     // In case of Alter Table Add and Delete Columns the isDimensionPresentInCurrentBlock can be
     // false, in that scenario the default values of the column should be shown.
     // select all rows if dimension does not exists in the current block
@@ -179,8 +177,7 @@ public class RangeValueFilterExecuterImpl implements FilterExecuter {
   /**
    * apply range filter on a row
    */
-  public boolean applyFilter(RowIntf value, int dimOrdinalMax)
-      throws FilterUnsupportedException, IOException {
+  public boolean applyFilter(RowIntf value, int dimOrdinalMax) {
 
     byte[] col = (byte[]) value.getVal(dimColEvaluatorInfo.getDimension().getOrdinal());
     byte[][] filterValues = this.filterRangesValues;
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RestructureEvaluatorImpl.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RestructureEvaluatorImpl.java
index 9d44462..c507122 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RestructureEvaluatorImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RestructureEvaluatorImpl.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.scan.filter.executer;
 
-import java.io.IOException;
 import java.nio.charset.Charset;
 import java.util.BitSet;
 import java.util.List;
@@ -110,7 +109,7 @@ public abstract class RestructureEvaluatorImpl implements FilterExecuter {
 
   @Override
   public BitSet prunePages(RawBlockletColumnChunks rawBlockletColumnChunks)
-      throws FilterUnsupportedException, IOException {
+      throws FilterUnsupportedException {
     throw new FilterUnsupportedException("Unsupported RestructureEvaluatorImpl on pune pages");
   }
 
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RestructureExcludeFilterExecutorImpl.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RestructureExcludeFilterExecutorImpl.java
index 15c23e6..848d0f4 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RestructureExcludeFilterExecutorImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RestructureExcludeFilterExecutorImpl.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.scan.filter.executer;
 
-import java.io.IOException;
 import java.util.BitSet;
 
 import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
@@ -50,7 +49,7 @@ public class RestructureExcludeFilterExecutorImpl extends RestructureEvaluatorIm
 
   @Override
   public BitSetGroup applyFilter(RawBlockletColumnChunks rawBlockletColumnChunks,
-      boolean useBitsetPipeLine) throws IOException {
+      boolean useBitsetPipeLine) {
     int numberOfRows = rawBlockletColumnChunks.getDataBlock().numRows();
     return FilterUtil
         .createBitSetGroupWithDefaultValue(rawBlockletColumnChunks.getDataBlock().numberOfPages(),
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RestructureIncludeFilterExecutorImpl.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RestructureIncludeFilterExecutorImpl.java
index 30c809e..364a2af 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RestructureIncludeFilterExecutorImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RestructureIncludeFilterExecutorImpl.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.scan.filter.executer;
 
-import java.io.IOException;
 import java.util.BitSet;
 
 import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
@@ -49,7 +48,7 @@ public class RestructureIncludeFilterExecutorImpl extends RestructureEvaluatorIm
 
   @Override
   public BitSetGroup applyFilter(RawBlockletColumnChunks rawBlockletColumnChunks,
-      boolean useBitsetPipeLine) throws IOException {
+      boolean useBitsetPipeLine) {
     int numberOfRows = rawBlockletColumnChunks.getDataBlock().numRows();
     return FilterUtil.createBitSetGroupWithDefaultValue(
         rawBlockletColumnChunks.getDataBlock().numberOfPages(),
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelFilterExecuterImpl.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelFilterExecuterImpl.java
index 6630eb8..d26c58b 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelFilterExecuterImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelFilterExecuterImpl.java
@@ -289,7 +289,7 @@ public class RowLevelFilterExecuterImpl implements FilterExecuter {
 
   @Override
   public BitSet prunePages(RawBlockletColumnChunks rawBlockletColumnChunks)
-      throws FilterUnsupportedException, IOException {
+      throws IOException {
     readColumnChunks(rawBlockletColumnChunks);
     int pages = rawBlockletColumnChunks.getDataBlock().numberOfPages();
     BitSet bitSet = new BitSet();
@@ -299,7 +299,7 @@ public class RowLevelFilterExecuterImpl implements FilterExecuter {
 
   @Override
   public boolean applyFilter(RowIntf value, int dimOrdinalMax)
-      throws FilterUnsupportedException, IOException {
+      throws FilterUnsupportedException {
     try {
       Boolean result = exp.evaluate(convertRow(value, dimOrdinalMax)).getBoolean();
       return result == null ? false : result;
@@ -313,9 +313,8 @@ public class RowLevelFilterExecuterImpl implements FilterExecuter {
    * @param value this row will be converted to actual value
    * @param dimOrdinalMax for measure column, its index in row = dimOrdinalMax + its ordinal
    * @return actual value row
-   * @throws IOException
    */
-  private RowIntf convertRow(RowIntf value, int dimOrdinalMax) throws IOException {
+  private RowIntf convertRow(RowIntf value, int dimOrdinalMax) {
     Object[] record = new Object[value.size()];
     String memberString;
     for (int i = 0; i < dimColEvaluatorInfoList.size(); i++) {
@@ -375,10 +374,9 @@ public class RowLevelFilterExecuterImpl implements FilterExecuter {
    * @param blockChunkHolder
    * @param row
    * @param index
-   * @throws IOException
    */
   private void createRow(RawBlockletColumnChunks blockChunkHolder, RowIntf row, int pageIndex,
-      int index) throws IOException {
+      int index) {
     Object[] record = new Object[dimColEvaluatorInfoList.size() + msrColEvalutorInfoList.size()];
     String memberString;
     for (int i = 0; i < dimColEvaluatorInfoList.size(); i++) {
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeGrtThanFiterExecuterImpl.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeGrtThanFiterExecuterImpl.java
index dd0986a..45ee863 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeGrtThanFiterExecuterImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeGrtThanFiterExecuterImpl.java
@@ -35,7 +35,6 @@ import org.apache.carbondata.core.metadata.schema.table.column.CarbonDimension;
 import org.apache.carbondata.core.metadata.schema.table.column.CarbonMeasure;
 import org.apache.carbondata.core.scan.executor.util.RestructureUtil;
 import org.apache.carbondata.core.scan.expression.Expression;
-import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.FilterUtil;
 import org.apache.carbondata.core.scan.filter.intf.RowIntf;
 import org.apache.carbondata.core.scan.filter.resolver.resolverinfo.DimColumnResolvedFilterInfo;
@@ -156,7 +155,7 @@ public class RowLevelRangeGrtThanFiterExecuterImpl extends RowLevelFilterExecute
 
   @Override
   public BitSet prunePages(RawBlockletColumnChunks rawBlockletColumnChunks)
-      throws FilterUnsupportedException, IOException {
+      throws IOException {
     if (!isDimensionPresentInCurrentBlock[0] && !isMeasurePresentInCurrentBlock[0]) {
       int numberOfPages = rawBlockletColumnChunks.getDataBlock().numberOfPages();
       BitSet bitSet = new BitSet(numberOfPages);
@@ -399,8 +398,7 @@ public class RowLevelRangeGrtThanFiterExecuterImpl extends RowLevelFilterExecute
   }
 
   @Override
-  public boolean applyFilter(RowIntf value, int dimOrdinalMax)
-      throws FilterUnsupportedException, IOException {
+  public boolean applyFilter(RowIntf value, int dimOrdinalMax) {
     if (isDimensionPresentInCurrentBlock[0]) {
       byte[] col =
           (byte[]) value.getVal(dimColEvaluatorInfoList.get(0).getDimension().getOrdinal());
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeGrtrThanEquaToFilterExecuterImpl.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeGrtrThanEquaToFilterExecuterImpl.java
index c358620..b986b30 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeGrtrThanEquaToFilterExecuterImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeGrtrThanEquaToFilterExecuterImpl.java
@@ -35,7 +35,6 @@ import org.apache.carbondata.core.metadata.schema.table.column.CarbonDimension;
 import org.apache.carbondata.core.metadata.schema.table.column.CarbonMeasure;
 import org.apache.carbondata.core.scan.executor.util.RestructureUtil;
 import org.apache.carbondata.core.scan.expression.Expression;
-import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.FilterUtil;
 import org.apache.carbondata.core.scan.filter.intf.RowIntf;
 import org.apache.carbondata.core.scan.filter.resolver.resolverinfo.DimColumnResolvedFilterInfo;
@@ -345,7 +344,7 @@ public class RowLevelRangeGrtrThanEquaToFilterExecuterImpl extends RowLevelFilte
 
   @Override
   public BitSet prunePages(RawBlockletColumnChunks rawBlockletColumnChunks)
-      throws FilterUnsupportedException, IOException {
+      throws IOException {
     // select all rows if dimension does not exists in the current block
     if (!isDimensionPresentInCurrentBlock[0] && !isMeasurePresentInCurrentBlock[0]) {
       int numberOfPages = rawBlockletColumnChunks.getDataBlock().numberOfPages();
@@ -402,8 +401,7 @@ public class RowLevelRangeGrtrThanEquaToFilterExecuterImpl extends RowLevelFilte
   }
 
   @Override
-  public boolean applyFilter(RowIntf value, int dimOrdinalMax)
-      throws FilterUnsupportedException, IOException {
+  public boolean applyFilter(RowIntf value, int dimOrdinalMax) {
     if (isDimensionPresentInCurrentBlock[0]) {
       byte[] col =
           (byte[]) value.getVal(dimColEvaluatorInfoList.get(0).getDimension().getOrdinal());
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeLessThanEqualFilterExecuterImpl.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeLessThanEqualFilterExecuterImpl.java
index a79b99d..4305da0 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeLessThanEqualFilterExecuterImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeLessThanEqualFilterExecuterImpl.java
@@ -35,7 +35,6 @@ import org.apache.carbondata.core.metadata.schema.table.column.CarbonDimension;
 import org.apache.carbondata.core.metadata.schema.table.column.CarbonMeasure;
 import org.apache.carbondata.core.scan.executor.util.RestructureUtil;
 import org.apache.carbondata.core.scan.expression.Expression;
-import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.FilterUtil;
 import org.apache.carbondata.core.scan.filter.intf.RowIntf;
 import org.apache.carbondata.core.scan.filter.resolver.resolverinfo.DimColumnResolvedFilterInfo;
@@ -324,7 +323,7 @@ public class RowLevelRangeLessThanEqualFilterExecuterImpl extends RowLevelFilter
 
   @Override
   public BitSet prunePages(RawBlockletColumnChunks rawBlockletColumnChunks)
-      throws FilterUnsupportedException, IOException {
+      throws IOException {
     // select all rows if dimension does not exists in the current block
     if (!isDimensionPresentInCurrentBlock[0] && !isMeasurePresentInCurrentBlock[0]) {
       int numberOfPages = rawBlockletColumnChunks.getDataBlock().numberOfPages();
@@ -380,8 +379,7 @@ public class RowLevelRangeLessThanEqualFilterExecuterImpl extends RowLevelFilter
   }
 
   @Override
-  public boolean applyFilter(RowIntf value, int dimOrdinalMax)
-      throws FilterUnsupportedException, IOException {
+  public boolean applyFilter(RowIntf value, int dimOrdinalMax) {
     if (isDimensionPresentInCurrentBlock[0]) {
       byte[] col =
           (byte[]) value.getVal(dimColEvaluatorInfoList.get(0).getDimension().getOrdinal());
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeLessThanFilterExecuterImpl.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeLessThanFilterExecuterImpl.java
index 9c887da..37566f8 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeLessThanFilterExecuterImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelRangeLessThanFilterExecuterImpl.java
@@ -35,7 +35,6 @@ import org.apache.carbondata.core.metadata.schema.table.column.CarbonDimension;
 import org.apache.carbondata.core.metadata.schema.table.column.CarbonMeasure;
 import org.apache.carbondata.core.scan.executor.util.RestructureUtil;
 import org.apache.carbondata.core.scan.expression.Expression;
-import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.FilterUtil;
 import org.apache.carbondata.core.scan.filter.intf.RowIntf;
 import org.apache.carbondata.core.scan.filter.resolver.resolverinfo.DimColumnResolvedFilterInfo;
@@ -320,7 +319,7 @@ public class RowLevelRangeLessThanFilterExecuterImpl extends RowLevelFilterExecu
 
   @Override
   public BitSet prunePages(RawBlockletColumnChunks rawBlockletColumnChunks)
-      throws FilterUnsupportedException, IOException {
+      throws IOException {
     // select all rows if dimension does not exists in the current block
     if (!isDimensionPresentInCurrentBlock[0] && !isMeasurePresentInCurrentBlock[0]) {
       int numberOfPages = rawBlockletColumnChunks.getDataBlock().numberOfPages();
@@ -375,8 +374,7 @@ public class RowLevelRangeLessThanFilterExecuterImpl extends RowLevelFilterExecu
   }
 
   @Override
-  public boolean applyFilter(RowIntf value, int dimOrdinalMax)
-      throws FilterUnsupportedException, IOException {
+  public boolean applyFilter(RowIntf value, int dimOrdinalMax) {
     if (isDimensionPresentInCurrentBlock[0]) {
       byte[] col =
           (byte[]) value.getVal(dimColEvaluatorInfoList.get(0).getDimension().getOrdinal());
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/TrueFilterExecutor.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/TrueFilterExecutor.java
index 3fd3716..cde65bb 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/TrueFilterExecutor.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/TrueFilterExecutor.java
@@ -17,10 +17,8 @@
 
 package org.apache.carbondata.core.scan.filter.executer;
 
-import java.io.IOException;
 import java.util.BitSet;
 
-import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.intf.RowIntf;
 import org.apache.carbondata.core.scan.processor.RawBlockletColumnChunks;
 import org.apache.carbondata.core.util.BitSetGroup;
@@ -31,10 +29,9 @@ public class TrueFilterExecutor implements FilterExecuter {
    * API will apply filter based on resolver instance
    *
    * @return
-   * @throws FilterUnsupportedException
    */
   public BitSetGroup applyFilter(RawBlockletColumnChunks rawBlockletColumnChunks,
-      boolean useBitsetPipeLine) throws FilterUnsupportedException, IOException {
+      boolean useBitsetPipeLine) {
     int numberOfPages = rawBlockletColumnChunks.getDataBlock().numberOfPages();
     BitSetGroup group = new BitSetGroup(numberOfPages);
     for (int i = 0; i < numberOfPages; i++) {
@@ -46,8 +43,7 @@ public class TrueFilterExecutor implements FilterExecuter {
   }
 
   @Override
-  public BitSet prunePages(RawBlockletColumnChunks rawBlockletColumnChunks)
-      throws FilterUnsupportedException, IOException {
+  public BitSet prunePages(RawBlockletColumnChunks rawBlockletColumnChunks) {
     int numberOfPages = rawBlockletColumnChunks.getDataBlock().numberOfPages();
     BitSet set = new BitSet(numberOfPages);
     set.set(0, numberOfPages);
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/ConditionalFilterResolverImpl.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/ConditionalFilterResolverImpl.java
index b9b03e4..2cf08d8 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/ConditionalFilterResolverImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/ConditionalFilterResolverImpl.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.scan.filter.resolver;
 
-import java.io.IOException;
 import java.util.List;
 import java.util.SortedMap;
 
@@ -69,7 +68,7 @@ public class ConditionalFilterResolverImpl implements FilterResolverIntf {
    */
   @Override
   public void resolve(AbsoluteTableIdentifier absoluteTableIdentifier)
-      throws FilterUnsupportedException, IOException {
+      throws FilterUnsupportedException {
     FilterResolverMetadata metadata = new FilterResolverMetadata();
     metadata.setTableIdentifier(absoluteTableIdentifier);
     if ((!isExpressionResolve) && exp instanceof BinaryConditionalExpression) {
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/FilterResolverIntf.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/FilterResolverIntf.java
index d7cbbc9..ee3b45e 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/FilterResolverIntf.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/FilterResolverIntf.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.scan.filter.resolver;
 
-import java.io.IOException;
 import java.io.Serializable;
 import java.util.List;
 import java.util.SortedMap;
@@ -37,11 +36,9 @@ public interface FilterResolverIntf extends Serializable {
    * dictionaries for executing/evaluating the filter expressions in the
    * executer layer.
    *
-   * @throws IOException
    * @throws FilterUnsupportedException
    */
-  void resolve(AbsoluteTableIdentifier absoluteTableIdentifier)
-      throws IOException, FilterUnsupportedException;
+  void resolve(AbsoluteTableIdentifier absoluteTableIdentifier) throws FilterUnsupportedException;
 
   /**
    * This API will provide the left column filter expression
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/resolverinfo/DimColumnResolvedFilterInfo.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/resolverinfo/DimColumnResolvedFilterInfo.java
index 47ff35c..fd019f6 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/resolverinfo/DimColumnResolvedFilterInfo.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/resolverinfo/DimColumnResolvedFilterInfo.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.scan.filter.resolver.resolverinfo;
 
-import java.io.IOException;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -114,7 +113,7 @@ public class DimColumnResolvedFilterInfo extends ColumnResolvedFilterInfo implem
   }
 
   public void populateFilterInfoBasedOnColumnType(ResolvedFilterInfoVisitorIntf visitor,
-      FilterResolverMetadata metadata) throws FilterUnsupportedException, IOException {
+      FilterResolverMetadata metadata) throws FilterUnsupportedException {
     if (null != visitor) {
       visitor.populateFilterResolvedInfo(this, metadata);
       this.addDimensionResolvedFilterInstance(metadata.getColumnExpression().getDimension(),
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/resolverinfo/MeasureColumnResolvedFilterInfo.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/resolverinfo/MeasureColumnResolvedFilterInfo.java
index ba4f69e..9becac0 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/resolverinfo/MeasureColumnResolvedFilterInfo.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/resolverinfo/MeasureColumnResolvedFilterInfo.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.core.scan.filter.resolver.resolverinfo;
 
-import java.io.IOException;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -131,7 +130,7 @@ public class MeasureColumnResolvedFilterInfo extends ColumnResolvedFilterInfo
   }
 
   public void populateFilterInfoBasedOnColumnType(ResolvedFilterInfoVisitorIntf visitor,
-      FilterResolverMetadata metadata) throws FilterUnsupportedException, IOException {
+      FilterResolverMetadata metadata) throws FilterUnsupportedException {
     if (null != visitor) {
       visitor.populateFilterResolvedInfo(this, metadata);
       this.addMeasureResolvedFilterInstance(metadata.getColumnExpression().getMeasure(),
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/resolverinfo/visitor/ResolvedFilterInfoVisitorIntf.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/resolverinfo/visitor/ResolvedFilterInfoVisitorIntf.java
index 05a4e42..eb58ece 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/resolverinfo/visitor/ResolvedFilterInfoVisitorIntf.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/resolver/resolverinfo/visitor/ResolvedFilterInfoVisitorIntf.java
@@ -17,8 +17,6 @@
 
 package org.apache.carbondata.core.scan.filter.resolver.resolverinfo.visitor;
 
-import java.io.IOException;
-
 import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException;
 import org.apache.carbondata.core.scan.filter.resolver.metadata.FilterResolverMetadata;
 import org.apache.carbondata.core.scan.filter.resolver.resolverinfo.ColumnResolvedFilterInfo;
@@ -37,5 +35,5 @@ public interface ResolvedFilterInfoVisitorIntf {
    * @throws FilterUnsupportedException
    */
   void populateFilterResolvedInfo(ColumnResolvedFilterInfo visitableObj,
-      FilterResolverMetadata metadata) throws FilterUnsupportedException, IOException;
+      FilterResolverMetadata metadata) throws FilterUnsupportedException;
 }
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/result/iterator/ColumnDriftRawResultIterator.java b/core/src/main/java/org/apache/carbondata/core/scan/result/iterator/ColumnDriftRawResultIterator.java
index 990d54c..3b54b6d 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/result/iterator/ColumnDriftRawResultIterator.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/result/iterator/ColumnDriftRawResultIterator.java
@@ -23,7 +23,6 @@ import java.util.List;
 import org.apache.carbondata.common.CarbonIterator;
 import org.apache.carbondata.common.logging.LogServiceFactory;
 import org.apache.carbondata.core.datastore.block.SegmentProperties;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.encoder.Encoding;
 import org.apache.carbondata.core.metadata.schema.table.column.CarbonDimension;
@@ -102,7 +101,7 @@ public class ColumnDriftRawResultIterator extends RawResultIterator {
   }
 
   @Override
-  protected Object[] convertRow(Object[] rawRow) throws KeyGenException {
+  protected Object[] convertRow(Object[] rawRow) {
     super.convertRow(rawRow);
     ByteArrayWrapper dimObject = (ByteArrayWrapper) rawRow[0];
     // need move measure to dimension and return new row by current schema
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/result/iterator/RawResultIterator.java b/core/src/main/java/org/apache/carbondata/core/scan/result/iterator/RawResultIterator.java
index b7fdc03..ac4a159 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/result/iterator/RawResultIterator.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/result/iterator/RawResultIterator.java
@@ -28,7 +28,6 @@ import org.apache.carbondata.common.CarbonIterator;
 import org.apache.carbondata.common.logging.LogServiceFactory;
 import org.apache.carbondata.core.constants.CarbonCommonConstants;
 import org.apache.carbondata.core.datastore.block.SegmentProperties;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.scan.result.RowBatch;
 import org.apache.carbondata.core.scan.wrappers.ByteArrayWrapper;
 import org.apache.carbondata.core.util.CarbonProperties;
@@ -119,7 +118,7 @@ public class RawResultIterator extends CarbonIterator<Object[]> {
     }
   }
 
-  private List<Object[]> fetchRows() throws Exception {
+  private List<Object[]> fetchRows() {
     List<Object[]> converted = new ArrayList<>();
     while (detailRawQueryResultIterator.hasNext()) {
       for (Object[] r : detailRawQueryResultIterator.next().getRows()) {
@@ -196,12 +195,12 @@ public class RawResultIterator extends CarbonIterator<Object[]> {
    * for fetching the row with out incrementing counter.
    * @return
    */
-  public Object[] fetchConverted() throws KeyGenException {
+  public Object[] fetchConverted() {
     pickRow();
     return this.currentRawRow;
   }
 
-  protected Object[] convertRow(Object[] rawRow) throws KeyGenException {
+  protected Object[] convertRow(Object[] rawRow) {
     byte[] dims = ((ByteArrayWrapper) rawRow[0]).getDictionaryKey();
     long[] keyArray = sourceSegProperties.getDimensionKeyGenerator().getKeyArray(dims);
     byte[] covertedBytes =
diff --git a/core/src/main/java/org/apache/carbondata/core/statusmanager/SegmentStatusManager.java b/core/src/main/java/org/apache/carbondata/core/statusmanager/SegmentStatusManager.java
index 62eb8a2..153b057 100755
--- a/core/src/main/java/org/apache/carbondata/core/statusmanager/SegmentStatusManager.java
+++ b/core/src/main/java/org/apache/carbondata/core/statusmanager/SegmentStatusManager.java
@@ -586,7 +586,7 @@ public class SegmentStatusManager {
   }
 
   // a dummy func for mocking in testcase, which simulates IOException
-  private static void mockForTest() throws IOException {
+  private static void mockForTest() {
   }
 
   /**
diff --git a/core/src/main/java/org/apache/carbondata/core/statusmanager/SegmentUpdateStatusManager.java b/core/src/main/java/org/apache/carbondata/core/statusmanager/SegmentUpdateStatusManager.java
index 63f9471..5dbc5ba 100644
--- a/core/src/main/java/org/apache/carbondata/core/statusmanager/SegmentUpdateStatusManager.java
+++ b/core/src/main/java/org/apache/carbondata/core/statusmanager/SegmentUpdateStatusManager.java
@@ -279,9 +279,8 @@ public class SegmentUpdateStatusManager {
    *
    * @param blockFilePath actual block filePath
    * @return all delete delta files
-   * @throws Exception
    */
-  public String[] getDeleteDeltaFilePath(String blockFilePath, String segmentId) throws Exception {
+  public String[] getDeleteDeltaFilePath(String blockFilePath, String segmentId) {
     return getDeltaFiles(blockFilePath, segmentId, CarbonCommonConstants.DELETE_DELTA_FILE_EXT)
         .toArray(new String[0]);
   }
@@ -289,8 +288,7 @@ public class SegmentUpdateStatusManager {
   /**
    * Returns all delta file paths of specified block
    */
-  private List<String> getDeltaFiles(String blockPath, String segment, String extension)
-      throws Exception {
+  private List<String> getDeltaFiles(String blockPath, String segment, String extension) {
     Path path = new Path(blockPath);
     String completeBlockName = path.getName();
     String blockNameWithoutExtn =
@@ -343,7 +341,7 @@ public class SegmentUpdateStatusManager {
    * @return the list of delete file
    */
   private List<String> getDeltaFiles(String blockDir, final String blockNameFromTuple,
-      final String extension, String segment) throws IOException {
+      final String extension, String segment) {
     List<String> deleteFileList = new ArrayList<>();
     for (SegmentUpdateDetails block : updateDetails) {
       if (block.getBlockName().equalsIgnoreCase(blockNameFromTuple) && block.getSegmentName()
@@ -383,7 +381,7 @@ public class SegmentUpdateStatusManager {
 
   private List<String> getFilePaths(String blockDir, final String blockNameFromTuple,
       final String extension, List<String> deleteFileList, final long deltaStartTimestamp,
-      final long deltaEndTimeStamp) throws IOException {
+      final long deltaEndTimeStamp) {
     List<String> deltaList = segmentDeleteDeltaListMap.get(blockDir);
     if (deltaList == null) {
       CarbonFile[] files = FileFactory.getCarbonFile(blockDir).listFiles(new CarbonFileFilter() {
diff --git a/core/src/main/java/org/apache/carbondata/core/util/CarbonMetadataUtil.java b/core/src/main/java/org/apache/carbondata/core/util/CarbonMetadataUtil.java
index 73d2acb..5a69689 100644
--- a/core/src/main/java/org/apache/carbondata/core/util/CarbonMetadataUtil.java
+++ b/core/src/main/java/org/apache/carbondata/core/util/CarbonMetadataUtil.java
@@ -75,8 +75,7 @@ public class CarbonMetadataUtil {
    * @return FileFooter
    */
   public static FileFooter3 convertFileFooterVersion3(List<BlockletInfo3> infoList,
-      List<BlockletIndex> blockletIndexs, int[] cardinalities, int numberOfColumns)
-      throws IOException {
+      List<BlockletIndex> blockletIndexs, int[] cardinalities, int numberOfColumns) {
     FileFooter3 footer = getFileFooter3(infoList, blockletIndexs, cardinalities, numberOfColumns);
     for (BlockletInfo3 info : infoList) {
       footer.addToBlocklet_info_list3(info);
diff --git a/core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java b/core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java
index a1824a4..d6607dc 100644
--- a/core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java
+++ b/core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java
@@ -69,7 +69,6 @@ import org.apache.carbondata.core.indexstore.blockletindex.SegmentIndexFileStore
 import org.apache.carbondata.core.localdictionary.generator.ColumnLocalDictionaryGenerator;
 import org.apache.carbondata.core.localdictionary.generator.LocalDictionaryGenerator;
 import org.apache.carbondata.core.locks.ICarbonLock;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.AbsoluteTableIdentifier;
 import org.apache.carbondata.core.metadata.ColumnarFormatVersion;
 import org.apache.carbondata.core.metadata.SegmentFileStore;
@@ -350,7 +349,7 @@ public final class CarbonUtil {
     UserGroupInformation.getLoginUser().doAs(new PrivilegedExceptionAction<Void>() {
 
       @Override
-      public Void run() throws Exception {
+      public Void run() {
         for (int i = 0; i < file.length; i++) {
           if (file[i].exists()) {
             boolean delete = file[i].delete();
@@ -3218,10 +3217,9 @@ public final class CarbonUtil {
    * @param columnSpec ColumSpec
    * @return FallbackEncodedColumnPage
    * @throws IOException
-   * @throws MemoryException
    */
   public static FallbackEncodedColumnPage getFallBackEncodedColumnPage(ColumnPage columnPage,
-      int pageIndex, TableSpec.ColumnSpec columnSpec) throws IOException, MemoryException {
+      int pageIndex, TableSpec.ColumnSpec columnSpec) throws IOException {
     // new encoded column page
     EncodedColumnPage newEncodedColumnPage;
 
diff --git a/core/src/main/java/org/apache/carbondata/core/writer/CarbonIndexFileMergeWriter.java b/core/src/main/java/org/apache/carbondata/core/writer/CarbonIndexFileMergeWriter.java
index 35f6244..abb12ce 100644
--- a/core/src/main/java/org/apache/carbondata/core/writer/CarbonIndexFileMergeWriter.java
+++ b/core/src/main/java/org/apache/carbondata/core/writer/CarbonIndexFileMergeWriter.java
@@ -300,10 +300,9 @@ public class CarbonIndexFileMergeWriter {
    * Merge all the carbonindex files of segment to a  merged file
    *
    * @param segmentId
-   * @throws IOException
    */
   public String mergeCarbonIndexFilesOfSegment(String segmentId, String uuid, String tablePath,
-      String partitionPath) throws IOException {
+      String partitionPath) {
     return mergeCarbonIndexFilesOfSegment(segmentId, tablePath, null, false, uuid, partitionPath);
   }
 
@@ -312,10 +311,9 @@ public class CarbonIndexFileMergeWriter {
    *
    * @param segmentId
    * @param readFileFooterFromCarbonDataFile
-   * @throws IOException
    */
   public String mergeCarbonIndexFilesOfSegment(String segmentId, String tablePath,
-      boolean readFileFooterFromCarbonDataFile, String uuid) throws IOException {
+      boolean readFileFooterFromCarbonDataFile, String uuid) {
     return mergeCarbonIndexFilesOfSegment(segmentId, tablePath, null,
         readFileFooterFromCarbonDataFile, uuid, null);
   }
diff --git a/core/src/main/java/org/apache/carbondata/events/OperationEventListener.java b/core/src/main/java/org/apache/carbondata/events/OperationEventListener.java
index 06574af..a7df340 100644
--- a/core/src/main/java/org/apache/carbondata/events/OperationEventListener.java
+++ b/core/src/main/java/org/apache/carbondata/events/OperationEventListener.java
@@ -28,7 +28,7 @@ public abstract class OperationEventListener {
    * @param event
    * @param operationContext
    */
-  protected abstract void onEvent(Event event, OperationContext operationContext) throws Exception;
+  protected abstract void onEvent(Event event, OperationContext operationContext);
 
   @Override
   public boolean equals(Object obj) {
diff --git a/core/src/main/java/org/apache/carbondata/hadoop/CarbonInputSplit.java b/core/src/main/java/org/apache/carbondata/hadoop/CarbonInputSplit.java
index 3092a4a..086a6c0 100644
--- a/core/src/main/java/org/apache/carbondata/hadoop/CarbonInputSplit.java
+++ b/core/src/main/java/org/apache/carbondata/hadoop/CarbonInputSplit.java
@@ -747,7 +747,7 @@ public class CarbonInputSplit extends FileSplit
   }
 
   @Override
-  public SplitLocationInfo[] getLocationInfo() throws IOException {
+  public SplitLocationInfo[] getLocationInfo() {
     return hostInfos;
   }
 
diff --git a/core/src/test/java/org/apache/carbondata/core/keygenerator/columnar/impl/MultiDimKeyVarLengthVariableSplitGeneratorUnitTest.java b/core/src/test/java/org/apache/carbondata/core/keygenerator/columnar/impl/MultiDimKeyVarLengthVariableSplitGeneratorUnitTest.java
index 0f675d8..9065001 100644
--- a/core/src/test/java/org/apache/carbondata/core/keygenerator/columnar/impl/MultiDimKeyVarLengthVariableSplitGeneratorUnitTest.java
+++ b/core/src/test/java/org/apache/carbondata/core/keygenerator/columnar/impl/MultiDimKeyVarLengthVariableSplitGeneratorUnitTest.java
@@ -39,7 +39,7 @@ public class MultiDimKeyVarLengthVariableSplitGeneratorUnitTest {
         new MultiDimKeyVarLengthVariableSplitGenerator(lens, dimSplit);
   }
 
-  @Test public void testWithDifferentValueInDimSplit() throws Exception {
+  @Test public void testWithDifferentValueInDimSplit() {
 
     int[] lens = new int[] { 32, 8, 32, 32, 16 };
     int[] dimSplit = new int[] { 12, 8, 1, 8, 16 };
@@ -53,7 +53,7 @@ public class MultiDimKeyVarLengthVariableSplitGeneratorUnitTest {
     assertThat(result, is(equalTo(result_value)));
   }
 
-  @Test public void testGenerateAndSplitKeyAndGetKeyArrayWithActualLogic() throws KeyGenException {
+  @Test public void testGenerateAndSplitKeyAndGetKeyArrayWithActualLogic() {
     long[] keys = new long[] { 12253L, 48254L, 451245L, 52245L, 36458L, 48123L, 264L, 5852L, 42L };
     long[] expected_result = { 12253, 126, 58029, 52245, 36458 };
     byte[][] result_GenerateAndSplitKey =
@@ -63,8 +63,7 @@ public class MultiDimKeyVarLengthVariableSplitGeneratorUnitTest {
     assertThat(result_GetKeyArray, is(equalTo(expected_result)));
   }
 
-  @Test public void testGenerateAndSplitKeyAndGetKeyArrayWithActualLogicWithInt()
-      throws KeyGenException {
+  @Test public void testGenerateAndSplitKeyAndGetKeyArrayWithActualLogicWithInt() {
     int[] keys = new int[] { 122, 254, 4512, 52, 36, 481, 264, 58, 42 };
     long[] expected_result = { 122L, 254L, 4512L, 52L, 36L };
     byte[][] result_GenerateAndSplitKey =
@@ -74,8 +73,7 @@ public class MultiDimKeyVarLengthVariableSplitGeneratorUnitTest {
     assertThat(result_GetKeyArray, is(equalTo(expected_result)));
   }
 
-  @Test public void testGenerateAndSplitKeyAndGetKeyByteArrayWithActualLogicWithInt()
-      throws KeyGenException {
+  @Test public void testGenerateAndSplitKeyAndGetKeyByteArrayWithActualLogicWithInt() {
     int[] keys = new int[] { 1220, 2554, 452, 520, 360, 48, 24, 56, 42 };
     byte[] expected_result = new byte[] { 0, 0, 4, -60, -6, 1, -60, 2, 8, 1, 104 };
     byte[][] result_GenerateAndSplitKey =
@@ -85,7 +83,7 @@ public class MultiDimKeyVarLengthVariableSplitGeneratorUnitTest {
     assertThat(result_GetKeyByteArray, is(equalTo(expected_result)));
   }
 
-  @Test public void testSplitKey() throws Exception {
+  @Test public void testSplitKey() {
     byte[][] result_value =
         new byte[][] { { 1, 102, 20, 56 }, { 64 }, { 36, 18 }, { 16, 28 }, { 98, 93 } };
     byte[] key = new byte[] { 1, 102, 20, 56, 64, 36, 18, 16, 28, 98, 93 };
@@ -93,41 +91,41 @@ public class MultiDimKeyVarLengthVariableSplitGeneratorUnitTest {
     assertThat(result, is(equalTo(result_value)));
   }
 
-  @Test public void testGetKeyArray() throws Exception {
+  @Test public void testGetKeyArray() {
     long[] result_value = new long[] { 23467064, 64, 9234, 4124, 25181 };
     byte[][] key = new byte[][] { { 1, 102, 20, 56, 64, 36, 18, 16, 28, 98, 93 } };
     long[] result = multiDimKeyVarLengthVariableSplitGenerator.getKeyArray(key);
     assertThat(result, is(equalTo(result_value)));
   }
 
-  @Test public void testKeyByteArray() throws Exception {
+  @Test public void testKeyByteArray() {
     byte[] result_value = new byte[] { 1, 102, 20, 56, 64, 36, 18, 16, 28, 98, 93 };
     byte[][] key = new byte[][] { { 1, 102, 20, 56, 64, 36, 18, 16, 28, 98, 93 } };
     byte[] result = multiDimKeyVarLengthVariableSplitGenerator.getKeyByteArray(key);
     assertThat(result, is(equalTo(result_value)));
   }
 
-  @Test public void testGetKeySizeByBlockWithBlockIndexesInRange() throws Exception {
+  @Test public void testGetKeySizeByBlockWithBlockIndexesInRange() {
     int result_value = 3;
     int[] blockIndexes = new int[] { 1, 4 };
     int result = multiDimKeyVarLengthVariableSplitGenerator.getKeySizeByBlock(blockIndexes);
     assertEquals(result_value, result);
   }
 
-  @Test public void testGetKeySizeByBlockWithBlockIndexes() throws Exception {
+  @Test public void testGetKeySizeByBlockWithBlockIndexes() {
     int result_value = 9;
     int[] blockIndexes = new int[] { 1, 4, 2, 0 };
     int result = multiDimKeyVarLengthVariableSplitGenerator.getKeySizeByBlock(blockIndexes);
     assertEquals(result_value, result);
   }
 
-  @Test public void equalsWithError() throws Exception {
+  @Test public void equalsWithError() {
     Object obj = new Object();
     boolean result = multiDimKeyVarLengthVariableSplitGenerator.equals(obj);
     assertEquals(false, result);
   }
 
-  @Test public void equalsWithTrue() throws Exception {
+  @Test public void equalsWithTrue(){
     boolean result = multiDimKeyVarLengthVariableSplitGenerator
         .equals(multiDimKeyVarLengthVariableSplitGenerator);
     assertEquals(true, result);
diff --git a/core/src/test/java/org/apache/carbondata/core/localdictionary/TestPageLevelDictionary.java b/core/src/test/java/org/apache/carbondata/core/localdictionary/TestPageLevelDictionary.java
index 01c8a6e..9468218 100644
--- a/core/src/test/java/org/apache/carbondata/core/localdictionary/TestPageLevelDictionary.java
+++ b/core/src/test/java/org/apache/carbondata/core/localdictionary/TestPageLevelDictionary.java
@@ -106,8 +106,6 @@ public class TestPageLevelDictionary {
       for (int i = 0; i < 500; i++) {
         Arrays.equals(decode.getBytes(i), validateData[i]);
       }
-    } catch (MemoryException e) {
-      Assert.assertTrue(false);
     } catch (IOException e) {
       Assert.assertTrue(false);
     }
@@ -192,8 +190,6 @@ public class TestPageLevelDictionary {
       for(int i =0; i<validateData.length;i++) {
         Assert.assertTrue(Arrays.equals(decode.getBytes(i), validateData[i]));
       }
-    } catch (MemoryException e) {
-      Assert.assertTrue(false);
     } catch (IOException e) {
       Assert.assertTrue(false);
     }
diff --git a/core/src/test/java/org/apache/carbondata/core/scan/executor/util/QueryUtilTest.java b/core/src/test/java/org/apache/carbondata/core/scan/executor/util/QueryUtilTest.java
index a135441..d02c575 100644
--- a/core/src/test/java/org/apache/carbondata/core/scan/executor/util/QueryUtilTest.java
+++ b/core/src/test/java/org/apache/carbondata/core/scan/executor/util/QueryUtilTest.java
@@ -23,12 +23,9 @@ import java.util.List;
 
 import org.apache.carbondata.core.datastore.block.SegmentProperties;
 import org.apache.carbondata.core.datastore.block.SegmentPropertiesTestUtil;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.scan.model.ProjectionDimension;
 
 import junit.framework.TestCase;
-import mockit.Mock;
-import mockit.MockUp;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
@@ -90,12 +87,8 @@ public class QueryUtilTest extends TestCase {
       dimensions.add(dimension);
     }
     byte[] maxKeyBasedOnDimensions = null;
-    try {
-      maxKeyBasedOnDimensions = QueryUtil
-          .getMaxKeyBasedOnDimensions(dimensions, segmentProperties.getDimensionKeyGenerator());
-    } catch (KeyGenException e) {
-      assertTrue(false);
-    }
+    maxKeyBasedOnDimensions = QueryUtil
+        .getMaxKeyBasedOnDimensions(dimensions, segmentProperties.getDimensionKeyGenerator());
     byte[] expectedMaxKeyBasedOnDimensions = { -1, 0, 0, 0, 0, 0 };
     for (int i = 0; i < expectedMaxKeyBasedOnDimensions.length; i++) {
       if (expectedMaxKeyBasedOnDimensions[i] != maxKeyBasedOnDimensions[i]) {
@@ -152,12 +145,12 @@ public class QueryUtilTest extends TestCase {
     assertArrayEquals(expectedValue, actualValue);
   }
 
-  @Test public void testGetMaxKeyBasedOnOrinal() throws Exception {
+  @Test public void testGetMaxKeyBasedOnOrdinal() throws Exception {
     List<Integer> dummyList = new ArrayList<>();
     dummyList.add(0, 1);
     dummyList.add(1, 2);
     byte[] actualValue =
-        QueryUtil.getMaxKeyBasedOnOrinal(dummyList, segmentProperties.getDimensionKeyGenerator());
+        QueryUtil.getMaxKeyBasedOnOrdinal(dummyList, segmentProperties.getDimensionKeyGenerator());
     byte[] expectedValue = { 0, -1, -1, 0, 0, 0 };
     assertArrayEquals(expectedValue, actualValue);
   }
diff --git a/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/AbstractBloomDataMapWriter.java b/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/AbstractBloomDataMapWriter.java
index 6f03ba6..17e00f7 100644
--- a/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/AbstractBloomDataMapWriter.java
+++ b/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/AbstractBloomDataMapWriter.java
@@ -65,11 +65,11 @@ public abstract class AbstractBloomDataMapWriter extends DataMapWriter {
   }
 
   @Override
-  public void onBlockStart(String blockId) throws IOException {
+  public void onBlockStart(String blockId) {
   }
 
   @Override
-  public void onBlockEnd(String blockId) throws IOException {
+  public void onBlockEnd(String blockId) {
   }
 
   @Override
@@ -110,8 +110,7 @@ public abstract class AbstractBloomDataMapWriter extends DataMapWriter {
   }
 
   @Override
-  public void onPageAdded(int blockletId, int pageId, int pageSize, ColumnPage[] pages)
-      throws IOException {
+  public void onPageAdded(int blockletId, int pageId, int pageSize, ColumnPage[] pages) {
     for (int rowId = 0; rowId < pageSize; rowId++) {
       // for each indexed column, add the data to index
       for (int i = 0; i < indexColumns.size(); i++) {
@@ -197,7 +196,7 @@ public abstract class AbstractBloomDataMapWriter extends DataMapWriter {
   }
 
   @Override
-  public void finish() throws IOException {
+  public void finish() {
     if (!isWritingFinished()) {
       releaseResouce();
       setWritingFinished(true);
diff --git a/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMap.java b/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMap.java
index 58e3852..6d18e47 100644
--- a/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMap.java
+++ b/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMap.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.datamap.bloom;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -85,7 +84,7 @@ public class BloomCoarseGrainDataMap extends CoarseGrainDataMap {
   private BadRecordLogHolder badRecordLogHolder;
 
   @Override
-  public void init(DataMapModel dataMapModel) throws IOException {
+  public void init(DataMapModel dataMapModel) {
     this.indexPath = FileFactory.getPath(dataMapModel.getFilePath());
     this.shardName = indexPath.getName();
     if (dataMapModel instanceof BloomDataMapModel) {
@@ -134,7 +133,7 @@ public class BloomCoarseGrainDataMap extends CoarseGrainDataMap {
 
   @Override
   public List<Blocklet> prune(FilterResolverIntf filterExp, SegmentProperties segmentProperties,
-      List<PartitionSpec> partitions) throws IOException {
+      List<PartitionSpec> partitions) {
     Set<Blocklet> hitBlocklets = null;
     if (filterExp == null) {
       // null is different from empty here. Empty means after pruning, no blocklet need to scan.
diff --git a/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMapFactory.java b/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMapFactory.java
index 432df4c..750624b 100644
--- a/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMapFactory.java
+++ b/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMapFactory.java
@@ -290,8 +290,7 @@ public class BloomCoarseGrainDataMapFactory extends DataMapFactory<CoarseGrainDa
   }
 
   @Override
-  public List<CoarseGrainDataMap> getDataMaps(DataMapDistributable distributable)
-      throws IOException {
+  public List<CoarseGrainDataMap> getDataMaps(DataMapDistributable distributable) {
     List<CoarseGrainDataMap> dataMaps = new ArrayList<>();
     String indexPath = ((BloomDataMapDistributable) distributable).getIndexPath();
     Set<String> filteredShards = ((BloomDataMapDistributable) distributable).getFilteredShards();
diff --git a/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomDataMapBuilder.java b/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomDataMapBuilder.java
index 29a4098..8d490e6 100644
--- a/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomDataMapBuilder.java
+++ b/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomDataMapBuilder.java
@@ -43,7 +43,7 @@ public class BloomDataMapBuilder extends AbstractBloomDataMapWriter implements D
   }
 
   @Override
-  public void initialize() throws IOException {
+  public void initialize() {
     super.resetBloomFilters();
   }
 
@@ -71,7 +71,7 @@ public class BloomDataMapBuilder extends AbstractBloomDataMapWriter implements D
   }
 
   @Override
-  public void finish() throws IOException {
+  public void finish() {
     if (!isWritingFinished()) {
       if (indexBloomFilters.size() > 0) {
         writeBloomDataMapFile();
@@ -88,7 +88,7 @@ public class BloomDataMapBuilder extends AbstractBloomDataMapWriter implements D
   }
 
   @Override
-  public void close() throws IOException {
+  public void close() {
     releaseResouce();
   }
 
diff --git a/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomDataMapCache.java b/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomDataMapCache.java
index 445441d..e08147c 100644
--- a/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomDataMapCache.java
+++ b/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomDataMapCache.java
@@ -17,14 +17,12 @@
 
 package org.apache.carbondata.datamap.bloom;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.carbondata.common.annotations.InterfaceAudience;
 import org.apache.carbondata.core.cache.Cache;
 import org.apache.carbondata.core.cache.CarbonLRUCache;
-import org.apache.carbondata.core.memory.MemoryException;
 
 import org.apache.hadoop.util.bloom.CarbonBloomFilter;
 
@@ -48,8 +46,7 @@ public class BloomDataMapCache
   }
 
   @Override
-  public BloomCacheKeyValue.CacheValue get(BloomCacheKeyValue.CacheKey key)
-      throws IOException {
+  public BloomCacheKeyValue.CacheValue get(BloomCacheKeyValue.CacheKey key) {
     BloomCacheKeyValue.CacheValue cacheValue = getIfPresent(key);
     if (cacheValue == null) {
       List<CarbonBloomFilter> bloomFilters =
@@ -61,8 +58,7 @@ public class BloomDataMapCache
   }
 
   @Override
-  public List<BloomCacheKeyValue.CacheValue> getAll(List<BloomCacheKeyValue.CacheKey> keys)
-      throws IOException {
+  public List<BloomCacheKeyValue.CacheValue> getAll(List<BloomCacheKeyValue.CacheKey> keys) {
     List<BloomCacheKeyValue.CacheValue> cacheValues = new ArrayList<>();
     for (BloomCacheKeyValue.CacheKey key : keys) {
       BloomCacheKeyValue.CacheValue cacheValue = get(key);
@@ -82,8 +78,7 @@ public class BloomDataMapCache
   }
 
   @Override
-  public void put(BloomCacheKeyValue.CacheKey key, BloomCacheKeyValue.CacheValue value)
-      throws IOException, MemoryException {
+  public void put(BloomCacheKeyValue.CacheKey key, BloomCacheKeyValue.CacheValue value) {
     // No impl required.
   }
 
diff --git a/datamap/lucene/src/main/java/org/apache/carbondata/datamap/lucene/LuceneDataMapWriter.java b/datamap/lucene/src/main/java/org/apache/carbondata/datamap/lucene/LuceneDataMapWriter.java
index 1004753..4453578 100644
--- a/datamap/lucene/src/main/java/org/apache/carbondata/datamap/lucene/LuceneDataMapWriter.java
+++ b/datamap/lucene/src/main/java/org/apache/carbondata/datamap/lucene/LuceneDataMapWriter.java
@@ -111,14 +111,14 @@ public class LuceneDataMapWriter extends DataMapWriter {
   /**
    * Start of new block notification.
    */
-  public void onBlockStart(String blockId) throws IOException {
+  public void onBlockStart(String blockId) {
 
   }
 
   /**
    * End of block notification
    */
-  public void onBlockEnd(String blockId) throws IOException {
+  public void onBlockEnd(String blockId) {
 
   }
 
diff --git a/datamap/lucene/src/main/java/org/apache/carbondata/datamap/lucene/LuceneFineGrainDataMapFactory.java b/datamap/lucene/src/main/java/org/apache/carbondata/datamap/lucene/LuceneFineGrainDataMapFactory.java
index e6c6010..2cc07cb 100644
--- a/datamap/lucene/src/main/java/org/apache/carbondata/datamap/lucene/LuceneFineGrainDataMapFactory.java
+++ b/datamap/lucene/src/main/java/org/apache/carbondata/datamap/lucene/LuceneFineGrainDataMapFactory.java
@@ -32,7 +32,6 @@ import org.apache.carbondata.core.datamap.dev.fgdatamap.FineGrainDataMap;
 import org.apache.carbondata.core.datastore.impl.FileFactory;
 import org.apache.carbondata.core.features.TableOperation;
 import org.apache.carbondata.core.indexstore.PartitionSpec;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.schema.table.CarbonTable;
 import org.apache.carbondata.core.metadata.schema.table.DataMapSchema;
 
@@ -54,14 +53,9 @@ public class LuceneFineGrainDataMapFactory extends LuceneDataMapFactoryBase<Fine
   public List<FineGrainDataMap> getDataMaps(Segment segment) throws IOException {
     List<FineGrainDataMap> lstDataMap = new ArrayList<>();
     FineGrainDataMap dataMap = new LuceneFineGrainDataMap(analyzer, getDataMapSchema());
-    try {
-      dataMap.init(new DataMapModel(
-          DataMapWriter.getDefaultDataMapPath(tableIdentifier.getTablePath(),
-              segment.getSegmentNo(), dataMapName), segment.getConfiguration()));
-    } catch (MemoryException e) {
-      LOGGER.error(String.format("failed to get lucene datamap, detail is %s", e.getMessage()), e);
-      return lstDataMap;
-    }
+    dataMap.init(new DataMapModel(
+        DataMapWriter.getDefaultDataMapPath(tableIdentifier.getTablePath(),
+            segment.getSegmentNo(), dataMapName), segment.getConfiguration()));
     lstDataMap.add(dataMap);
     return lstDataMap;
   }
@@ -81,12 +75,7 @@ public class LuceneFineGrainDataMapFactory extends LuceneDataMapFactoryBase<Fine
     List<FineGrainDataMap> lstDataMap = new ArrayList<>();
     FineGrainDataMap dataMap = new LuceneFineGrainDataMap(analyzer, getDataMapSchema());
     String indexPath = ((LuceneDataMapDistributable) distributable).getIndexPath();
-    try {
-      dataMap.init(new DataMapModel(indexPath, FileFactory.getConfiguration()));
-    } catch (MemoryException e) {
-      LOGGER.error(String.format("failed to get lucene datamap, detail is %s", e.getMessage()));
-      return lstDataMap;
-    }
+    dataMap.init(new DataMapModel(indexPath, FileFactory.getConfiguration()));
     lstDataMap.add(dataMap);
     return lstDataMap;
   }
diff --git a/examples/spark2/src/main/java/org/apache/carbondata/examples/sql/JavaCarbonSessionExample.java b/examples/spark2/src/main/java/org/apache/carbondata/examples/sql/JavaCarbonSessionExample.java
index de0a250..6bee158 100644
--- a/examples/spark2/src/main/java/org/apache/carbondata/examples/sql/JavaCarbonSessionExample.java
+++ b/examples/spark2/src/main/java/org/apache/carbondata/examples/sql/JavaCarbonSessionExample.java
@@ -22,9 +22,7 @@ import java.io.IOException;
 
 import org.apache.carbondata.core.constants.CarbonCommonConstants;
 import org.apache.carbondata.core.util.CarbonProperties;
-import org.apache.carbondata.examples.util.ExampleUtils;
 
-import org.apache.spark.sql.CarbonSession;
 import org.apache.spark.sql.SparkSession;
 
 public class JavaCarbonSessionExample {
diff --git a/hadoop/src/main/java/org/apache/carbondata/hadoop/CacheAccessClient.java b/hadoop/src/main/java/org/apache/carbondata/hadoop/CacheAccessClient.java
index 2888950..377afc2 100644
--- a/hadoop/src/main/java/org/apache/carbondata/hadoop/CacheAccessClient.java
+++ b/hadoop/src/main/java/org/apache/carbondata/hadoop/CacheAccessClient.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.hadoop;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -62,9 +61,8 @@ public class CacheAccessClient<K, V> {
    *
    * @param key
    * @return
-   * @throws IOException in case memory is not sufficient to load data into memory
    */
-  public V get(K key) throws IOException {
+  public V get(K key) {
     V value = cache.get(key);
     if (value != null) {
       segmentSet.add(key);
diff --git a/hadoop/src/main/java/org/apache/carbondata/hadoop/CarbonRecordReader.java b/hadoop/src/main/java/org/apache/carbondata/hadoop/CarbonRecordReader.java
index b21e9e1..6dd6f46 100644
--- a/hadoop/src/main/java/org/apache/carbondata/hadoop/CarbonRecordReader.java
+++ b/hadoop/src/main/java/org/apache/carbondata/hadoop/CarbonRecordReader.java
@@ -114,11 +114,7 @@ public class CarbonRecordReader<T> extends AbstractRecordReader<T> {
       queryModel.setTableBlockInfos(tableBlockInfoList);
     }
     readSupport.initialize(queryModel.getProjectionColumns(), queryModel.getTable());
-    try {
-      carbonIterator = new ChunkRowIterator(queryExecutor.execute(queryModel));
-    } catch (QueryExecutionException e) {
-      throw new InterruptedException(e.getMessage());
-    }
+    carbonIterator = new ChunkRowIterator(queryExecutor.execute(queryModel));
   }
 
   @Override
@@ -127,12 +123,12 @@ public class CarbonRecordReader<T> extends AbstractRecordReader<T> {
   }
 
   @Override
-  public Void getCurrentKey() throws IOException, InterruptedException {
+  public Void getCurrentKey() {
     return null;
   }
 
   @Override
-  public T getCurrentValue() throws IOException, InterruptedException {
+  public T getCurrentValue() {
     rowCount += 1;
     if (null != inputMetricsStats) {
       inputMetricsStats.incrementRecordRead(1L);
@@ -155,7 +151,7 @@ public class CarbonRecordReader<T> extends AbstractRecordReader<T> {
   }
 
   @Override
-  public float getProgress() throws IOException, InterruptedException {
+  public float getProgress() {
     // TODO : Implement it based on total number of rows it is going to retrieve.
     return 0;
   }
diff --git a/hadoop/src/main/java/org/apache/carbondata/hadoop/api/CarbonInputFormat.java b/hadoop/src/main/java/org/apache/carbondata/hadoop/api/CarbonInputFormat.java
index d40315d..45b1944 100644
--- a/hadoop/src/main/java/org/apache/carbondata/hadoop/api/CarbonInputFormat.java
+++ b/hadoop/src/main/java/org/apache/carbondata/hadoop/api/CarbonInputFormat.java
@@ -394,7 +394,7 @@ m filterExpression
    * get the count.
    */
   Long getDistributedCount(CarbonTable table,
-      List<PartitionSpec> partitionNames, List<Segment> validSegments) throws IOException {
+      List<PartitionSpec> partitionNames, List<Segment> validSegments) {
     DistributableDataMapFormat dataMapFormat =
         new DistributableDataMapFormat(table, null, validSegments, new ArrayList<String>(),
             partitionNames, false, null, false, false);
@@ -415,7 +415,7 @@ m filterExpression
 
   List<ExtendedBlocklet> getDistributedBlockRowCount(CarbonTable table,
       List<PartitionSpec> partitionNames, List<Segment> validSegments,
-      List<Segment> invalidSegments, List<String> segmentsToBeRefreshed) throws IOException {
+      List<Segment> invalidSegments, List<String> segmentsToBeRefreshed) {
     return getDistributedSplit(table, null, partitionNames, validSegments, invalidSegments,
         segmentsToBeRefreshed, true);
   }
@@ -423,7 +423,7 @@ m filterExpression
   private List<ExtendedBlocklet> getDistributedSplit(CarbonTable table,
       FilterResolverIntf filterResolverIntf, List<PartitionSpec> partitionNames,
       List<Segment> validSegments, List<Segment> invalidSegments,
-      List<String> segmentsToBeRefreshed, boolean isCountJob) throws IOException {
+      List<String> segmentsToBeRefreshed, boolean isCountJob) {
     try {
       DataMapJob dataMapJob =
           (DataMapJob) DataMapUtil.createDataMapJob(DataMapUtil.DISTRIBUTED_JOB_NAME);
@@ -652,7 +652,7 @@ m filterExpression
 
   @Override
   public RecordReader<Void, T> createRecordReader(InputSplit inputSplit,
-      TaskAttemptContext taskAttemptContext) throws IOException, InterruptedException {
+      TaskAttemptContext taskAttemptContext) throws IOException {
     Configuration configuration = taskAttemptContext.getConfiguration();
     QueryModel queryModel = createQueryModel(inputSplit, taskAttemptContext,
         getFilterPredicates(taskAttemptContext.getConfiguration()));
diff --git a/hadoop/src/main/java/org/apache/carbondata/hadoop/readsupport/impl/CarbonRowReadSupport.java b/hadoop/src/main/java/org/apache/carbondata/hadoop/readsupport/impl/CarbonRowReadSupport.java
index 7d3d60d..b8b0a78 100644
--- a/hadoop/src/main/java/org/apache/carbondata/hadoop/readsupport/impl/CarbonRowReadSupport.java
+++ b/hadoop/src/main/java/org/apache/carbondata/hadoop/readsupport/impl/CarbonRowReadSupport.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.hadoop.readsupport.impl;
 
-import java.io.IOException;
 import java.sql.Date;
 import java.sql.Timestamp;
 import java.util.Calendar;
@@ -37,8 +36,7 @@ public class CarbonRowReadSupport implements CarbonReadSupport<CarbonRow> {
   private CarbonColumn[] carbonColumns;
 
   @Override
-  public void initialize(CarbonColumn[] carbonColumns, CarbonTable carbonTable)
-      throws IOException {
+  public void initialize(CarbonColumn[] carbonColumns, CarbonTable carbonTable) {
     this.carbonColumns = carbonColumns;
   }
 
diff --git a/hadoop/src/main/java/org/apache/carbondata/hadoop/stream/StreamBlockletReader.java b/hadoop/src/main/java/org/apache/carbondata/hadoop/stream/StreamBlockletReader.java
index dbcf72d..be8bc5a 100644
--- a/hadoop/src/main/java/org/apache/carbondata/hadoop/stream/StreamBlockletReader.java
+++ b/hadoop/src/main/java/org/apache/carbondata/hadoop/stream/StreamBlockletReader.java
@@ -160,7 +160,7 @@ public class StreamBlockletReader {
     return pos < limitEnd;
   }
 
-  public boolean hasNext() throws IOException {
+  public boolean hasNext() {
     return rowIndex < rowNums;
   }
 
diff --git a/hadoop/src/main/java/org/apache/carbondata/hadoop/stream/StreamRecordReader.java b/hadoop/src/main/java/org/apache/carbondata/hadoop/stream/StreamRecordReader.java
index 8dad45e..ac4e48e 100644
--- a/hadoop/src/main/java/org/apache/carbondata/hadoop/stream/StreamRecordReader.java
+++ b/hadoop/src/main/java/org/apache/carbondata/hadoop/stream/StreamRecordReader.java
@@ -323,7 +323,7 @@ public class StreamRecordReader extends RecordReader<Void, Object> {
   }
 
   @Override
-  public boolean nextKeyValue() throws IOException, InterruptedException {
+  public boolean nextKeyValue() throws IOException {
     if (isFirstRow) {
       isFirstRow = false;
       initializeAtFirstRow();
@@ -336,12 +336,12 @@ public class StreamRecordReader extends RecordReader<Void, Object> {
   }
 
   @Override
-  public Void getCurrentKey() throws IOException, InterruptedException {
+  public Void getCurrentKey() {
     return null;
   }
 
   @Override
-  public Object getCurrentValue() throws IOException, InterruptedException {
+  public Object getCurrentValue() {
     return outputValues;
   }
 
diff --git a/hadoop/src/main/java/org/apache/carbondata/hadoop/testutil/StoreCreator.java b/hadoop/src/main/java/org/apache/carbondata/hadoop/testutil/StoreCreator.java
index 4b5248f..32de3c2 100644
--- a/hadoop/src/main/java/org/apache/carbondata/hadoop/testutil/StoreCreator.java
+++ b/hadoop/src/main/java/org/apache/carbondata/hadoop/testutil/StoreCreator.java
@@ -174,7 +174,7 @@ public class StoreCreator {
   /**
    * Method to clear the data maps
    */
-  public void clearDataMaps() throws IOException {
+  public void clearDataMaps() {
     DataMapStoreManager.getInstance().clearDataMaps(absoluteTableIdentifier);
   }
 
diff --git a/hadoop/src/main/java/org/apache/carbondata/hadoop/util/CarbonVectorizedRecordReader.java b/hadoop/src/main/java/org/apache/carbondata/hadoop/util/CarbonVectorizedRecordReader.java
index d03a252..132ea6a 100644
--- a/hadoop/src/main/java/org/apache/carbondata/hadoop/util/CarbonVectorizedRecordReader.java
+++ b/hadoop/src/main/java/org/apache/carbondata/hadoop/util/CarbonVectorizedRecordReader.java
@@ -80,7 +80,7 @@ public class CarbonVectorizedRecordReader extends AbstractRecordReader<Object> {
 
   @Override
   public void initialize(InputSplit inputSplit, TaskAttemptContext taskAttemptContext)
-      throws IOException, InterruptedException {
+      throws IOException {
     List<CarbonInputSplit> splitList;
     if (inputSplit instanceof CarbonInputSplit) {
       // Read the footer offset and set.
@@ -115,9 +115,6 @@ public class CarbonVectorizedRecordReader extends AbstractRecordReader<Object> {
           QueryExecutorFactory.getQueryExecutor(queryModel, taskAttemptContext.getConfiguration());
       iterator = (AbstractDetailQueryResultIterator) queryExecutor.execute(queryModel);
       initBatch();
-    } catch (QueryExecutionException e) {
-      LOGGER.error(e);
-      throw new InterruptedException(e.getMessage());
     } catch (Exception e) {
       LOGGER.error(e);
       throw e;
@@ -125,7 +122,7 @@ public class CarbonVectorizedRecordReader extends AbstractRecordReader<Object> {
   }
 
   @Override
-  public boolean nextKeyValue() throws IOException, InterruptedException {
+  public boolean nextKeyValue() {
     if (batchIdx >= numBatched) {
       if (!nextBatch()) return false;
     }
@@ -194,7 +191,7 @@ public class CarbonVectorizedRecordReader extends AbstractRecordReader<Object> {
   // Ex. project cols=C1,C2,C3,C2 , projectionMapping holds[0,1,2,1]
   // Row will be formed based on projectionMapping.
   @Override
-  public Object getCurrentValue() throws IOException, InterruptedException {
+  public Object getCurrentValue() {
     rowCount += 1;
     Object[] row = new Object[projectionMapping.size()];
     for (int i = 0; i < projectionMapping.size(); i++) {
@@ -227,12 +224,12 @@ public class CarbonVectorizedRecordReader extends AbstractRecordReader<Object> {
   }
 
   @Override
-  public Void getCurrentKey() throws IOException, InterruptedException {
+  public Void getCurrentKey() {
     throw new UnsupportedOperationException("Operation not allowed on CarbonVectorizedReader");
   }
 
   @Override
-  public float getProgress() throws IOException, InterruptedException {
+  public float getProgress() {
     // TODO : Implement it based on total number of rows it is going to retrieve.
     return 0;
   }
diff --git a/integration/flink-proxy/src/main/java/org/apache/carbon/flink/ProxyFileSystemFactory.java b/integration/flink-proxy/src/main/java/org/apache/carbon/flink/ProxyFileSystemFactory.java
index 1adb44c..cc0f7c1 100644
--- a/integration/flink-proxy/src/main/java/org/apache/carbon/flink/ProxyFileSystemFactory.java
+++ b/integration/flink-proxy/src/main/java/org/apache/carbon/flink/ProxyFileSystemFactory.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbon.flink;
 
-import java.io.IOException;
 import java.net.URI;
 
 import org.apache.flink.configuration.Configuration;
@@ -36,7 +35,7 @@ public final class ProxyFileSystemFactory implements FileSystemFactory {
   }
 
   @Override
-  public ProxyFileSystem create(final URI uri) throws IOException {
+  public ProxyFileSystem create(final URI uri) {
     return ProxyFileSystem.INSTANCE;
   }
 
diff --git a/integration/flink-proxy/src/main/java/org/apache/carbon/flink/ProxyFileWriter.java b/integration/flink-proxy/src/main/java/org/apache/carbon/flink/ProxyFileWriter.java
index 58f9c1d..385c877 100644
--- a/integration/flink-proxy/src/main/java/org/apache/carbon/flink/ProxyFileWriter.java
+++ b/integration/flink-proxy/src/main/java/org/apache/carbon/flink/ProxyFileWriter.java
@@ -31,6 +31,6 @@ public abstract class ProxyFileWriter<OUT> implements BulkWriter<OUT> {
 
   public abstract void commit() throws IOException;
 
-  public abstract void close() throws IOException;
+  public abstract void close();
 
 }
diff --git a/integration/flink-proxy/src/main/java/org/apache/carbon/flink/ProxyRecoverableOutputStream.java b/integration/flink-proxy/src/main/java/org/apache/carbon/flink/ProxyRecoverableOutputStream.java
index 18c10d7..a158b61 100644
--- a/integration/flink-proxy/src/main/java/org/apache/carbon/flink/ProxyRecoverableOutputStream.java
+++ b/integration/flink-proxy/src/main/java/org/apache/carbon/flink/ProxyRecoverableOutputStream.java
@@ -66,7 +66,7 @@ public final class ProxyRecoverableOutputStream extends RecoverableFsDataOutputS
   }
 
   @Override
-  public void close() throws IOException {
+  public void close() {
     // TODO streaming结束的时候和出异常的时候都会调用该方法
     if (this.writer != null) {
       this.writer.close();
@@ -102,7 +102,7 @@ public final class ProxyRecoverableOutputStream extends RecoverableFsDataOutputS
     }
 
     @Override
-    public void commitAfterRecovery() throws IOException {
+    public void commitAfterRecovery() {
       // to do nothing.
     }
 
diff --git a/integration/hive/src/main/java/org/apache/carbondata/hive/CarbonHiveRecordReader.java b/integration/hive/src/main/java/org/apache/carbondata/hive/CarbonHiveRecordReader.java
index bf98002..46b4219 100644
--- a/integration/hive/src/main/java/org/apache/carbondata/hive/CarbonHiveRecordReader.java
+++ b/integration/hive/src/main/java/org/apache/carbondata/hive/CarbonHiveRecordReader.java
@@ -25,7 +25,6 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.carbondata.core.datastore.block.TableBlockInfo;
-import org.apache.carbondata.core.scan.executor.exception.QueryExecutionException;
 import org.apache.carbondata.core.scan.model.QueryModel;
 import org.apache.carbondata.core.scan.result.iterator.ChunkRowIterator;
 import org.apache.carbondata.hadoop.CarbonRecordReader;
@@ -82,13 +81,8 @@ class CarbonHiveRecordReader extends CarbonRecordReader<ArrayWritable>
     }
     List<TableBlockInfo> tableBlockInfoList = CarbonHiveInputSplit.createBlocks(splitList);
     queryModel.setTableBlockInfos(tableBlockInfoList);
-    readSupport
-        .initialize(queryModel.getProjectionColumns(), queryModel.getTable());
-    try {
-      carbonIterator = new ChunkRowIterator(queryExecutor.execute(queryModel));
-    } catch (QueryExecutionException e) {
-      throw new IOException(e.getMessage(), e.getCause());
-    }
+    readSupport.initialize(queryModel.getProjectionColumns(), queryModel.getTable());
+    carbonIterator = new ChunkRowIterator(queryExecutor.execute(queryModel));
     final TypeInfo rowTypeInfo;
     final List<String> columnNames;
     List<TypeInfo> columnTypes;
@@ -115,11 +109,10 @@ class CarbonHiveRecordReader extends CarbonRecordReader<ArrayWritable>
         columnIds[j] = columnId;
       }
     }
-
   }
 
   @Override
-  public boolean next(Void aVoid, ArrayWritable value) throws IOException {
+  public boolean next(Void aVoid, ArrayWritable value) {
     if (carbonIterator.hasNext()) {
       Object obj = readSupport.readRow(carbonIterator.next());
       recordReaderCounter++;
@@ -150,12 +143,12 @@ class CarbonHiveRecordReader extends CarbonRecordReader<ArrayWritable>
   }
 
   @Override
-  public long getPos() throws IOException {
+  public long getPos() {
     return recordReaderCounter;
   }
 
   @Override
-  public float getProgress() throws IOException {
+  public float getProgress() {
     return 0;
   }
 
diff --git a/integration/hive/src/main/java/org/apache/carbondata/hive/CarbonHiveSerDe.java b/integration/hive/src/main/java/org/apache/carbondata/hive/CarbonHiveSerDe.java
index 9f38571..acb4768 100644
--- a/integration/hive/src/main/java/org/apache/carbondata/hive/CarbonHiveSerDe.java
+++ b/integration/hive/src/main/java/org/apache/carbondata/hive/CarbonHiveSerDe.java
@@ -91,8 +91,7 @@ public class CarbonHiveSerDe extends AbstractSerDe {
   }
 
   @Override
-  public void initialize(@Nullable Configuration configuration, Properties tbl)
-      throws SerDeException {
+  public void initialize(@Nullable Configuration configuration, Properties tbl) {
 
     final TypeInfo rowTypeInfo;
     final List<String> columnNames;
@@ -269,7 +268,7 @@ public class CarbonHiveSerDe extends AbstractSerDe {
   }
 
   @Override
-  public Object deserialize(Writable writable) throws SerDeException {
+  public Object deserialize(Writable writable) {
     status = LAST_OPERATION.DESERIALIZE;
     if (writable instanceof ArrayWritable) {
       deserializedSize += ((StructObjectInspector) objInspector).getAllStructFieldRefs().size();
@@ -280,7 +279,7 @@ public class CarbonHiveSerDe extends AbstractSerDe {
   }
 
   @Override
-  public ObjectInspector getObjectInspector() throws SerDeException {
+  public ObjectInspector getObjectInspector() {
     return objInspector;
   }
 }
\ No newline at end of file
diff --git a/integration/hive/src/main/java/org/apache/carbondata/hive/MapredCarbonInputFormat.java b/integration/hive/src/main/java/org/apache/carbondata/hive/MapredCarbonInputFormat.java
index 21209d6..d9fbe0f 100644
--- a/integration/hive/src/main/java/org/apache/carbondata/hive/MapredCarbonInputFormat.java
+++ b/integration/hive/src/main/java/org/apache/carbondata/hive/MapredCarbonInputFormat.java
@@ -236,7 +236,7 @@ public class MapredCarbonInputFormat extends CarbonTableInputFormat<ArrayWritabl
   }
 
   @Override
-  public boolean shouldSkipCombine(Path path, Configuration conf) throws IOException {
+  public boolean shouldSkipCombine(Path path, Configuration conf) {
     return true;
   }
 }
diff --git a/integration/hive/src/main/java/org/apache/carbondata/hive/MapredCarbonOutputFormat.java b/integration/hive/src/main/java/org/apache/carbondata/hive/MapredCarbonOutputFormat.java
index bbada08..bef87a1 100644
--- a/integration/hive/src/main/java/org/apache/carbondata/hive/MapredCarbonOutputFormat.java
+++ b/integration/hive/src/main/java/org/apache/carbondata/hive/MapredCarbonOutputFormat.java
@@ -40,7 +40,7 @@ public class MapredCarbonOutputFormat<T> extends CarbonTableOutputFormat
 
   @Override
   public RecordWriter<Void, T> getRecordWriter(FileSystem fileSystem, JobConf jobConf, String s,
-      Progressable progressable) throws IOException {
+      Progressable progressable) {
     return null;
   }
 
@@ -54,7 +54,7 @@ public class MapredCarbonOutputFormat<T> extends CarbonTableOutputFormat
   @Override
   public FileSinkOperator.RecordWriter getHiveRecordWriter(JobConf jc, Path finalOutPath,
       Class<? extends Writable> valueClass, boolean isCompressed, Properties tableProperties,
-      Progressable progress) throws IOException {
+      Progressable progress) {
     return null;
   }
 }
diff --git a/integration/hive/src/main/java/org/apache/carbondata/hive/WritableReadSupport.java b/integration/hive/src/main/java/org/apache/carbondata/hive/WritableReadSupport.java
index e9130b8..44c2d99 100644
--- a/integration/hive/src/main/java/org/apache/carbondata/hive/WritableReadSupport.java
+++ b/integration/hive/src/main/java/org/apache/carbondata/hive/WritableReadSupport.java
@@ -66,7 +66,7 @@ public class WritableReadSupport<T> implements CarbonReadSupport<T> {
    */
   @Override
   public void initialize(CarbonColumn[] carbonColumns,
-      CarbonTable carbonTable) throws IOException {
+      CarbonTable carbonTable) {
     this.carbonColumns = carbonColumns;
   }
 
diff --git a/integration/presto/src/main/java/org/apache/carbondata/presto/CarbondataPageSource.java b/integration/presto/src/main/java/org/apache/carbondata/presto/CarbondataPageSource.java
index 6fa1afe..fd7dde7 100644
--- a/integration/presto/src/main/java/org/apache/carbondata/presto/CarbondataPageSource.java
+++ b/integration/presto/src/main/java/org/apache/carbondata/presto/CarbondataPageSource.java
@@ -236,7 +236,7 @@ class CarbondataPageSource implements ConnectorPageSource {
     } catch (PrestoException e) {
       closeWithSuppression(e);
       throw e;
-    } catch (RuntimeException | InterruptedException | IOException e) {
+    } catch (RuntimeException e) {
       closeWithSuppression(e);
       throw new CarbonDataLoadingException("Exception when creating the Carbon data Block", e);
     }
@@ -283,7 +283,7 @@ class CarbondataPageSource implements ConnectorPageSource {
     } catch (PrestoException e) {
       closeWithSuppression(e);
       throw e;
-    } catch (RuntimeException | InterruptedException | IOException e) {
+    } catch (RuntimeException | IOException e) {
       closeWithSuppression(e);
       throw new CarbonDataLoadingException("Exception when creating the Carbon data Block", e);
     }
diff --git a/integration/presto/src/main/java/org/apache/carbondata/presto/PrestoCarbonVectorizedRecordReader.java b/integration/presto/src/main/java/org/apache/carbondata/presto/PrestoCarbonVectorizedRecordReader.java
index ac8209b..c98225e 100644
--- a/integration/presto/src/main/java/org/apache/carbondata/presto/PrestoCarbonVectorizedRecordReader.java
+++ b/integration/presto/src/main/java/org/apache/carbondata/presto/PrestoCarbonVectorizedRecordReader.java
@@ -93,7 +93,7 @@ class PrestoCarbonVectorizedRecordReader extends AbstractRecordReader<Object> {
    */
   @Override
   public void initialize(InputSplit inputSplit, TaskAttemptContext taskAttemptContext)
-      throws IOException, InterruptedException, UnsupportedOperationException {
+      throws IOException, UnsupportedOperationException {
     // The input split can contain single HDFS block or multiple blocks, so firstly get all the
     // blocks and then set them in the query model.
     List<CarbonInputSplit> splitList;
@@ -110,13 +110,9 @@ class PrestoCarbonVectorizedRecordReader extends AbstractRecordReader<Object> {
     List<TableBlockInfo> tableBlockInfoList = CarbonInputSplit.createBlocks(splitList);
     queryModel.setTableBlockInfos(tableBlockInfoList);
     queryModel.setVectorReader(true);
-    try {
-      queryExecutor =
-          QueryExecutorFactory.getQueryExecutor(queryModel, taskAttemptContext.getConfiguration());
-      iterator = (AbstractDetailQueryResultIterator) queryExecutor.execute(queryModel);
-    } catch (QueryExecutionException e) {
-      throw new InterruptedException(e.getMessage());
-    }
+    queryExecutor =
+        QueryExecutorFactory.getQueryExecutor(queryModel, taskAttemptContext.getConfiguration());
+    iterator = (AbstractDetailQueryResultIterator) queryExecutor.execute(queryModel);
   }
 
   @Override
@@ -135,7 +131,7 @@ class PrestoCarbonVectorizedRecordReader extends AbstractRecordReader<Object> {
   }
 
   @Override
-  public boolean nextKeyValue() throws IOException, InterruptedException {
+  public boolean nextKeyValue() {
     resultBatch();
 
     if (returnColumnarBatch) return nextBatch();
@@ -148,7 +144,7 @@ class PrestoCarbonVectorizedRecordReader extends AbstractRecordReader<Object> {
   }
 
   @Override
-  public Object getCurrentValue() throws IOException, InterruptedException {
+  public Object getCurrentValue() {
     if (returnColumnarBatch) {
       rowCount += columnarBatch.numValidRows();
       return columnarBatch;
@@ -158,12 +154,12 @@ class PrestoCarbonVectorizedRecordReader extends AbstractRecordReader<Object> {
   }
 
   @Override
-  public Void getCurrentKey() throws IOException, InterruptedException {
+  public Void getCurrentKey() {
     return null;
   }
 
   @Override
-  public float getProgress() throws IOException, InterruptedException {
+  public float getProgress() {
     // TODO : Implement it based on total number of rows it is going to retrieve.
     return 0;
   }
diff --git a/integration/presto/src/main/java/org/apache/carbondata/presto/impl/CarbonTableReader.java b/integration/presto/src/main/java/org/apache/carbondata/presto/impl/CarbonTableReader.java
index 165bd37..d648392 100755
--- a/integration/presto/src/main/java/org/apache/carbondata/presto/impl/CarbonTableReader.java
+++ b/integration/presto/src/main/java/org/apache/carbondata/presto/impl/CarbonTableReader.java
@@ -358,7 +358,7 @@ public class CarbonTableReader {
 
   private CarbonTableInputFormat<Object> createInputFormat(Configuration conf,
       AbsoluteTableIdentifier identifier, DataMapFilter dataMapFilter,
-      List<PartitionSpec> filteredPartitions) throws IOException {
+      List<PartitionSpec> filteredPartitions) {
     CarbonTableInputFormat format = new CarbonTableInputFormat<Object>();
     CarbonTableInputFormat
         .setTablePath(conf, identifier.appendWithLocalPrefix(identifier.getTablePath()));
diff --git a/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/datamap/CGDataMapTestCase.scala b/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/datamap/CGDataMapTestCase.scala
index ad4a944..bd38ccb 100644
--- a/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/datamap/CGDataMapTestCase.scala
+++ b/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/datamap/CGDataMapTestCase.scala
@@ -14,6 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
+
 package org.apache.carbondata.spark.testsuite.datamap
 
 import java.io.{ByteArrayInputStream, DataOutputStream, ObjectInputStream, ObjectOutputStream}
diff --git a/integration/spark-datasource/src/main/scala/org/apache/carbondata/spark/vectorreader/VectorizedCarbonRecordReader.java b/integration/spark-datasource/src/main/scala/org/apache/carbondata/spark/vectorreader/VectorizedCarbonRecordReader.java
index a50dca1..91d00b3 100644
--- a/integration/spark-datasource/src/main/scala/org/apache/carbondata/spark/vectorreader/VectorizedCarbonRecordReader.java
+++ b/integration/spark-datasource/src/main/scala/org/apache/carbondata/spark/vectorreader/VectorizedCarbonRecordReader.java
@@ -21,7 +21,6 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
 import org.apache.log4j.Logger;
 import org.apache.carbondata.common.logging.LogServiceFactory;
@@ -43,7 +42,6 @@ import org.apache.carbondata.core.scan.model.QueryModel;
 import org.apache.carbondata.core.scan.result.iterator.AbstractDetailQueryResultIterator;
 import org.apache.carbondata.core.scan.result.vector.CarbonColumnVector;
 import org.apache.carbondata.core.scan.result.vector.CarbonColumnarBatch;
-import org.apache.carbondata.core.util.CarbonUtil;
 import org.apache.carbondata.hadoop.AbstractRecordReader;
 import org.apache.carbondata.hadoop.CarbonInputSplit;
 import org.apache.carbondata.hadoop.CarbonMultiBlockSplit;
@@ -142,13 +140,6 @@ public class VectorizedCarbonRecordReader extends AbstractRecordReader<Object> {
       queryExecutor =
           QueryExecutorFactory.getQueryExecutor(queryModel, taskAttemptContext.getConfiguration());
       iterator = (AbstractDetailQueryResultIterator) queryExecutor.execute(queryModel);
-    } catch (QueryExecutionException e) {
-      if (ExceptionUtils.indexOfThrowable(e, FileNotFoundException.class) > 0) {
-        LOGGER.error(e.getMessage(), e);
-        throw new InterruptedException(
-            "Insert overwrite may be in progress.Please check " + e.getMessage());
-      }
-      throw new InterruptedException(e.getMessage());
     } catch (Exception e) {
       if (ExceptionUtils.indexOfThrowable(e, FileNotFoundException.class) > 0) {
         LOGGER.error(e.getMessage(), e);
@@ -174,7 +165,7 @@ public class VectorizedCarbonRecordReader extends AbstractRecordReader<Object> {
   }
 
   @Override
-  public boolean nextKeyValue() throws IOException, InterruptedException {
+  public boolean nextKeyValue() {
     resultBatch();
 
     if (returnColumnarBatch) {
@@ -189,7 +180,7 @@ public class VectorizedCarbonRecordReader extends AbstractRecordReader<Object> {
   }
 
   @Override
-  public Object getCurrentValue() throws IOException, InterruptedException {
+  public Object getCurrentValue() {
     if (returnColumnarBatch) {
       int value = carbonColumnarBatch.getActualSize();
       rowCount += value;
@@ -203,12 +194,12 @@ public class VectorizedCarbonRecordReader extends AbstractRecordReader<Object> {
   }
 
   @Override
-  public Void getCurrentKey() throws IOException, InterruptedException {
+  public Void getCurrentKey() {
     return null;
   }
 
   @Override
-  public float getProgress() throws IOException, InterruptedException {
+  public float getProgress() {
     // TODO : Implement it based on total number of rows it is going to retrieve.
     return 0;
   }
diff --git a/integration/spark-datasource/src/main/scala/org/apache/spark/sql/ColumnVectorFactory.java b/integration/spark-datasource/src/main/scala/org/apache/spark/sql/ColumnVectorFactory.java
index d978c97..b8c364e 100644
--- a/integration/spark-datasource/src/main/scala/org/apache/spark/sql/ColumnVectorFactory.java
+++ b/integration/spark-datasource/src/main/scala/org/apache/spark/sql/ColumnVectorFactory.java
@@ -22,7 +22,6 @@ import org.apache.spark.sql.execution.vectorized.OnHeapColumnVector;
 import org.apache.spark.sql.execution.vectorized.OffHeapColumnVector;
 import org.apache.spark.sql.execution.vectorized.WritableColumnVector;
 import org.apache.spark.sql.types.StructType;
-import org.apache.spark.sql.vectorized.ColumnarBatch;
 
 public class ColumnVectorFactory {
 
diff --git a/integration/spark2/src/main/java/org/apache/carbondata/spark/readsupport/SparkGenericRowReadSupportImpl.java b/integration/spark2/src/main/java/org/apache/carbondata/spark/readsupport/SparkGenericRowReadSupportImpl.java
index cd2c48d..1342a9a 100644
--- a/integration/spark2/src/main/java/org/apache/carbondata/spark/readsupport/SparkGenericRowReadSupportImpl.java
+++ b/integration/spark2/src/main/java/org/apache/carbondata/spark/readsupport/SparkGenericRowReadSupportImpl.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.spark.readsupport;
 
-import java.io.IOException;
 import java.sql.Date;
 import java.sql.Timestamp;
 import java.util.Calendar;
@@ -37,7 +36,7 @@ public class SparkGenericRowReadSupportImpl implements CarbonReadSupport<Row> {
 
   @Override
   public void initialize(CarbonColumn[] carbonColumns,
-      CarbonTable carbonTable) throws IOException {
+      CarbonTable carbonTable) {
     this.carbonColumns = carbonColumns;
   }
 
diff --git a/integration/spark2/src/main/scala/org/apache/carbondata/stream/CarbonStreamRecordReader.java b/integration/spark2/src/main/scala/org/apache/carbondata/stream/CarbonStreamRecordReader.java
index e7ab46b..042db07 100644
--- a/integration/spark2/src/main/scala/org/apache/carbondata/stream/CarbonStreamRecordReader.java
+++ b/integration/spark2/src/main/scala/org/apache/carbondata/stream/CarbonStreamRecordReader.java
@@ -62,7 +62,7 @@ public class CarbonStreamRecordReader extends StreamRecordReader {
   }
 
   @Override
-  public boolean nextKeyValue() throws IOException, InterruptedException {
+  public boolean nextKeyValue() throws IOException {
     if (isFirstRow) {
       isFirstRow = false;
       initializeAtFirstRow();
diff --git a/processing/src/main/java/org/apache/carbondata/processing/datatypes/PrimitiveDataType.java b/processing/src/main/java/org/apache/carbondata/processing/datatypes/PrimitiveDataType.java
index 21c2adb..ade35671 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/datatypes/PrimitiveDataType.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/datatypes/PrimitiveDataType.java
@@ -31,7 +31,6 @@ import org.apache.carbondata.core.constants.CarbonCommonConstants;
 import org.apache.carbondata.core.datastore.ColumnType;
 import org.apache.carbondata.core.datastore.row.ComplexColumnInfo;
 import org.apache.carbondata.core.devapi.BiDictionary;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.keygenerator.KeyGenerator;
 import org.apache.carbondata.core.keygenerator.directdictionary.DirectDictionaryKeyGeneratorFactory;
 import org.apache.carbondata.core.metadata.datatype.DataType;
@@ -439,7 +438,7 @@ public class PrimitiveDataType implements GenericDataType<Object> {
   @Override
   public void parseComplexValue(ByteBuffer byteArrayInput, DataOutputStream dataOutputStream,
       KeyGenerator[] generator)
-      throws IOException, KeyGenException {
+      throws IOException {
     if (!this.isDictionary) {
       int sizeOfData;
       if (DataTypeUtil.isByteArrayComplexChildColumn(dataType)) {
diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/DataLoadExecutor.java b/processing/src/main/java/org/apache/carbondata/processing/loading/DataLoadExecutor.java
index 11841f9..74c3645 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/loading/DataLoadExecutor.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/loading/DataLoadExecutor.java
@@ -41,7 +41,7 @@ public class DataLoadExecutor {
   private boolean isClosed;
 
   public void execute(CarbonLoadModel loadModel, String[] storeLocation,
-      CarbonIterator<Object[]>[] inputIterators) throws Exception {
+      CarbonIterator<Object[]>[] inputIterators) {
     try {
       loadProcessorStep =
           new DataLoadProcessBuilder().build(loadModel, storeLocation, inputIterators);
diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/DataLoadProcessBuilder.java b/processing/src/main/java/org/apache/carbondata/processing/loading/DataLoadProcessBuilder.java
index 550afc8..ad668ab 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/loading/DataLoadProcessBuilder.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/loading/DataLoadProcessBuilder.java
@@ -59,7 +59,7 @@ public final class DataLoadProcessBuilder {
       LogServiceFactory.getLogService(DataLoadProcessBuilder.class.getName());
 
   public AbstractDataLoadProcessorStep build(CarbonLoadModel loadModel, String[] storeLocation,
-      CarbonIterator[] inputIterators) throws Exception {
+      CarbonIterator[] inputIterators) {
     CarbonDataLoadConfiguration configuration = createConfiguration(loadModel, storeLocation);
     SortScopeOptions.SortScope sortScope = CarbonDataProcessorUtil.getSortScope(configuration);
     if (loadModel.isLoadWithoutConverterStep()) {
@@ -150,7 +150,7 @@ public final class DataLoadProcessBuilder {
   }
 
   private AbstractDataLoadProcessorStep buildInternalForBucketing(CarbonIterator[] inputIterators,
-      CarbonDataLoadConfiguration configuration) throws Exception {
+      CarbonDataLoadConfiguration configuration) {
     // 1. Reads the data input iterators and parses the data.
     AbstractDataLoadProcessorStep inputProcessorStep =
         new InputProcessorStepImpl(configuration, inputIterators);
diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/TableProcessingOperations.java b/processing/src/main/java/org/apache/carbondata/processing/loading/TableProcessingOperations.java
index a45e45b..358295d 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/loading/TableProcessingOperations.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/loading/TableProcessingOperations.java
@@ -131,7 +131,7 @@ public class TableProcessingOperations {
     try {
       localFolderDeletionService.submit(new Callable<Void>() {
         @Override
-        public Void call() throws Exception {
+        public Void call() {
           long startTime = System.currentTimeMillis();
           String[] locArray = StringUtils.split(localStoreLocations, File.pathSeparator);
           for (String loc : locArray) {
diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/converter/RowConverter.java b/processing/src/main/java/org/apache/carbondata/processing/loading/converter/RowConverter.java
index 4d0096b..8955c4a 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/loading/converter/RowConverter.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/loading/converter/RowConverter.java
@@ -17,8 +17,6 @@
 
 package org.apache.carbondata.processing.loading.converter;
 
-import java.io.IOException;
-
 import org.apache.carbondata.core.datastore.row.CarbonRow;
 import org.apache.carbondata.processing.loading.exception.CarbonDataLoadingException;
 
@@ -27,7 +25,7 @@ import org.apache.carbondata.processing.loading.exception.CarbonDataLoadingExcep
  */
 public interface RowConverter extends DictionaryCardinalityFinder {
 
-  void initialize() throws IOException;
+  void initialize();
 
   CarbonRow convert(CarbonRow row) throws CarbonDataLoadingException;
 
diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/converter/impl/RowConverterImpl.java b/processing/src/main/java/org/apache/carbondata/processing/loading/converter/impl/RowConverterImpl.java
index 9105d27..50bc4e0 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/loading/converter/impl/RowConverterImpl.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/loading/converter/impl/RowConverterImpl.java
@@ -17,7 +17,6 @@
 
 package org.apache.carbondata.processing.loading.converter.impl;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -74,7 +73,7 @@ public class RowConverterImpl implements RowConverter {
   }
 
   @Override
-  public void initialize() throws IOException {
+  public void initialize() {
     String nullFormat =
         configuration.getDataLoadProperty(DataLoadProcessorConstants.SERIALIZATION_NULL_FORMAT)
             .toString();
diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/csvinput/CSVInputFormat.java b/processing/src/main/java/org/apache/carbondata/processing/loading/csvinput/CSVInputFormat.java
index d7dbc75..306627c 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/loading/csvinput/CSVInputFormat.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/loading/csvinput/CSVInputFormat.java
@@ -88,7 +88,7 @@ public class CSVInputFormat extends FileInputFormat<NullWritable, StringArrayWri
 
   @Override
   public RecordReader<NullWritable, StringArrayWritable> createRecordReader(InputSplit inputSplit,
-      TaskAttemptContext context) throws IOException, InterruptedException {
+      TaskAttemptContext context) {
     return new CSVRecordReader();
   }
 
@@ -246,7 +246,7 @@ public class CSVInputFormat extends FileInputFormat<NullWritable, StringArrayWri
 
     @Override
     public void initialize(InputSplit inputSplit, TaskAttemptContext context)
-        throws IOException, InterruptedException {
+        throws IOException {
       FileSplit split = (FileSplit) inputSplit;
       start = split.getStart();
       end = start + split.getLength();
@@ -302,7 +302,7 @@ public class CSVInputFormat extends FileInputFormat<NullWritable, StringArrayWri
     }
 
     @Override
-    public boolean nextKeyValue() throws IOException, InterruptedException {
+    public boolean nextKeyValue() {
       if (csvParser == null) {
         return false;
       }
@@ -319,12 +319,12 @@ public class CSVInputFormat extends FileInputFormat<NullWritable, StringArrayWri
     }
 
     @Override
-    public NullWritable getCurrentKey() throws IOException, InterruptedException {
+    public NullWritable getCurrentKey() {
       return NullWritable.get();
     }
 
     @Override
-    public StringArrayWritable getCurrentValue() throws IOException, InterruptedException {
+    public StringArrayWritable getCurrentValue() {
       return value;
     }
 
@@ -339,7 +339,7 @@ public class CSVInputFormat extends FileInputFormat<NullWritable, StringArrayWri
     }
 
     @Override
-    public float getProgress() throws IOException, InterruptedException {
+    public float getProgress() throws IOException {
       return start == end ? 0.0F : Math.min(1.0F, (float) (getPos() -
           start) / (float) (end - start));
     }
diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/sort/impl/ParallelReadMergeSorterImpl.java b/processing/src/main/java/org/apache/carbondata/processing/loading/sort/impl/ParallelReadMergeSorterImpl.java
index 9263372..9b04a61 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/loading/sort/impl/ParallelReadMergeSorterImpl.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/loading/sort/impl/ParallelReadMergeSorterImpl.java
@@ -89,11 +89,7 @@ public class ParallelReadMergeSorterImpl extends AbstractMergeSorter {
       throws CarbonDataLoadingException {
     SortDataRows sortDataRow = new SortDataRows(sortParameters, intermediateFileMerger);
     final int batchSize = CarbonProperties.getInstance().getBatchSize();
-    try {
-      sortDataRow.initialize();
-    } catch (CarbonSortKeyAndGroupByException e) {
-      throw new CarbonDataLoadingException(e);
-    }
+    sortDataRow.initialize();
     this.executorService = Executors.newFixedThreadPool(iterators.length,
         new CarbonThreadFactory("SafeParallelSorterPool:" + sortParameters.getTableName(),
                 true));
diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/sort/impl/ParallelReadMergeSorterWithColumnRangeImpl.java b/processing/src/main/java/org/apache/carbondata/processing/loading/sort/impl/ParallelReadMergeSorterWithColumnRangeImpl.java
index 05db089..cc106ad 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/loading/sort/impl/ParallelReadMergeSorterWithColumnRangeImpl.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/loading/sort/impl/ParallelReadMergeSorterWithColumnRangeImpl.java
@@ -98,20 +98,16 @@ public class ParallelReadMergeSorterWithColumnRangeImpl extends AbstractMergeSor
     SortDataRows[] sortDataRows = new SortDataRows[columnRangeInfo.getNumOfRanges()];
     intermediateFileMergers = new SortIntermediateFileMerger[columnRangeInfo.getNumOfRanges()];
     SortParameters[] sortParameterArray = new SortParameters[columnRangeInfo.getNumOfRanges()];
-    try {
-      for (int i = 0; i < columnRangeInfo.getNumOfRanges(); i++) {
-        SortParameters parameters = originSortParameters.getCopy();
-        parameters.setPartitionID(i + "");
-        parameters.setRangeId(i);
-        sortParameterArray[i] = parameters;
-        setTempLocation(parameters);
-        parameters.setBufferSize(sortBufferSize);
-        intermediateFileMergers[i] = new SortIntermediateFileMerger(parameters);
-        sortDataRows[i] = new SortDataRows(parameters, intermediateFileMergers[i]);
-        sortDataRows[i].initialize();
-      }
-    } catch (CarbonSortKeyAndGroupByException e) {
-      throw new CarbonDataLoadingException(e);
+    for (int i = 0; i < columnRangeInfo.getNumOfRanges(); i++) {
+      SortParameters parameters = originSortParameters.getCopy();
+      parameters.setPartitionID(i + "");
+      parameters.setRangeId(i);
+      sortParameterArray[i] = parameters;
+      setTempLocation(parameters);
+      parameters.setBufferSize(sortBufferSize);
+      intermediateFileMergers[i] = new SortIntermediateFileMerger(parameters);
+      sortDataRows[i] = new SortDataRows(parameters, intermediateFileMergers[i]);
+      sortDataRows[i].initialize();
     }
     ExecutorService executorService = Executors.newFixedThreadPool(iterators.length);
     this.threadStatusObserver = new ThreadStatusObserver(executorService);
@@ -134,9 +130,7 @@ public class ParallelReadMergeSorterWithColumnRangeImpl extends AbstractMergeSor
       for (int i = 0; i < intermediateFileMergers.length; i++) {
         intermediateFileMergers[i].finish();
       }
-    } catch (CarbonDataWriterException e) {
-      throw new CarbonDataLoadingException(e);
-    } catch (CarbonSortKeyAndGroupByException e) {
+    } catch (CarbonDataWriterException | CarbonSortKeyAndGroupByException e) {
       throw new CarbonDataLoadingException(e);
     }
 
diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/UnsafeSortDataRows.java b/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/UnsafeSortDataRows.java
index 3bfbfcf..26448c7 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/UnsafeSortDataRows.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/UnsafeSortDataRows.java
@@ -124,7 +124,7 @@ public class UnsafeSortDataRows {
   /**
    * This method will be used to initialize
    */
-  public void initialize() throws MemoryException, CarbonSortKeyAndGroupByException {
+  public void initialize() {
     this.rowPage = createUnsafeRowPage();
     // Delete if any older file exists in sort temp folder
     deleteSortLocationIfExists();
@@ -138,8 +138,7 @@ public class UnsafeSortDataRows {
     semaphore = new Semaphore(parameters.getNumberOfCores());
   }
 
-  private UnsafeCarbonRowPage createUnsafeRowPage()
-      throws MemoryException, CarbonSortKeyAndGroupByException {
+  private UnsafeCarbonRowPage createUnsafeRowPage() {
     MemoryBlock baseBlock =
         UnsafeMemoryManager.allocateMemoryWithRetry(this.taskId, inMemoryChunkSize);
     boolean isMemoryAvailable =
@@ -254,10 +253,9 @@ public class UnsafeSortDataRows {
    * all the temp unsafe pages in memory and all the temp files and try to merge them if possible.
    * Also, it will spill the pages to disk or add it to unsafe sort memory.
    *
-   * @throws CarbonSortKeyAndGroupByException if error occurs during in-memory merge
    * @throws InterruptedException if error occurs during data sort and write
    */
-  public void startSorting() throws CarbonSortKeyAndGroupByException, InterruptedException {
+  public void startSorting() throws InterruptedException {
     LOGGER.info("Unsafe based sorting will be used");
     if (this.rowPage.getUsedSize() > 0) {
       handlePreviousPage();
@@ -273,7 +271,7 @@ public class UnsafeSortDataRows {
    * sort memory or just spill them.
    */
   private void handlePreviousPage()
-      throws CarbonSortKeyAndGroupByException, InterruptedException {
+      throws InterruptedException {
     if (enableInMemoryIntermediateMerge) {
       unsafeInMemoryIntermediateFileMerger.startInmemoryMergingIfPossible();
     }
diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/holder/UnsafeSortTempFileChunkHolder.java b/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/holder/UnsafeSortTempFileChunkHolder.java
index 7d51cd5..47f5d2f 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/holder/UnsafeSortTempFileChunkHolder.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/holder/UnsafeSortTempFileChunkHolder.java
@@ -333,7 +333,7 @@ public class UnsafeSortTempFileChunkHolder implements SortTempChunkHolder {
     }
 
     @Override
-    public Void call() throws Exception {
+    public Void call() {
       try {
         if (isBackUpFilling) {
           backupBuffer = prefetchRecordsFromFile(numberOfRecords);
diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/merger/UnsafeInMemoryIntermediateDataMerger.java b/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/merger/UnsafeInMemoryIntermediateDataMerger.java
index c9dcba5..34f3585 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/merger/UnsafeInMemoryIntermediateDataMerger.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/merger/UnsafeInMemoryIntermediateDataMerger.java
@@ -35,7 +35,6 @@ import org.apache.carbondata.processing.loading.sort.SortStepRowHandler;
 import org.apache.carbondata.processing.loading.sort.unsafe.UnsafeCarbonRowPage;
 import org.apache.carbondata.processing.loading.sort.unsafe.holder.UnsafeCarbonRowForMerge;
 import org.apache.carbondata.processing.loading.sort.unsafe.holder.UnsafeInmemoryMergeHolder;
-import org.apache.carbondata.processing.sort.exception.CarbonSortKeyAndGroupByException;
 import org.apache.carbondata.processing.sort.sortdata.SortParameters;
 
 import org.apache.log4j.Logger;
@@ -133,10 +132,8 @@ public class UnsafeInMemoryIntermediateDataMerger implements Callable<Void> {
    * This method will be used to get the sorted record from file
    *
    * @return sorted record sorted record
-   * @throws CarbonSortKeyAndGroupByException
    */
-  private UnsafeCarbonRowForMerge getSortedRecordFromMemory()
-      throws CarbonSortKeyAndGroupByException {
+  private UnsafeCarbonRowForMerge getSortedRecordFromMemory() {
     UnsafeCarbonRowForMerge row = null;
 
     // poll the top object from heap
@@ -174,9 +171,8 @@ public class UnsafeInMemoryIntermediateDataMerger implements Callable<Void> {
    * record holder heap and then it will read first record from each file and
    * initialize the heap
    *
-   * @throws CarbonSortKeyAndGroupByException
    */
-  private void startSorting() throws CarbonSortKeyAndGroupByException {
+  private void startSorting() {
     LOGGER.info("Number of row pages in intermediate merger: " + this.holderCounter);
 
     // create record holder heap
@@ -214,9 +210,8 @@ public class UnsafeInMemoryIntermediateDataMerger implements Callable<Void> {
    * This method will be used to get the sorted row
    *
    * @return sorted row
-   * @throws CarbonSortKeyAndGroupByException
    */
-  private UnsafeCarbonRowForMerge next() throws CarbonSortKeyAndGroupByException {
+  private UnsafeCarbonRowForMerge next() {
     if (hasNext()) {
       return getSortedRecordFromMemory();
     } else {
diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/merger/UnsafeIntermediateMerger.java b/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/merger/UnsafeIntermediateMerger.java
index a05133d..832bf80 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/merger/UnsafeIntermediateMerger.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/loading/sort/unsafe/merger/UnsafeIntermediateMerger.java
@@ -142,8 +142,7 @@ public class UnsafeIntermediateMerger {
     mergerTask.add(executorService.submit(merger));
   }
 
-  public void tryTriggerInMemoryMerging(boolean spillDisk)
-      throws CarbonSortKeyAndGroupByException {
+  public void tryTriggerInMemoryMerging(boolean spillDisk) {
     List<UnsafeCarbonRowPage> pages2Merge = new ArrayList<>();
     int totalRows2Merge = 0;
     synchronized (lockObject) {
@@ -170,7 +169,7 @@ public class UnsafeIntermediateMerger {
     }
   }
 
-  public void startInmemoryMergingIfPossible() throws CarbonSortKeyAndGroupByException {
+  public void startInmemoryMergingIfPossible() {
     if (rowPages.size() >= parameters.getNumberOfIntermediateFileToBeMerged()) {
       tryTriggerInMemoryMerging(false);
     }
diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/steps/CarbonRowDataWriterProcessorStepImpl.java b/processing/src/main/java/org/apache/carbondata/processing/loading/steps/CarbonRowDataWriterProcessorStepImpl.java
index b9f1896..f00fbd2 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/loading/steps/CarbonRowDataWriterProcessorStepImpl.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/loading/steps/CarbonRowDataWriterProcessorStepImpl.java
@@ -30,7 +30,6 @@ import org.apache.carbondata.common.logging.LogServiceFactory;
 import org.apache.carbondata.core.datastore.exception.CarbonDataWriterException;
 import org.apache.carbondata.core.datastore.row.CarbonRow;
 import org.apache.carbondata.core.datastore.row.WriteStepRowUtil;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.localdictionary.generator.LocalDictionaryGenerator;
 import org.apache.carbondata.core.metadata.CarbonTableIdentifier;
 import org.apache.carbondata.core.util.CarbonThreadFactory;
@@ -153,7 +152,7 @@ public class CarbonRowDataWriterProcessorStepImpl extends AbstractDataLoadProces
     return null;
   }
 
-  private void doExecute(Iterator<CarbonRowBatch> iterator, int iteratorIndex) throws IOException {
+  private void doExecute(Iterator<CarbonRowBatch> iterator, int iteratorIndex) {
     String[] storeLocation = getStoreLocation();
     DataMapWriterListener listener = getDataMapWriterListener(0);
     CarbonFactDataHandlerModel model = CarbonFactDataHandlerModel.createCarbonFactDataHandlerModel(
@@ -270,7 +269,7 @@ public class CarbonRowDataWriterProcessorStepImpl extends AbstractDataLoadProces
    * @param row
    * @return
    */
-  private CarbonRow convertRow(CarbonRow row) throws KeyGenException {
+  private CarbonRow convertRow(CarbonRow row) {
     int dictIndex = 0;
     int nonDicIndex = 0;
     int[] dim = new int[this.dimensionCount];
@@ -325,12 +324,7 @@ public class CarbonRowDataWriterProcessorStepImpl extends AbstractDataLoadProces
 
     @Override
     public void run() {
-      try {
-        doExecute(this.iterator, iteratorIndex);
-      } catch (IOException e) {
-        LOGGER.error(e.getMessage(), e);
-        throw new RuntimeException(e);
-      }
+      doExecute(this.iterator, iteratorIndex);
     }
   }
 
diff --git a/processing/src/main/java/org/apache/carbondata/processing/loading/steps/InputProcessorStepImpl.java b/processing/src/main/java/org/apache/carbondata/processing/loading/steps/InputProcessorStepImpl.java
index 775a9ff..2985e7b 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/loading/steps/InputProcessorStepImpl.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/loading/steps/InputProcessorStepImpl.java
@@ -217,7 +217,7 @@ public class InputProcessorStepImpl extends AbstractDataLoadProcessorStep {
     private Future<CarbonRowBatch> getCarbonRowBatch() {
       return executorService.submit(new Callable<CarbonRowBatch>() {
         @Override
-        public CarbonRowBatch call() throws Exception {
+        public CarbonRowBatch call() {
           return getBatch();
 
         }
diff --git a/processing/src/main/java/org/apache/carbondata/processing/merger/CarbonCompactionExecutor.java b/processing/src/main/java/org/apache/carbondata/processing/merger/CarbonCompactionExecutor.java
index 072a548..abfe11b 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/merger/CarbonCompactionExecutor.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/merger/CarbonCompactionExecutor.java
@@ -114,7 +114,7 @@ public class CarbonCompactionExecutor {
    * In Range Column compaction we will have a Filter Expression to process
    */
   public Map<String, List<RawResultIterator>> processTableBlocks(Configuration configuration,
-      Expression filterExpr) throws QueryExecutionException, IOException {
+      Expression filterExpr) throws IOException {
 
     Map<String, List<RawResultIterator>> resultList = new HashMap<>(2);
     resultList.put(CarbonCompactionUtil.UNSORTED_IDX,
@@ -177,7 +177,7 @@ public class CarbonCompactionExecutor {
 
   private RawResultIterator getRawResultIterator(Configuration configuration, String segmentId,
       String task, List<TableBlockInfo> tableBlockInfoList)
-      throws QueryExecutionException, IOException {
+      throws IOException {
     SegmentProperties sourceSegmentProperties =
         new SegmentProperties(tableBlockInfoList.get(0).getDataFileFooter().getColumnInTable(),
             tableBlockInfoList.get(0).getDataFileFooter().getSegmentInfo().getColumnCardinality());
@@ -264,7 +264,7 @@ public class CarbonCompactionExecutor {
    */
   private CarbonIterator<RowBatch> executeBlockList(List<TableBlockInfo> blockList,
       String segmentId, String taskId, Configuration configuration)
-      throws QueryExecutionException, IOException {
+      throws IOException {
     queryModel.setTableBlockInfos(blockList);
     QueryStatisticsRecorder executorRecorder = CarbonTimeStatisticsFactory
         .createExecutorRecorder(queryModel.getQueryId() + "_" + segmentId + "_" + taskId);
diff --git a/processing/src/main/java/org/apache/carbondata/processing/merger/CompactionResultSortProcessor.java b/processing/src/main/java/org/apache/carbondata/processing/merger/CompactionResultSortProcessor.java
index d9a84fe..166b4ec 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/merger/CompactionResultSortProcessor.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/merger/CompactionResultSortProcessor.java
@@ -430,7 +430,7 @@ public class CompactionResultSortProcessor extends AbstractResultProcessor {
   /**
    * create an instance of sort data rows
    */
-  private void initSortDataRows() throws Exception {
+  private void initSortDataRows() {
     measureCount = carbonTable.getVisibleMeasures().size();
     dimensions = new ArrayList<>(2);
     dimensions.addAll(segmentProperties.getDimensions());
@@ -460,13 +460,7 @@ public class CompactionResultSortProcessor extends AbstractResultProcessor {
     // TODO: Now it is only supported onheap merge, but we can have unsafe merge
     // as well by using UnsafeSortDataRows.
     this.sortDataRows = new SortDataRows(sortParameters, intermediateFileMerger);
-    try {
-      this.sortDataRows.initialize();
-    } catch (CarbonSortKeyAndGroupByException e) {
-      LOGGER.error(e.getMessage(), e);
-      throw new Exception(
-          "Error initializing sort data rows object during compaction: " + e.getMessage(), e);
-    }
+    this.sortDataRows.initialize();
   }
 
   /**
diff --git a/processing/src/main/java/org/apache/carbondata/processing/merger/RowResultMergerProcessor.java b/processing/src/main/java/org/apache/carbondata/processing/merger/RowResultMergerProcessor.java
index 22b88d9..1db1638 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/merger/RowResultMergerProcessor.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/merger/RowResultMergerProcessor.java
@@ -31,7 +31,6 @@ import org.apache.carbondata.core.datastore.exception.CarbonDataWriterException;
 import org.apache.carbondata.core.datastore.row.CarbonRow;
 import org.apache.carbondata.core.datastore.row.WriteStepRowUtil;
 import org.apache.carbondata.core.indexstore.PartitionSpec;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.metadata.SegmentFileStore;
 import org.apache.carbondata.core.metadata.schema.table.column.CarbonColumn;
 import org.apache.carbondata.core.scan.result.iterator.RawResultIterator;
@@ -240,15 +239,8 @@ public class RowResultMergerProcessor extends AbstractResultProcessor {
 
     @Override
     public int compare(RawResultIterator o1, RawResultIterator o2) {
-
-      Object[] row1 = new Object[0];
-      Object[] row2 = new Object[0];
-      try {
-        row1 = o1.fetchConverted();
-        row2 = o2.fetchConverted();
-      } catch (KeyGenException e) {
-        LOGGER.error(e.getMessage(), e);
-      }
+      Object[] row1 = o1.fetchConverted();
+      Object[] row2 = o2.fetchConverted();
       if (null == row1 || null == row2) {
         return 0;
       }
diff --git a/processing/src/main/java/org/apache/carbondata/processing/sort/sortdata/SingleThreadFinalSortFilesMerger.java b/processing/src/main/java/org/apache/carbondata/processing/sort/sortdata/SingleThreadFinalSortFilesMerger.java
index 5ab25bd..66c418e 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/sort/sortdata/SingleThreadFinalSortFilesMerger.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/sort/sortdata/SingleThreadFinalSortFilesMerger.java
@@ -123,12 +123,10 @@ public class SingleThreadFinalSortFilesMerger extends CarbonIterator<Object[]> {
    * @param sortedRawResultMergerList
    * @param segmentProperties
    * @param noDicAndComplexColumns
-   * @throws CarbonSortKeyAndGroupByException
    */
   public void addInMemoryRawResultIterator(List<RawResultIterator> sortedRawResultMergerList,
       SegmentProperties segmentProperties, CarbonColumn[] noDicAndComplexColumns,
-      DataType[] measureDataType)
-      throws CarbonSortKeyAndGroupByException {
+      DataType[] measureDataType) {
     for (RawResultIterator rawResultIterator : sortedRawResultMergerList) {
       InMemorySortTempChunkHolder inMemorySortTempChunkHolder =
           new InMemorySortTempChunkHolder(rawResultIterator, segmentProperties,
@@ -189,7 +187,7 @@ public class SingleThreadFinalSortFilesMerger extends CarbonIterator<Object[]> {
 
       Callable<Void> callable = new Callable<Void>() {
         @Override
-        public Void call() throws CarbonSortKeyAndGroupByException {
+        public Void call() {
             // create chunk holder
             SortTempFileChunkHolder sortTempFileChunkHolder =
                 new SortTempFileChunkHolder(tempFile, sortParameters, tableName, true);
diff --git a/processing/src/main/java/org/apache/carbondata/processing/sort/sortdata/SortDataRows.java b/processing/src/main/java/org/apache/carbondata/processing/sort/sortdata/SortDataRows.java
index b9ead2d..d03ca74 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/sort/sortdata/SortDataRows.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/sort/sortdata/SortDataRows.java
@@ -100,7 +100,7 @@ public class SortDataRows {
   /**
    * This method will be used to initialize
    */
-  public void initialize() throws CarbonSortKeyAndGroupByException {
+  public void initialize() {
 
     // create holder list which will hold incoming rows
     // size of list will be sort buffer size + 1 to avoid creation of new
@@ -256,9 +256,8 @@ public class SortDataRows {
   /**
    * This method will be used to delete sort temp location is it is exites
    *
-   * @throws CarbonSortKeyAndGroupByException
    */
-  private void deleteSortLocationIfExists() throws CarbonSortKeyAndGroupByException {
+  private void deleteSortLocationIfExists() {
     CarbonDataProcessorUtil.deleteSortLocationIfExists(parameters.getTempFileLocation());
   }
 
diff --git a/processing/src/main/java/org/apache/carbondata/processing/sort/sortdata/SortTempFileChunkHolder.java b/processing/src/main/java/org/apache/carbondata/processing/sort/sortdata/SortTempFileChunkHolder.java
index 652652d..4e3bcff 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/sort/sortdata/SortTempFileChunkHolder.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/sort/sortdata/SortTempFileChunkHolder.java
@@ -345,7 +345,7 @@ public class SortTempFileChunkHolder implements Comparable<SortTempFileChunkHold
     }
 
     @Override
-    public Void call() throws Exception {
+    public Void call() {
       try {
         if (isBackUpFilling) {
           backupBuffer = prefetchRecordsFromFile(numberOfRecords);
diff --git a/processing/src/main/java/org/apache/carbondata/processing/store/CarbonFactDataHandlerColumnar.java b/processing/src/main/java/org/apache/carbondata/processing/store/CarbonFactDataHandlerColumnar.java
index 3b8c2f5..4ca9a9b 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/store/CarbonFactDataHandlerColumnar.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/store/CarbonFactDataHandlerColumnar.java
@@ -43,7 +43,6 @@ import org.apache.carbondata.core.datastore.exception.CarbonDataWriterException;
 import org.apache.carbondata.core.datastore.row.CarbonRow;
 import org.apache.carbondata.core.datastore.row.WriteStepRowUtil;
 import org.apache.carbondata.core.keygenerator.KeyGenException;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.ColumnarFormatVersion;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
@@ -385,7 +384,7 @@ public class CarbonFactDataHandlerColumnar implements CarbonFactHandler {
    * generate the EncodedTablePage from the input rows (one page in case of V3 format)
    */
   private TablePage processDataRows(List<CarbonRow> dataRows)
-      throws CarbonDataWriterException, KeyGenException, MemoryException, IOException {
+      throws CarbonDataWriterException, IOException {
     if (dataRows.size() == 0) {
       return new TablePage(model, 0);
     }
@@ -663,10 +662,9 @@ public class CarbonFactDataHandlerColumnar implements CarbonFactHandler {
      * Computes a result, or throws an exception if unable to do so.
      *
      * @return computed result
-     * @throws Exception if unable to compute a result
      */
     @Override
-    public Void call() throws Exception {
+    public Void call() {
       try {
         TablePage tablePage = processDataRows(dataRows);
         dataRows = null;
@@ -699,10 +697,9 @@ public class CarbonFactDataHandlerColumnar implements CarbonFactHandler {
      * Computes a result, or throws an exception if unable to do so.
      *
      * @return computed result
-     * @throws Exception if unable to compute a result
      */
     @Override
-    public Void call() throws Exception {
+    public Void call() {
       while (!processingComplete || blockletProcessingCount.get() > 0) {
         TablePage tablePage = null;
         try {
diff --git a/processing/src/main/java/org/apache/carbondata/processing/store/TablePage.java b/processing/src/main/java/org/apache/carbondata/processing/store/TablePage.java
index c547d98..6258af1 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/store/TablePage.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/store/TablePage.java
@@ -44,9 +44,7 @@ import org.apache.carbondata.core.datastore.page.statistics.PrimitivePageStatsCo
 import org.apache.carbondata.core.datastore.row.CarbonRow;
 import org.apache.carbondata.core.datastore.row.ComplexColumnInfo;
 import org.apache.carbondata.core.datastore.row.WriteStepRowUtil;
-import org.apache.carbondata.core.keygenerator.KeyGenException;
 import org.apache.carbondata.core.localdictionary.generator.LocalDictionaryGenerator;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.util.DataTypeUtil;
@@ -93,7 +91,7 @@ public class TablePage {
   // currently all the columns share the same compressor.
   private String columnCompressor;
 
-  TablePage(CarbonFactDataHandlerModel model, int pageSize) throws MemoryException {
+  TablePage(CarbonFactDataHandlerModel model, int pageSize) {
     this.model = model;
     this.pageSize = pageSize;
     int numDictDimension = model.getMDKeyGenerator().getDimCount();
@@ -201,7 +199,7 @@ public class TablePage {
    * @param rowId Id of the input row
    * @param row   row object
    */
-  public void addRow(int rowId, CarbonRow row) throws KeyGenException {
+  public void addRow(int rowId, CarbonRow row) {
     // convert each column category, update key and stats
     byte[] mdk = WriteStepRowUtil.getMdk(row, model.getMDKeyGenerator());
     convertToColumnarAndAddToPages(rowId, row, mdk);
@@ -209,8 +207,7 @@ public class TablePage {
   }
 
   // convert the input row object to columnar data and add to column pages
-  private void convertToColumnarAndAddToPages(int rowId, CarbonRow row, byte[] mdk)
-      throws KeyGenException {
+  private void convertToColumnarAndAddToPages(int rowId, CarbonRow row, byte[] mdk) {
     // 1. convert dictionary columns
     byte[][] keys = model.getSegmentProperties().getFixedLengthKeySplitter().splitKey(mdk);
     for (int i = 0; i < dictDimensionPages.length; i++) {
@@ -289,12 +286,8 @@ public class TablePage {
       List<ComplexColumnInfo> complexColumnInfoList = new ArrayList<>();
       complexDataType.getComplexColumnInfo(complexColumnInfoList);
       complexDimensionPages[index] = new ComplexColumnPage(complexColumnInfoList);
-      try {
-        complexDimensionPages[index].initialize(
-            model.getColumnLocalDictGenMap(), pageSize, columnCompressor);
-      } catch (MemoryException e) {
-        throw new RuntimeException(e);
-      }
+      complexDimensionPages[index].initialize(
+          model.getColumnLocalDictGenMap(), pageSize, columnCompressor);
     }
     int depthInComplexColumn = complexDimensionPages[index].getComplexColumnIndex();
     for (int depth = 0; depth < depthInComplexColumn; depth++) {
@@ -341,7 +334,7 @@ public class TablePage {
     return output;
   }
 
-  void encode() throws KeyGenException, MemoryException, IOException {
+  void encode() throws IOException {
     // encode dimensions and measure
     EncodedColumnPage[] dimensions = encodeAndCompressDimensions();
     EncodedColumnPage[] measures = encodeAndCompressMeasures();
@@ -353,8 +346,7 @@ public class TablePage {
   }
 
   // apply measure and set encodedData in `encodedData`
-  private EncodedColumnPage[] encodeAndCompressMeasures()
-      throws MemoryException, IOException {
+  private EncodedColumnPage[] encodeAndCompressMeasures() throws IOException {
     EncodedColumnPage[] encodedMeasures = new EncodedColumnPage[measurePages.length];
     for (int i = 0; i < measurePages.length; i++) {
       ColumnPageEncoder encoder = encodingFactory.createEncoder(
@@ -365,8 +357,7 @@ public class TablePage {
   }
 
   // apply and compress each dimension, set encoded data in `encodedData`
-  private EncodedColumnPage[] encodeAndCompressDimensions()
-      throws KeyGenException, IOException, MemoryException {
+  private EncodedColumnPage[] encodeAndCompressDimensions() throws IOException {
     List<EncodedColumnPage> encodedDimensions = new ArrayList<>();
     List<EncodedColumnPage> encodedComplexDimensions = new ArrayList<>();
     TableSpec tableSpec = model.getTableSpec();
diff --git a/processing/src/main/java/org/apache/carbondata/processing/util/CarbonLoaderUtil.java b/processing/src/main/java/org/apache/carbondata/processing/util/CarbonLoaderUtil.java
index 36be269..2d3c742 100644
--- a/processing/src/main/java/org/apache/carbondata/processing/util/CarbonLoaderUtil.java
+++ b/processing/src/main/java/org/apache/carbondata/processing/util/CarbonLoaderUtil.java
@@ -1204,10 +1204,9 @@ public final class CarbonLoaderUtil {
    * @param segmentId
    * @param uuid
    * @return
-   * @throws IOException
    */
   public static String mergeIndexFilesInPartitionedSegment(CarbonTable table, String segmentId,
-      String uuid, String partitionPath) throws IOException {
+      String uuid, String partitionPath) {
     String tablePath = table.getTablePath();
     return new CarbonIndexFileMergeWriter(table)
         .mergeCarbonIndexFilesOfSegment(segmentId, uuid, tablePath, partitionPath);
diff --git a/store/sdk/src/main/java/org/apache/carbondata/sdk/file/CarbonReader.java b/store/sdk/src/main/java/org/apache/carbondata/sdk/file/CarbonReader.java
index 0b52241..dcbbc9b 100644
--- a/store/sdk/src/main/java/org/apache/carbondata/sdk/file/CarbonReader.java
+++ b/store/sdk/src/main/java/org/apache/carbondata/sdk/file/CarbonReader.java
@@ -197,7 +197,7 @@ public class CarbonReader<T> {
    * @param maxSplits: Int
    * @return list of {@link CarbonReader} objects
    */
-  public List<CarbonReader> split(int maxSplits) throws IOException {
+  public List<CarbonReader> split(int maxSplits) {
     validateReader();
     if (maxSplits < 1) {
       throw new RuntimeException(
diff --git a/store/sdk/src/main/java/org/apache/carbondata/sdk/file/Schema.java b/store/sdk/src/main/java/org/apache/carbondata/sdk/file/Schema.java
index 58a43d0..708df2a 100644
--- a/store/sdk/src/main/java/org/apache/carbondata/sdk/file/Schema.java
+++ b/store/sdk/src/main/java/org/apache/carbondata/sdk/file/Schema.java
@@ -97,7 +97,7 @@ public class Schema {
     GsonBuilder gsonBuilder = new GsonBuilder();
     gsonBuilder.registerTypeAdapter(Field.class, new TypeAdapter<Field>() {
       @Override
-      public void write(JsonWriter out, Field field) throws IOException {
+      public void write(JsonWriter out, Field field) {
         // noop
       }
 
diff --git a/store/sdk/src/main/java/org/apache/carbondata/sdk/file/utils/SDKUtil.java b/store/sdk/src/main/java/org/apache/carbondata/sdk/file/utils/SDKUtil.java
index c18d5fc..00a42f0 100644
--- a/store/sdk/src/main/java/org/apache/carbondata/sdk/file/utils/SDKUtil.java
+++ b/store/sdk/src/main/java/org/apache/carbondata/sdk/file/utils/SDKUtil.java
@@ -26,12 +26,12 @@ import org.apache.carbondata.core.datastore.impl.FileFactory;
 import org.apache.hadoop.conf.Configuration;
 
 public class SDKUtil {
-  public static ArrayList listFiles(String sourceImageFolder, final String suf) throws Exception {
+  public static ArrayList listFiles(String sourceImageFolder, final String suf) {
     return listFiles(sourceImageFolder, suf, new Configuration(true));
   }
 
   public static ArrayList listFiles(String sourceImageFolder,
-                                    final String suf, Configuration conf) throws Exception {
+                                    final String suf, Configuration conf) {
     final String sufImageFinal = suf;
     ArrayList result = new ArrayList();
     CarbonFile[] fileList = FileFactory.getCarbonFile(sourceImageFolder, conf).listFiles();
@@ -46,7 +46,7 @@ public class SDKUtil {
   }
 
   public static Object[] getSplitList(String path, String suf,
-                                      int numOfSplit, Configuration conf) throws Exception {
+                                      int numOfSplit, Configuration conf) {
     List fileList = listFiles(path, suf, conf);
     List splitList = new ArrayList<List>();
     if (numOfSplit < fileList.size()) {
@@ -71,7 +71,7 @@ public class SDKUtil {
   }
 
   public static Object[] getSplitList(String path, String suf,
-                                      int numOfSplit) throws Exception {
+                                      int numOfSplit) {
     return getSplitList(path, suf, numOfSplit, new Configuration());
   }
 
diff --git a/store/sdk/src/main/java/org/apache/carbondata/store/CarbonStore.java b/store/sdk/src/main/java/org/apache/carbondata/store/CarbonStore.java
index a8c7f58..67ec453 100644
--- a/store/sdk/src/main/java/org/apache/carbondata/store/CarbonStore.java
+++ b/store/sdk/src/main/java/org/apache/carbondata/store/CarbonStore.java
@@ -62,8 +62,7 @@ public interface CarbonStore extends Closeable {
    * SQL query, table should be created before calling this function
    * @param sqlString SQL statement
    * @return rows
-   * @throws IOException if unable to read files in table path
    */
-  Iterator<CarbonRow> sql(String sqlString) throws IOException;
+  Iterator<CarbonRow> sql(String sqlString);
 
 }
diff --git a/store/sdk/src/main/java/org/apache/carbondata/store/LocalCarbonStore.java b/store/sdk/src/main/java/org/apache/carbondata/store/LocalCarbonStore.java
index abceee1..8438ef7 100644
--- a/store/sdk/src/main/java/org/apache/carbondata/store/LocalCarbonStore.java
+++ b/store/sdk/src/main/java/org/apache/carbondata/store/LocalCarbonStore.java
@@ -129,7 +129,7 @@ class LocalCarbonStore extends MetaCachedCarbonStore {
   }
 
   @Override
-  public Iterator<CarbonRow> sql(String sqlString) throws IOException {
+  public Iterator<CarbonRow> sql(String sqlString) {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/store/sdk/src/main/java/org/apache/carbondata/store/MetaCachedCarbonStore.java b/store/sdk/src/main/java/org/apache/carbondata/store/MetaCachedCarbonStore.java
index e9dfca6..09d02b5 100644
--- a/store/sdk/src/main/java/org/apache/carbondata/store/MetaCachedCarbonStore.java
+++ b/store/sdk/src/main/java/org/apache/carbondata/store/MetaCachedCarbonStore.java
@@ -62,7 +62,7 @@ abstract class MetaCachedCarbonStore implements CarbonStore {
   }
 
   @Override
-  public void close() throws IOException {
+  public void close() {
     cache.clear();
   }
 }
diff --git a/streaming/src/main/java/org/apache/carbondata/streaming/CarbonStreamOutputFormat.java b/streaming/src/main/java/org/apache/carbondata/streaming/CarbonStreamOutputFormat.java
index 111cfbe..7bc68c6 100644
--- a/streaming/src/main/java/org/apache/carbondata/streaming/CarbonStreamOutputFormat.java
+++ b/streaming/src/main/java/org/apache/carbondata/streaming/CarbonStreamOutputFormat.java
@@ -55,7 +55,7 @@ public class CarbonStreamOutputFormat extends FileOutputFormat<Void, Object> {
 
   @Override
   public RecordWriter<Void, Object> getRecordWriter(TaskAttemptContext job)
-      throws IOException, InterruptedException {
+      throws IOException {
     return new CarbonStreamRecordWriter(job);
   }
 
@@ -75,13 +75,13 @@ public class CarbonStreamOutputFormat extends FileOutputFormat<Void, Object> {
     }
   }
 
-  public static void setSegmentId(Configuration hadoopConf, String segmentId) throws IOException {
+  public static void setSegmentId(Configuration hadoopConf, String segmentId) {
     if (segmentId != null) {
       hadoopConf.set(SEGMENT_ID, segmentId);
     }
   }
 
-  public static String getSegmentId(Configuration hadoopConf) throws IOException {
+  public static String getSegmentId(Configuration hadoopConf) {
     return hadoopConf.get(SEGMENT_ID);
   }
 
diff --git a/streaming/src/main/java/org/apache/carbondata/streaming/CarbonStreamRecordWriter.java b/streaming/src/main/java/org/apache/carbondata/streaming/CarbonStreamRecordWriter.java
index 7ac4a3f..8954b99 100644
--- a/streaming/src/main/java/org/apache/carbondata/streaming/CarbonStreamRecordWriter.java
+++ b/streaming/src/main/java/org/apache/carbondata/streaming/CarbonStreamRecordWriter.java
@@ -159,7 +159,7 @@ public class CarbonStreamRecordWriter extends RecordWriter<Void, Object> {
     }
   }
 
-  private void initializeAtFirstRow() throws IOException, InterruptedException {
+  private void initializeAtFirstRow() throws IOException {
     // initialize parser and converter
     rowParser = new RowParserImpl(dataFields, configuration);
     badRecordLogger = BadRecordsLoggerProvider.createBadRecordLogger(configuration);
@@ -205,7 +205,7 @@ public class CarbonStreamRecordWriter extends RecordWriter<Void, Object> {
   }
 
   @Override
-  public void write(Void key, Object value) throws IOException, InterruptedException {
+  public void write(Void key, Object value) throws IOException {
     if (isFirstRow) {
       initializeAtFirstRow();
     }
@@ -361,7 +361,7 @@ public class CarbonStreamRecordWriter extends RecordWriter<Void, Object> {
   }
 
   @Override
-  public void close(TaskAttemptContext context) throws IOException, InterruptedException {
+  public void close(TaskAttemptContext context) throws IOException {
     try {
       isClosed = true;
       // append remain buffer data
diff --git a/tools/cli/src/main/java/org/apache/carbondata/tool/CarbonCli.java b/tools/cli/src/main/java/org/apache/carbondata/tool/CarbonCli.java
index 207331b..3509960 100644
--- a/tools/cli/src/main/java/org/apache/carbondata/tool/CarbonCli.java
+++ b/tools/cli/src/main/java/org/apache/carbondata/tool/CarbonCli.java
@@ -25,7 +25,6 @@ import java.util.ArrayList;
 
 import org.apache.carbondata.common.annotations.InterfaceAudience;
 import org.apache.carbondata.common.annotations.InterfaceStability;
-import org.apache.carbondata.core.memory.MemoryException;
 
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.CommandLineParser;
@@ -168,11 +167,7 @@ public class CarbonCli {
       command = new ScanBenchmark(path, outPuts);
     } else if (cmd.equalsIgnoreCase("sort_columns")) {
       if (line.hasOption("p")) {
-        try {
-          new FileCollector(outPuts).collectSortColumns(line.getOptionValue("p"));
-        } catch (IOException e) {
-          e.printStackTrace();
-        }
+        new FileCollector(outPuts).collectSortColumns(line.getOptionValue("p"));
       }
       return;
     } else {
@@ -183,7 +178,7 @@ public class CarbonCli {
 
     try {
       command.run(line);
-    } catch (IOException | MemoryException e) {
+    } catch (IOException e) {
       e.printStackTrace();
     }
   }
diff --git a/tools/cli/src/main/java/org/apache/carbondata/tool/Command.java b/tools/cli/src/main/java/org/apache/carbondata/tool/Command.java
index cb7d8df..0c06179 100644
--- a/tools/cli/src/main/java/org/apache/carbondata/tool/Command.java
+++ b/tools/cli/src/main/java/org/apache/carbondata/tool/Command.java
@@ -19,10 +19,8 @@ package org.apache.carbondata.tool;
 
 import java.io.IOException;
 
-import org.apache.carbondata.core.memory.MemoryException;
-
 import org.apache.commons.cli.CommandLine;
 
 interface Command {
-  void run(CommandLine line) throws IOException, MemoryException;
+  void run(CommandLine line) throws IOException;
 }
diff --git a/tools/cli/src/main/java/org/apache/carbondata/tool/DataFile.java b/tools/cli/src/main/java/org/apache/carbondata/tool/DataFile.java
index 4ed3945..15aecca 100644
--- a/tools/cli/src/main/java/org/apache/carbondata/tool/DataFile.java
+++ b/tools/cli/src/main/java/org/apache/carbondata/tool/DataFile.java
@@ -30,7 +30,6 @@ import org.apache.carbondata.core.datastore.compression.Compressor;
 import org.apache.carbondata.core.datastore.compression.CompressorFactory;
 import org.apache.carbondata.core.datastore.filesystem.CarbonFile;
 import org.apache.carbondata.core.datastore.impl.FileFactory;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataType;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.metadata.encoder.Encoding;
@@ -278,7 +277,7 @@ class DataFile {
     return columnSize.get(columnIndex);
   }
 
-  void initAllBlockletStats(String columnName) throws IOException, MemoryException {
+  void initAllBlockletStats(String columnName) throws IOException {
     int columnIndex = -1;
     ColumnSchema column = null;
     for (int i = 0; i < schema.size(); i++) {
@@ -339,7 +338,7 @@ class DataFile {
      * @param columnIndex column index of this column chunk
      */
     ColumnChunk(BlockletInfo3 blockletInfo, BlockletIndex index, ColumnSchema column,
-        int columnIndex) throws IOException, MemoryException {
+        int columnIndex) throws IOException {
       this.column = column;
       min = index.min_max_index.min_values.get(columnIndex).array();
       max = index.min_max_index.max_values.get(columnIndex).array();
@@ -414,7 +413,7 @@ class DataFile {
     ColumnChunk columnChunk;
 
     Blocklet(DataFile file, int blockletId, ColumnSchema column, int columnIndex,
-        FileFooter3 footer) throws IOException, MemoryException {
+        FileFooter3 footer) throws IOException {
       this.file = file;
       this.id = blockletId;
       BlockletIndex index = footer.blocklet_index_list.get(blockletId);
diff --git a/tools/cli/src/main/java/org/apache/carbondata/tool/DataSummary.java b/tools/cli/src/main/java/org/apache/carbondata/tool/DataSummary.java
index db957b7..908ce02 100644
--- a/tools/cli/src/main/java/org/apache/carbondata/tool/DataSummary.java
+++ b/tools/cli/src/main/java/org/apache/carbondata/tool/DataSummary.java
@@ -33,7 +33,6 @@ import org.apache.carbondata.common.Strings;
 import org.apache.carbondata.core.constants.CarbonCommonConstants;
 import org.apache.carbondata.core.datastore.filesystem.CarbonFile;
 import org.apache.carbondata.core.datastore.impl.FileFactory;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.datatype.DataTypes;
 import org.apache.carbondata.core.metadata.encoder.Encoding;
 import org.apache.carbondata.core.metadata.schema.table.column.ColumnSchema;
@@ -69,7 +68,7 @@ class DataSummary implements Command {
   }
 
   @Override
-  public void run(CommandLine line) throws IOException, MemoryException {
+  public void run(CommandLine line) throws IOException {
     FileCollector collector = new FileCollector(outPuts);
     collector.collectFiles(dataFolder);
     collector.printBasicStats();
@@ -292,7 +291,7 @@ class DataSummary implements Command {
   // true if blockled stats are collected
   private boolean collected = false;
 
-  private void printColumnStats(String columnName) throws IOException, MemoryException {
+  private void printColumnStats(String columnName) throws IOException {
     outPuts.add("");
     outPuts.add("## Column Statistics for '" + columnName + "'");
     collectStats(columnName);
@@ -407,7 +406,7 @@ class DataSummary implements Command {
     }
   }
 
-  private void collectStats(String columnName) throws IOException, MemoryException {
+  private void collectStats(String columnName) throws IOException {
     if (!collected) {
       for (DataFile dataFile : dataFiles.values()) {
         dataFile.initAllBlockletStats(columnName);
@@ -417,7 +416,7 @@ class DataSummary implements Command {
     }
   }
 
-  private void collectColumnChunkMeta(String columnName) throws IOException, MemoryException {
+  private void collectColumnChunkMeta(String columnName) throws IOException {
     for (Map.Entry<String, DataFile> entry : dataFiles.entrySet()) {
       DataFile file = entry.getValue();
       outPuts.add("");
diff --git a/tools/cli/src/main/java/org/apache/carbondata/tool/FileCollector.java b/tools/cli/src/main/java/org/apache/carbondata/tool/FileCollector.java
index 69a070e..2fa65b7 100644
--- a/tools/cli/src/main/java/org/apache/carbondata/tool/FileCollector.java
+++ b/tools/cli/src/main/java/org/apache/carbondata/tool/FileCollector.java
@@ -183,7 +183,7 @@ class FileCollector {
     }
   }
 
-  public void collectSortColumns(String segmentFolder) throws IOException {
+  public void collectSortColumns(String segmentFolder) {
     CarbonFile[] files = SegmentIndexFileStore.getCarbonIndexFiles(
         segmentFolder, FileFactory.getConfiguration());
     if (files.length == 0) {
diff --git a/tools/cli/src/main/java/org/apache/carbondata/tool/ScanBenchmark.java b/tools/cli/src/main/java/org/apache/carbondata/tool/ScanBenchmark.java
index aa43311..84fcdce 100644
--- a/tools/cli/src/main/java/org/apache/carbondata/tool/ScanBenchmark.java
+++ b/tools/cli/src/main/java/org/apache/carbondata/tool/ScanBenchmark.java
@@ -35,7 +35,6 @@ import org.apache.carbondata.core.datastore.chunk.reader.DimensionColumnChunkRea
 import org.apache.carbondata.core.datastore.chunk.reader.MeasureColumnChunkReader;
 import org.apache.carbondata.core.datastore.impl.FileFactory;
 import org.apache.carbondata.core.datastore.page.ColumnPage;
-import org.apache.carbondata.core.memory.MemoryException;
 import org.apache.carbondata.core.metadata.ColumnarFormatVersion;
 import org.apache.carbondata.core.metadata.blocklet.BlockletInfo;
 import org.apache.carbondata.core.metadata.blocklet.DataFileFooter;
@@ -58,7 +57,7 @@ class ScanBenchmark implements Command {
   }
 
   @Override
-  public void run(CommandLine line) throws IOException, MemoryException {
+  public void run(CommandLine line) throws IOException {
     if (line.hasOption("f")) {
       String filePath = line.getOptionValue("f");
       file = new DataFile(FileFactory.getCarbonFile(filePath));
@@ -85,7 +84,7 @@ class ScanBenchmark implements Command {
     // benchmark read header and footer time
     benchmarkOperation("ReadHeaderAndFooter", new Operation() {
       @Override
-      public void run() throws IOException, MemoryException {
+      public void run() throws IOException {
         fileHeaderRef.set(file.readHeader());
         fileFoorterRef.set(file.readFooter());
       }
@@ -96,7 +95,7 @@ class ScanBenchmark implements Command {
     // benchmark convert footer
     benchmarkOperation("ConvertFooter", new Operation() {
       @Override
-      public void run() throws IOException, MemoryException {
+      public void run() {
         convertFooter(fileHeader, fileFooter);
       }
     });
@@ -104,7 +103,7 @@ class ScanBenchmark implements Command {
     // benchmark read all meta and convert footer
     benchmarkOperation("ReadAllMetaAndConvertFooter", new Operation() {
       @Override
-      public void run() throws IOException, MemoryException {
+      public void run() throws IOException {
         DataFileFooter footer = readAndConvertFooter(file);
         convertedFooterRef.set(footer);
       }
@@ -127,7 +126,7 @@ class ScanBenchmark implements Command {
             footer.getBlockletList().get(blockletId).getNumberOfRows()));
         benchmarkOperation("\tColumnChunk IO", new Operation() {
           @Override
-          public void run() throws IOException, MemoryException {
+          public void run() throws IOException {
             columnChunk.set(readBlockletColumnChunkIO(footer, blockletId, columnIndex, dimension));
           }
         });
@@ -135,7 +134,7 @@ class ScanBenchmark implements Command {
         if (dimensionColumnChunkReader != null) {
           benchmarkOperation("\tDecompress Pages", new Operation() {
             @Override
-            public void run() throws IOException, MemoryException {
+            public void run() throws IOException {
               decompressDimensionPages(columnChunk.get(),
                   footer.getBlockletList().get(blockletId).getNumberOfPages());
             }
@@ -143,7 +142,7 @@ class ScanBenchmark implements Command {
         } else {
           benchmarkOperation("\tDecompress Pages", new Operation() {
             @Override
-            public void run() throws IOException, MemoryException {
+            public void run() throws IOException {
               decompressMeasurePages(columnChunk.get(),
                   footer.getBlockletList().get(blockletId).getNumberOfPages());
             }
@@ -155,10 +154,10 @@ class ScanBenchmark implements Command {
   }
 
   interface Operation {
-    void run() throws IOException, MemoryException;
+    void run() throws IOException;
   }
 
-  private void benchmarkOperation(String opName, Operation op) throws IOException, MemoryException {
+  private void benchmarkOperation(String opName, Operation op) throws IOException {
     long start, end;
     start = System.nanoTime();
     op.run();
@@ -207,7 +206,7 @@ class ScanBenchmark implements Command {
   }
 
   private DimensionColumnPage[] decompressDimensionPages(
-      AbstractRawColumnChunk rawColumnChunk, int numPages) throws IOException, MemoryException {
+      AbstractRawColumnChunk rawColumnChunk, int numPages) throws IOException {
     DimensionColumnPage[] pages = new DimensionColumnPage[numPages];
     for (int i = 0; i < pages.length; i++) {
       pages[i] = dimensionColumnChunkReader.decodeColumnPage(
@@ -217,7 +216,7 @@ class ScanBenchmark implements Command {
   }
 
   private ColumnPage[] decompressMeasurePages(
-      AbstractRawColumnChunk rawColumnChunk, int numPages) throws IOException, MemoryException {
+      AbstractRawColumnChunk rawColumnChunk, int numPages) throws IOException {
     ColumnPage[] pages = new ColumnPage[numPages];
     for (int i = 0; i < pages.length; i++) {
       pages[i] = measureColumnChunkReader.decodeColumnPage(