vikramahuja1001 opened a new pull request #3894: URL: https://github.com/apache/carbondata/pull/3894 …rty to limit number of segments ### Why is this PR needed? ### What changes were proposed in this PR? ### Does this PR introduce any user interface change? - No - Yes. (please explain the change and update document) ### Is any new testcase added? - No - Yes ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
CarbonDataQA1 commented on pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#issuecomment-675347031 ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
vikramahuja1001 commented on pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#issuecomment-675389481 retest this please ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
CarbonDataQA1 commented on pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#issuecomment-675437596 Build Failed with Spark 2.3.4, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/3763/ ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
CarbonDataQA1 commented on pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#issuecomment-675439020 Build Failed with Spark 2.4.5, Please check CI http://121.244.95.60:12545/job/ApacheCarbon_PR_Builder_2.4.5/2023/ ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
CarbonDataQA1 commented on pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#issuecomment-675516186 Build Failed with Spark 2.3.4, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/3769/ ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
CarbonDataQA1 commented on pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#issuecomment-675526677 Build Failed with Spark 2.4.5, Please check CI http://121.244.95.60:12545/job/ApacheCarbon_PR_Builder_2.4.5/2027/ ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
vikramahuja1001 commented on pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#issuecomment-675868683 retest this please ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
vikramahuja1001 commented on pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#issuecomment-675885125 retest this please ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
CarbonDataQA1 commented on pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#issuecomment-676006295 Build Success with Spark 2.3.4, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/3785/ ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
CarbonDataQA1 commented on pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#issuecomment-676010074 Build Success with Spark 2.4.5, Please check CI http://121.244.95.60:12545/job/ApacheCarbon_PR_Builder_2.4.5/2043/ ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
vikramahuja1001 commented on pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#issuecomment-676196999 @kunal642 @VenuReddy2103 @akashrn5 , please review ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
kunal642 commented on a change in pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#discussion_r475533562 ########## File path: core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java ########## @@ -2262,6 +2262,32 @@ private CarbonCommonConstants() { public static final int CARBON_INDEX_SERVER_WORKER_THREADS_DEFAULT = 500; + /** + * Configured property to enable/disable load failed segments in SI table during + * load/insert command. + */ + @CarbonProperty(dynamicConfigurable = true) + public static final String CARBON_LOAD_SI_REPAIR = "carbon.load.si.repair"; + + /** + * Default value for load failed segments in SI table during + * load/insert command. + */ + public static final String CARBON_LOAD_SI_REPAIR_DEFAULT = "true"; + + /** + * Property to give a limit to the number of segments that are reloaded in the + * SI table in the FailedSegments listener. + */ + @CarbonProperty + public static final String CARBON_SI_REPAIR_LIMIT = "carbon.si.repair.limit"; Review comment: I think its better to have these 2 properties at table level instead of global. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
kunal642 commented on a change in pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#discussion_r475533764 ########## File path: core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java ########## @@ -2262,6 +2262,32 @@ private CarbonCommonConstants() { public static final int CARBON_INDEX_SERVER_WORKER_THREADS_DEFAULT = 500; + /** + * Configured property to enable/disable load failed segments in SI table during + * load/insert command. + */ + @CarbonProperty(dynamicConfigurable = true) + public static final String CARBON_LOAD_SI_REPAIR = "carbon.load.si.repair"; + + /** + * Default value for load failed segments in SI table during + * load/insert command. + */ + public static final String CARBON_LOAD_SI_REPAIR_DEFAULT = "true"; + + /** + * Property to give a limit to the number of segments that are reloaded in the + * SI table in the FailedSegments listener. + */ + @CarbonProperty + public static final String CARBON_SI_REPAIR_LIMIT = "carbon.si.repair.limit"; + + /** + * Default value for the number of segments to be repaired during SI repair. + */ + public static final String CARBON_SI_REPAIR_LIMIT_DEFAULT = "1"; Review comment: No need for a default value, if the user has not set then we can go with the existing logic of repairing all the segments ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
kunal642 commented on a change in pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#discussion_r475533961 ########## File path: core/src/main/java/org/apache/carbondata/core/util/CarbonProperties.java ########## @@ -2076,4 +2076,16 @@ public static boolean isAuditEnabled() { public static void setAuditEnabled(boolean enabled) { getInstance().addProperty(CarbonCommonConstants.CARBON_ENABLE_AUDIT, String.valueOf(enabled)); } + + public boolean isSIRepairEnabled() { + String configuredValue = getProperty(CarbonCommonConstants.CARBON_LOAD_SI_REPAIR, + CarbonCommonConstants.CARBON_LOAD_SI_REPAIR_DEFAULT); + return Boolean.parseBoolean(configuredValue); + } + + public int maxSIRepairLimit() { Review comment: rename to "getMaxSIRepairLimit" ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
kunal642 commented on a change in pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#discussion_r475533562 ########## File path: core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java ########## @@ -2262,6 +2262,32 @@ private CarbonCommonConstants() { public static final int CARBON_INDEX_SERVER_WORKER_THREADS_DEFAULT = 500; + /** + * Configured property to enable/disable load failed segments in SI table during + * load/insert command. + */ + @CarbonProperty(dynamicConfigurable = true) + public static final String CARBON_LOAD_SI_REPAIR = "carbon.load.si.repair"; + + /** + * Default value for load failed segments in SI table during + * load/insert command. + */ + public static final String CARBON_LOAD_SI_REPAIR_DEFAULT = "true"; + + /** + * Property to give a limit to the number of segments that are reloaded in the + * SI table in the FailedSegments listener. + */ + @CarbonProperty + public static final String CARBON_SI_REPAIR_LIMIT = "carbon.si.repair.limit"; Review comment: 1. I think its better to have these 2 properties at table level instead of global. 2. If this is a dynamic conf then add (dynamicConfiguration = true) as the annotation. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
kunal642 commented on a change in pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#discussion_r477356848 ########## File path: integration/spark/src/main/scala/org/apache/spark/sql/secondaryindex/events/SILoadEventListenerForFailedSegments.scala ########## @@ -57,189 +58,201 @@ class SILoadEventListenerForFailedSegments extends OperationEventListener with L event match { case postStatusUpdateEvent: LoadTablePostStatusUpdateEvent => LOGGER.info("Load post status update event-listener called") - val loadTablePostStatusUpdateEvent = event.asInstanceOf[LoadTablePostStatusUpdateEvent] - val carbonLoadModel = loadTablePostStatusUpdateEvent.getCarbonLoadModel - val sparkSession = SparkSession.getActiveSession.get - // when Si creation and load to main table are parallel, get the carbonTable from the - // metastore which will have the latest index Info - val metaStore = CarbonEnv.getInstance(sparkSession).carbonMetaStore - val carbonTable = metaStore - .lookupRelation(Some(carbonLoadModel.getDatabaseName), - carbonLoadModel.getTableName)(sparkSession).asInstanceOf[CarbonRelation].carbonTable - val indexMetadata = carbonTable.getIndexMetadata - val secondaryIndexProvider = IndexType.SI.getIndexProviderName - if (null != indexMetadata && null != indexMetadata.getIndexesMap && + if (CarbonProperties.getInstance().isSIRepairEnabled) { + val loadTablePostStatusUpdateEvent = event.asInstanceOf[LoadTablePostStatusUpdateEvent] + val carbonLoadModel = loadTablePostStatusUpdateEvent.getCarbonLoadModel + val sparkSession = SparkSession.getActiveSession.get + // when Si creation and load to main table are parallel, get the carbonTable from the + // metastore which will have the latest index Info + val metaStore = CarbonEnv.getInstance(sparkSession).carbonMetaStore + val carbonTable = metaStore + .lookupRelation(Some(carbonLoadModel.getDatabaseName), + carbonLoadModel.getTableName)(sparkSession).asInstanceOf[CarbonRelation].carbonTable + val indexMetadata = carbonTable.getIndexMetadata + val secondaryIndexProvider = IndexType.SI.getIndexProviderName + if (null != indexMetadata && null != indexMetadata.getIndexesMap && null != indexMetadata.getIndexesMap.get(secondaryIndexProvider)) { - val indexTables = indexMetadata.getIndexesMap - .get(secondaryIndexProvider).keySet().asScala - // if there are no index tables for a given fact table do not perform any action - if (indexTables.nonEmpty) { - val mainTableDetails = - SegmentStatusManager.readLoadMetadata(carbonTable.getMetadataPath) - indexTables.foreach { - indexTableName => - val isLoadSIForFailedSegments = sparkSession.sessionState.catalog - .getTableMetadata(TableIdentifier(indexTableName, - Some(carbonLoadModel.getDatabaseName))).storage.properties - .getOrElse("isSITableEnabled", "true").toBoolean - val indexTable = metaStore - .lookupRelation(Some(carbonLoadModel.getDatabaseName), indexTableName)( - sparkSession) - .asInstanceOf[CarbonRelation] - .carbonTable + val indexTables = indexMetadata.getIndexesMap + .get(secondaryIndexProvider).keySet().asScala + // if there are no index tables for a given fact table do not perform any action + if (indexTables.nonEmpty) { + val mainTableDetails = + SegmentStatusManager.readLoadMetadata(carbonTable.getMetadataPath) + indexTables.foreach { + indexTableName => + val isLoadSIForFailedSegments = sparkSession.sessionState.catalog + .getTableMetadata(TableIdentifier(indexTableName, + Some(carbonLoadModel.getDatabaseName))).storage.properties + .getOrElse("isSITableEnabled", "true").toBoolean + val indexTable = metaStore + .lookupRelation(Some(carbonLoadModel.getDatabaseName), indexTableName)( + sparkSession) + .asInstanceOf[CarbonRelation] + .carbonTable - val mainTblLoadMetadataDetails: Array[LoadMetadataDetails] = - SegmentStatusManager.readLoadMetadata(carbonTable.getMetadataPath) - val siTblLoadMetadataDetails: Array[LoadMetadataDetails] = - SegmentStatusManager.readLoadMetadata(indexTable.getMetadataPath) - var segmentLocks: ListBuffer[ICarbonLock] = ListBuffer.empty - if (!isLoadSIForFailedSegments + val mainTblLoadMetadataDetails: Array[LoadMetadataDetails] = + SegmentStatusManager.readLoadMetadata(carbonTable.getMetadataPath) + val siTblLoadMetadataDetails: Array[LoadMetadataDetails] = + SegmentStatusManager.readLoadMetadata(indexTable.getMetadataPath) + var segmentLocks: ListBuffer[ICarbonLock] = ListBuffer.empty + if (!isLoadSIForFailedSegments || !CarbonInternalLoaderUtil.checkMainTableSegEqualToSISeg( - mainTblLoadMetadataDetails, - siTblLoadMetadataDetails)) { - val indexColumns = indexMetadata.getIndexColumns(secondaryIndexProvider, - indexTableName) - val secondaryIndex = IndexModel(Some(carbonTable.getDatabaseName), - indexMetadata.getParentTableName, - indexColumns.split(",").toList, - indexTableName) + mainTblLoadMetadataDetails, + siTblLoadMetadataDetails)) { + val indexColumns = indexMetadata.getIndexColumns(secondaryIndexProvider, + indexTableName) + val secondaryIndex = IndexModel(Some(carbonTable.getDatabaseName), + indexMetadata.getParentTableName, + indexColumns.split(",").toList, + indexTableName) - var details = SegmentStatusManager.readLoadMetadata(indexTable.getMetadataPath) - // If it empty, then no need to do further computations because the - // tablet status might not have been created and hence next load will take care - if (details.isEmpty) { - return - } + var details = SegmentStatusManager.readLoadMetadata(indexTable.getMetadataPath) + // If it empty, then no need to do further computations because the + // tablet status might not have been created and hence next load will take care + if (details.isEmpty) { + return + } - val failedLoadMetadataDetails: java.util.List[LoadMetadataDetails] = new util - .ArrayList[LoadMetadataDetails]() + val failedLoadMetadataDetails: java.util.List[LoadMetadataDetails] = new util + .ArrayList[LoadMetadataDetails]() - // read the details of SI table and get all the failed segments during SI - // creation which are MARKED_FOR_DELETE or invalid INSERT_IN_PROGRESS - details.collect { - case loadMetaDetail: LoadMetadataDetails => - if (loadMetaDetail.getSegmentStatus == SegmentStatus.MARKED_FOR_DELETE && + val maxSegmentRepairLimit = CarbonProperties.getInstance().maxSIRepairLimit() + LOGGER.info("Number of Segments to be repaired: " + maxSegmentRepairLimit) Review comment: add tableUniqueName to the log as well ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
vikramahuja1001 commented on a change in pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#discussion_r481107503 ########## File path: integration/spark/src/main/scala/org/apache/spark/sql/secondaryindex/events/SILoadEventListenerForFailedSegments.scala ########## @@ -57,189 +58,201 @@ class SILoadEventListenerForFailedSegments extends OperationEventListener with L event match { case postStatusUpdateEvent: LoadTablePostStatusUpdateEvent => LOGGER.info("Load post status update event-listener called") - val loadTablePostStatusUpdateEvent = event.asInstanceOf[LoadTablePostStatusUpdateEvent] - val carbonLoadModel = loadTablePostStatusUpdateEvent.getCarbonLoadModel - val sparkSession = SparkSession.getActiveSession.get - // when Si creation and load to main table are parallel, get the carbonTable from the - // metastore which will have the latest index Info - val metaStore = CarbonEnv.getInstance(sparkSession).carbonMetaStore - val carbonTable = metaStore - .lookupRelation(Some(carbonLoadModel.getDatabaseName), - carbonLoadModel.getTableName)(sparkSession).asInstanceOf[CarbonRelation].carbonTable - val indexMetadata = carbonTable.getIndexMetadata - val secondaryIndexProvider = IndexType.SI.getIndexProviderName - if (null != indexMetadata && null != indexMetadata.getIndexesMap && + if (CarbonProperties.getInstance().isSIRepairEnabled) { + val loadTablePostStatusUpdateEvent = event.asInstanceOf[LoadTablePostStatusUpdateEvent] + val carbonLoadModel = loadTablePostStatusUpdateEvent.getCarbonLoadModel + val sparkSession = SparkSession.getActiveSession.get + // when Si creation and load to main table are parallel, get the carbonTable from the + // metastore which will have the latest index Info + val metaStore = CarbonEnv.getInstance(sparkSession).carbonMetaStore + val carbonTable = metaStore + .lookupRelation(Some(carbonLoadModel.getDatabaseName), + carbonLoadModel.getTableName)(sparkSession).asInstanceOf[CarbonRelation].carbonTable + val indexMetadata = carbonTable.getIndexMetadata + val secondaryIndexProvider = IndexType.SI.getIndexProviderName + if (null != indexMetadata && null != indexMetadata.getIndexesMap && null != indexMetadata.getIndexesMap.get(secondaryIndexProvider)) { - val indexTables = indexMetadata.getIndexesMap - .get(secondaryIndexProvider).keySet().asScala - // if there are no index tables for a given fact table do not perform any action - if (indexTables.nonEmpty) { - val mainTableDetails = - SegmentStatusManager.readLoadMetadata(carbonTable.getMetadataPath) - indexTables.foreach { - indexTableName => - val isLoadSIForFailedSegments = sparkSession.sessionState.catalog - .getTableMetadata(TableIdentifier(indexTableName, - Some(carbonLoadModel.getDatabaseName))).storage.properties - .getOrElse("isSITableEnabled", "true").toBoolean - val indexTable = metaStore - .lookupRelation(Some(carbonLoadModel.getDatabaseName), indexTableName)( - sparkSession) - .asInstanceOf[CarbonRelation] - .carbonTable + val indexTables = indexMetadata.getIndexesMap + .get(secondaryIndexProvider).keySet().asScala + // if there are no index tables for a given fact table do not perform any action + if (indexTables.nonEmpty) { + val mainTableDetails = + SegmentStatusManager.readLoadMetadata(carbonTable.getMetadataPath) + indexTables.foreach { + indexTableName => + val isLoadSIForFailedSegments = sparkSession.sessionState.catalog + .getTableMetadata(TableIdentifier(indexTableName, + Some(carbonLoadModel.getDatabaseName))).storage.properties + .getOrElse("isSITableEnabled", "true").toBoolean + val indexTable = metaStore + .lookupRelation(Some(carbonLoadModel.getDatabaseName), indexTableName)( + sparkSession) + .asInstanceOf[CarbonRelation] + .carbonTable - val mainTblLoadMetadataDetails: Array[LoadMetadataDetails] = - SegmentStatusManager.readLoadMetadata(carbonTable.getMetadataPath) - val siTblLoadMetadataDetails: Array[LoadMetadataDetails] = - SegmentStatusManager.readLoadMetadata(indexTable.getMetadataPath) - var segmentLocks: ListBuffer[ICarbonLock] = ListBuffer.empty - if (!isLoadSIForFailedSegments + val mainTblLoadMetadataDetails: Array[LoadMetadataDetails] = + SegmentStatusManager.readLoadMetadata(carbonTable.getMetadataPath) + val siTblLoadMetadataDetails: Array[LoadMetadataDetails] = + SegmentStatusManager.readLoadMetadata(indexTable.getMetadataPath) + var segmentLocks: ListBuffer[ICarbonLock] = ListBuffer.empty + if (!isLoadSIForFailedSegments || !CarbonInternalLoaderUtil.checkMainTableSegEqualToSISeg( - mainTblLoadMetadataDetails, - siTblLoadMetadataDetails)) { - val indexColumns = indexMetadata.getIndexColumns(secondaryIndexProvider, - indexTableName) - val secondaryIndex = IndexModel(Some(carbonTable.getDatabaseName), - indexMetadata.getParentTableName, - indexColumns.split(",").toList, - indexTableName) + mainTblLoadMetadataDetails, + siTblLoadMetadataDetails)) { + val indexColumns = indexMetadata.getIndexColumns(secondaryIndexProvider, + indexTableName) + val secondaryIndex = IndexModel(Some(carbonTable.getDatabaseName), + indexMetadata.getParentTableName, + indexColumns.split(",").toList, + indexTableName) - var details = SegmentStatusManager.readLoadMetadata(indexTable.getMetadataPath) - // If it empty, then no need to do further computations because the - // tablet status might not have been created and hence next load will take care - if (details.isEmpty) { - return - } + var details = SegmentStatusManager.readLoadMetadata(indexTable.getMetadataPath) + // If it empty, then no need to do further computations because the + // tablet status might not have been created and hence next load will take care + if (details.isEmpty) { + return + } - val failedLoadMetadataDetails: java.util.List[LoadMetadataDetails] = new util - .ArrayList[LoadMetadataDetails]() + val failedLoadMetadataDetails: java.util.List[LoadMetadataDetails] = new util + .ArrayList[LoadMetadataDetails]() - // read the details of SI table and get all the failed segments during SI - // creation which are MARKED_FOR_DELETE or invalid INSERT_IN_PROGRESS - details.collect { - case loadMetaDetail: LoadMetadataDetails => - if (loadMetaDetail.getSegmentStatus == SegmentStatus.MARKED_FOR_DELETE && + val maxSegmentRepairLimit = CarbonProperties.getInstance().maxSIRepairLimit() + LOGGER.info("Number of Segments to be repaired: " + maxSegmentRepairLimit) Review comment: done ########## File path: core/src/main/java/org/apache/carbondata/core/util/CarbonProperties.java ########## @@ -2076,4 +2076,16 @@ public static boolean isAuditEnabled() { public static void setAuditEnabled(boolean enabled) { getInstance().addProperty(CarbonCommonConstants.CARBON_ENABLE_AUDIT, String.valueOf(enabled)); } + + public boolean isSIRepairEnabled() { + String configuredValue = getProperty(CarbonCommonConstants.CARBON_LOAD_SI_REPAIR, + CarbonCommonConstants.CARBON_LOAD_SI_REPAIR_DEFAULT); + return Boolean.parseBoolean(configuredValue); + } + + public int maxSIRepairLimit() { Review comment: done ########## File path: core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java ########## @@ -2262,6 +2262,32 @@ private CarbonCommonConstants() { public static final int CARBON_INDEX_SERVER_WORKER_THREADS_DEFAULT = 500; + /** + * Configured property to enable/disable load failed segments in SI table during + * load/insert command. + */ + @CarbonProperty(dynamicConfigurable = true) + public static final String CARBON_LOAD_SI_REPAIR = "carbon.load.si.repair"; + + /** + * Default value for load failed segments in SI table during + * load/insert command. + */ + public static final String CARBON_LOAD_SI_REPAIR_DEFAULT = "true"; + + /** + * Property to give a limit to the number of segments that are reloaded in the + * SI table in the FailedSegments listener. + */ + @CarbonProperty + public static final String CARBON_SI_REPAIR_LIMIT = "carbon.si.repair.limit"; + + /** + * Default value for the number of segments to be repaired during SI repair. + */ + public static final String CARBON_SI_REPAIR_LIMIT_DEFAULT = "1"; Review comment: done ########## File path: core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java ########## @@ -2262,6 +2262,32 @@ private CarbonCommonConstants() { public static final int CARBON_INDEX_SERVER_WORKER_THREADS_DEFAULT = 500; + /** + * Configured property to enable/disable load failed segments in SI table during + * load/insert command. + */ + @CarbonProperty(dynamicConfigurable = true) + public static final String CARBON_LOAD_SI_REPAIR = "carbon.load.si.repair"; + + /** + * Default value for load failed segments in SI table during + * load/insert command. + */ + public static final String CARBON_LOAD_SI_REPAIR_DEFAULT = "true"; + + /** + * Property to give a limit to the number of segments that are reloaded in the + * SI table in the FailedSegments listener. + */ + @CarbonProperty + public static final String CARBON_SI_REPAIR_LIMIT = "carbon.si.repair.limit"; Review comment: done ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
CarbonDataQA1 commented on pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#issuecomment-684900945 Build Success with Spark 2.3.4, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/3950/ ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
In reply to this post by GitBox
CarbonDataQA1 commented on pull request #3894: URL: https://github.com/apache/carbondata/pull/3894#issuecomment-684902776 Build Success with Spark 2.4.5, Please check CI http://121.244.95.60:12545/job/ApacheCarbon_PR_Builder_2.4.5/2210/ ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [hidden email] |
Free forum by Nabble | Edit this page |