public CompactionPolicy dropCompactionPolicy(CompactionPolicy compactionPolicy) { synchronized (compactionPolicies) { Map<String, CompactionPolicy> p = compactionPolicies.get(compactionPolicy.getDataverseName()); if (p != null && p.get(compactionPolicy.getPolicyName()) != null) { return p.remove(compactionPolicy); } return null; } }
public CompactionPolicy addCompactionPolicyIfNotExists(CompactionPolicy compactionPolicy) { synchronized (compactionPolicy) { Map<String, CompactionPolicy> p = compactionPolicies.get(compactionPolicy.getDataverseName()); if (p == null) { p = new HashMap<>(); p.put(compactionPolicy.getPolicyName(), compactionPolicy); compactionPolicies.put(compactionPolicy.getDataverseName(), p); } else { if (p.get(compactionPolicy.getPolicyName()) == null) { p.put(compactionPolicy.getPolicyName(), compactionPolicy); } } return null; } }
@Override public void addCompactionPolicy(TxnId txnId, CompactionPolicy compactionPolicy) throws AlgebricksException, RemoteException { try { // Insert into the 'CompactionPolicy' dataset. CompactionPolicyTupleTranslator tupleReaderWriter = tupleTranslatorProvider.getCompactionPolicyTupleTranslator(true); ITupleReference compactionPolicyTuple = tupleReaderWriter.getTupleFromMetadataEntity(compactionPolicy); insertTupleIntoIndex(txnId, MetadataPrimaryIndexes.COMPACTION_POLICY_DATASET, compactionPolicyTuple); } catch (HyracksDataException e) { if (e.getComponent().equals(ErrorCode.HYRACKS) && e.getErrorCode() == ErrorCode.DUPLICATE_KEY) { throw new AlgebricksException("A compcation policy with this name " + compactionPolicy.getPolicyName() + " already exists in dataverse '" + compactionPolicy.getPolicyName() + "'.", e); } else { throw new AlgebricksException(e); } } }
tupleBuilder.addFieldEndOffset(); aString.setValue(compactionPolicy.getPolicyName()); stringSerde.serialize(aString, tupleBuilder.getDataOutput()); tupleBuilder.addFieldEndOffset(); aString.setValue(compactionPolicy.getPolicyName()); stringSerde.serialize(aString, fieldValue.getDataOutput()); recordBuilder.addField(MetadataRecordTypes.COMPACTION_POLICY_ARECORD_POLICY_NAME_FIELD_INDEX, fieldValue);