Github user kumarvishal09 commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2606#discussion_r207961430
  
    --- Diff: 
processing/src/main/java/org/apache/carbondata/processing/loading/steps/CarbonRowDataWriterProcessorStepImpl.java
 ---
    @@ -169,24 +171,36 @@ private void doExecute(Iterator<CarbonRowBatch> 
iterator, int iteratorIndex) thr
           if (rowsNotExist) {
             rowsNotExist = false;
             dataHandler = 
CarbonFactHandlerFactory.createCarbonFactHandler(model);
    +        this.carbonFactHandlers.add(dataHandler);
             dataHandler.initialise();
           }
           processBatch(iterator.next(), dataHandler, iteratorIndex);
         }
    -    if (!rowsNotExist) {
    -      finish(dataHandler, iteratorIndex);
    +    try {
    +      if (!rowsNotExist) {
    +        finish(dataHandler, iteratorIndex);
    +      }
    +    } finally {
    +      carbonFactHandlers.remove(dataHandler);
         }
    +
    +
       }
     
       @Override protected String getStepName() {
         return "Data Writer";
       }
     
       private void finish(CarbonFactHandler dataHandler, int iteratorIndex) {
    +    CarbonDataWriterException exception = null;
    --- End diff --
    
    Please handle for closeHandler method as it can also throw exception 


---

Reply via email to