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

    https://github.com/apache/carbondata/pull/1643#discussion_r156416528
  
    --- Diff: 
integration/spark2/src/main/scala/org/apache/spark/sql/execution/command/management/CarbonAlterTableCompactionCommand.scala
 ---
    @@ -199,22 +199,34 @@ case class CarbonAlterTableCompactionCommand(
                     carbonTable.getAbsoluteTableIdentifier).asScala,
                   carbonLoadModel.getTablePath,
                   carbonTable, true)
    -            lock.unlock()
    -            return
    +
    +            // trigger event for merge index
    +            val operationContext = new OperationContext
    +            val alterTableCompactionPreEvent: AlterTableCompactionPreEvent 
=
    +              AlterTableCompactionPreEvent(sqlContext.sparkSession,
    +                carbonTable,
    +                null,
    +                "")
    +            OperationListenerBus.getInstance
    +              .fireEvent(alterTableCompactionPreEvent, operationContext)
    +
    +          } else {
    +            CarbonDataRDDFactory.startCompactionThreads(
    +              sqlContext,
    +              carbonLoadModel,
    +              storeLocation,
    +              compactionModel,
    +              lock,
    +              operationContext
    +            )
               }
    -          CarbonDataRDDFactory.startCompactionThreads(
    -            sqlContext,
    -            carbonLoadModel,
    -            storeLocation,
    -            compactionModel,
    -            lock,
    -            operationContext
    -          )
             } catch {
               case e: Exception =>
                 LOGGER.error(s"Exception in start compaction thread. ${ 
e.getMessage }")
                 lock.unlock()
    --- End diff --
    
    Remove lock.unlock() from catch block


---

Reply via email to