Source:
<code>public void deleteOfflineTable(String tableName) { String offlineTableName = TableNameBuilder.OFFLINE.tableNameWithType(tableName); LOGGER.info("Deleting table {}: Start", offlineTableName); HelixHelper.removeResourceFromBrokerIdealState(_helixZkManager, offlineTableName); LOGGER.info("Deleting table {}: Removed from broker resource", offlineTableName); if (_helixAdmin.getResourcesInCluster(_helixClusterName).contains(offlineTableName)) { _helixAdmin.dropResource(_helixClusterName, offlineTableName); LOGGER.info("Deleting table {}: Removed helix table resource", offlineTableName); } _segmentDeletionManager.removeSegmentsFromStore(offlineTableName, getSegmentsFor(offlineTableName)); LOGGER.info("Deleting table {}: Removed stored segments", offlineTableName); ZKMetadataProvider.removeResourceSegmentsFromPropertyStore(_propertyStore, offlineTableName); LOGGER.info("Deleting table {}: Removed segment metadata", offlineTableName); ZKMetadataProvider.removeResourceConfigFromPropertyStore(_propertyStore, offlineTableName); LOGGER.info("Deleting table {}: Removed table config", offlineTableName); final String rawTableName = TableNameBuilder.extractRawTableName(tableName); InstancePartitionsUtils.removeInstancePartitions(_propertyStore, InstancePartitionsType.OFFLINE.getInstancePartitionsName(rawTableName)); LOGGER.info("Deleting table {}: Removed instance partitions", offlineTableName); <START> if (_tableUpdaterLockMap.containsKey(rawTableName)) { <END> synchronized (_tableUpdaterLockMap) { if (_tableUpdaterLockMap.containsKey(rawTableName)) { _tableUpdaterLockMap.remove(rawTableName); } } } LOGGER.info("Deleting table {}: Finish", offlineTableName); }</code><technical_language>key is offlineTableName instead of rawTableName. Also, need do check remove here, remove good enough suggestion _tableUpdaterLockMap.remove(offlineTableName);</technical_language>

Target:
public void deleteOfflineTable(String tableName) { String offlineTableName = TableNameBuilder.OFFLINE.tableNameWithType(tableName); LOGGER.info("Deleting table {}: Start", offlineTableName); HelixHelper.removeResourceFromBrokerIdealState(_helixZkManager, offlineTableName); LOGGER.info("Deleting table {}: Removed from broker resource", offlineTableName); if (_helixAdmin.getResourcesInCluster(_helixClusterName).contains(offlineTableName)) { _helixAdmin.dropResource(_helixClusterName, offlineTableName); LOGGER.info("Deleting table {}: Removed helix table resource", offlineTableName); } _segmentDeletionManager.removeSegmentsFromStore(offlineTableName, getSegmentsFor(offlineTableName)); LOGGER.info("Deleting table {}: Removed stored segments", offlineTableName); ZKMetadataProvider.removeResourceSegmentsFromPropertyStore(_propertyStore, offlineTableName); LOGGER.info("Deleting table {}: Removed segment metadata", offlineTableName); ZKMetadataProvider.removeResourceConfigFromPropertyStore(_propertyStore, offlineTableName); LOGGER.info("Deleting table {}: Removed table config", offlineTableName); InstancePartitionsUtils.removeInstancePartitions(_propertyStore, InstancePartitionsType.OFFLINE.getInstancePartitionsName(TableNameBuilder.extractRawTableName(tableName))); LOGGER.info("Deleting table {}: Removed instance partitions", offlineTableName); LOGGER.info("Deleting table {}: Finish", offlineTableName); }