@Override protected void doExecute(MetadataProvider mdProvider) throws Exception { String dataverseName = dataset.getDataverseName(); String datasetFullyQualifiedName = dataverseName + '.' + dataset.getDatasetName(); String indexFullyQualifiedName = datasetFullyQualifiedName + ".index"; try { MetadataLockUtil.createIndexBegin(lockManager, mdProvider.getLocks(), dataverseName, datasetFullyQualifiedName); if (actionListener.isActive()) { throw new RuntimeDataException(ErrorCode.CANNOT_ADD_INDEX_TO_DATASET_CONNECTED_TO_ACTIVE_ENTITY, indexFullyQualifiedName, actionListener.getEntityId(), actionListener.getState()); } } finally { mdProvider.getLocks().reset(); } } };
@Override protected void doExecute(MetadataProvider mdProvider) throws Exception { String dataverseName = dataset.getDataverseName(); String datasetFullyQualifiedName = dataverseName + '.' + dataset.getDatasetName(); try { MetadataLockUtil.dropIndexBegin(lockManager, mdProvider.getLocks(), dataverseName, datasetFullyQualifiedName); if (actionListener.isActive()) { throw new RuntimeDataException( ErrorCode.CANNOT_REMOVE_INDEX_FROM_DATASET_CONNECTED_TO_ACTIVE_ENTITY, datasetFullyQualifiedName + ".index", actionListener.getEntityId(), actionListener.getState()); } } finally { mdProvider.getLocks().reset(); } } };