Map<String, String> nonTimeSpec = new HashMap<>(); UpdatePeriod updatePeriod = populatePartSpec(part, timeSpec, nonTimeSpec); msClient.dropPartition(cubeTableName, storageName, timeSpec, nonTimeSpec, updatePeriod); log.info("Dropped partition for dimension: " + cubeTableName + " storage: " + storageName + " values:" + values); } catch (HiveException exc) {
Map<String, String> nonTimeSpec = new HashMap<>(); UpdatePeriod updatePeriod= populatePartSpec(part, timeSpec, nonTimeSpec); msClient.dropPartition(cubeTableName, storageName, timeSpec, nonTimeSpec, updatePeriod); } catch (HiveException e) { if (!(e.getCause() instanceof NoSuchObjectException)) {
assertLatestForRegions(storageTableName, expectedLatestValues); client.dropPartition(dimName, c3, timeParts, nonTimeParts, HOURLY); expectedLatestValues.put("asia", NOW); expectedLatestValues.put("africa", getDateWithOffset(HOURLY, 1)); client.dropPartition(dimName, c3, timeParts, nonTimeParts, HOURLY); expectedLatestValues.remove("asia"); assertLatestForRegions(storageTableName, expectedLatestValues);
assertEquals(client.getAllParts(storageTableName).size(), 1); client.dropPartition(cubeFact.getName(), c1, timeParts, null, HOURLY); assertFalse(client.factPartitionExists(cubeFact.getName(), c1, HOURLY, timeParts, emptyHashMap)); assertFalse(client.latestPartitionExists(cubeFact.getName(), c1, getDatePartitionKey()));
assertEquals(parts.size(), 0); client.dropPartition(cubeFactWithParts.getName(), c1, timeParts, partSpec, HOURLY); assertFalse(client.factPartitionExists(cubeFactWithParts.getName(), c1, HOURLY, timeParts, partSpec)); assertFalse(client.latestPartitionExists(cubeFactWithParts.getName(), c1, getDatePartitionKey()));
assertEquals(parts.get(0).getParameters().get(getLatestPartTimestampKey("dt")), getDateStringWithOffset(HOURLY, 0)); client.dropPartition(cubeDim.getName(), c1, timeParts, null, HOURLY); assertFalse(client.dimPartitionExists(cubeDim.getName(), c1, timeParts)); assertFalse(client.latestPartitionExists(cubeDim.getName(), c1, getDatePartitionKey()));
assertEquals(parts.size(), 0); client.dropPartition(cubeFact.getName(), c1, timeParts, null, HOURLY); assertEquals(client.getAllParts(storageTableName).size(), 0); assertFalse(client.factPartitionExists(cubeFact.getName(), c1, HOURLY, timeParts, emptyHashMap));
client.dropPartition(cubeFactWithParts.getName(), c1, timeParts, partSpec, HOURLY); assertFalse(client.factPartitionExists(cubeFactWithParts.getName(), c1, HOURLY, timeParts, partSpec)); assertFalse(client.latestPartitionExists(cubeFactWithParts.getName(), c1, testDtPart.getName()));
client.dropPartition(cubeFactWithTwoStorages.getName(), c1, timeParts, partSpec, HOURLY); assertFalse(client.factPartitionExists(cubeFactWithTwoStorages.getName(), c1, HOURLY, timeParts, partSpec)); assertFalse(client.latestPartitionExists(cubeFactWithTwoStorages.getName(), c1, getDatePartitionKey())); assertEquals(client.getAllParts(storageTableName).size(), 0); client.dropPartition(cubeFactWithTwoStorages.getName(), c2, timeParts, null, HOURLY); assertFalse(client.factPartitionExists(cubeFactWithTwoStorages.getName(), c2, HOURLY, timeParts, emptyHashMap)); assertFalse(client.latestPartitionExists(cubeFactWithTwoStorages.getName(), c2, getDatePartitionKey()));
client.dropPartition(cubeDim.getName(), c1, timeParts2, null, HOURLY); assertTrue(client.dimPartitionExists(cubeDim.getName(), c1, timeParts1)); assertTrue(client.dimPartitionExists(cubeDim.getName(), c1, timePartsNow)); client.dropPartition(cubeDim.getName(), c1, timePartsNow, null, HOURLY); assertTrue(client.dimPartitionExists(cubeDim.getName(), c1, timeParts1)); assertFalse(client.dimPartitionExists(cubeDim.getName(), c1, timePartsNow)); assertEquals(client.getAllParts(storageTableName).size(), 2); client.dropPartition(cubeDim.getName(), c1, timeParts1, null, HOURLY); assertFalse(client.dimPartitionExists(cubeDim.getName(), c1, timeParts1)); assertFalse(client.dimPartitionExists(cubeDim.getName(), c1, timePartsNow));
assertEquals(parts.size(), 0); client.dropPartition(cubeFact.getName(), c1, timeParts, null, HOURLY); assertEquals(client.getAllParts(storageTableName).size(), 0); assertFalse(client.factPartitionExists(cubeFact.getName(), c1, HOURLY, timeParts, emptyHashMap));
assertEquals(getLatestValues(c1TableName, HOURLY, partColNames, null), toPartitionArray(HOURLY, 1, 1, 1)); client.dropPartition(cubeDim.getName(), c1, timeParts5, null, HOURLY); assertEquals(client.getAllParts(c1TableName).size(), 11); assertEquals(getLatestValues(c1TableName, HOURLY, partColNames, null), toPartitionArray(HOURLY, 0, 1, 1)); client.dropPartition(cubeDim.getName(), c1, timeParts7, null, HOURLY); assertEquals(client.getAllParts(c1TableName).size(), 10); assertEquals(getLatestValues(c1TableName, HOURLY, partColNames, null), toPartitionArray(HOURLY, 0, 1, 1)); client.dropPartition(cubeDim.getName(), c1, timeParts2, nonTimeSpec, HOURLY); assertEquals(client.getAllParts(c1TableName).size(), 9); assertEquals(getLatestValues(c1TableName, HOURLY, partColNames, null), toPartitionArray(HOURLY, 0, 1, 0)); client.dropPartition(cubeDim.getName(), c1, timeParts4, null, HOURLY); assertEquals(client.getAllParts(c1TableName).size(), 8); assertEquals(getLatestValues(c1TableName, HOURLY, partColNames, null), toPartitionArray(HOURLY, 0, 0, 0)); client.dropPartition(cubeDim.getName(), c1, timeParts3, nonTimeSpec, HOURLY); assertEquals(client.getAllParts(c1TableName).size(), 5); client.dropPartition(cubeDim.getName(), c1, timeParts6, null, HOURLY); assertEquals(client.getAllParts(c1TableName).size(), 4); client.dropPartition(cubeDim.getName(), c1, timeParts1, null, HOURLY); assertEquals(client.getAllParts(c1TableName).size(), 0); assertNoPartitionNamedLatest(c1TableName, partColNames);
client.dropPartition(cubeFact.getName(), c1, timeParts5, null, HOURLY); client.dropPartition(cubeFact.getName(), c2, timeParts5, null, HOURLY); assertEquals(client.getAllParts(c1TableName).size(), 6); assertTrue(client.latestPartitionExists(cubeFact.getName(), c1, getDatePartitionKey())); client.dropPartition(cubeFact.getName(), c1, timeParts7, null, HOURLY); client.dropPartition(cubeFact.getName(), c2, timeParts7, null, HOURLY); assertEquals(client.getAllParts(c1TableName).size(), 5); assertTrue(client.latestPartitionExists(cubeFact.getName(), c1, getDatePartitionKey())); client.dropPartition(cubeFact.getName(), c1, timeParts2, nonTimeSpec, HOURLY); client.dropPartition(cubeFact.getName(), c2, timeParts2, nonTimeSpec, HOURLY); assertEquals(client.getAllParts(c1TableName).size(), 4); assertTrue(client.latestPartitionExists(cubeFact.getName(), c1, getDatePartitionKey())); client.dropPartition(cubeFact.getName(), c1, timeParts4, null, HOURLY); client.dropPartition(cubeFact.getName(), c2, timeParts4, null, HOURLY); assertEquals(client.getAllParts(c1TableName).size(), 3); assertTimeline(timelineEt, timelineEtC2, HOURLY, -2, 0, -1); assertTimeline(timelineIt, timelineItC2, HOURLY, -1, 0); client.dropPartition(cubeFact.getName(), c1, timeParts3, nonTimeSpec, HOURLY); client.dropPartition(cubeFact.getName(), c2, timeParts3, nonTimeSpec, HOURLY); assertSameTimelines(factName, storages, HOURLY, partColNames); assertTimeline(timelineDt, timelineDtC2, HOURLY, -2, 0, -1); client.dropPartition(cubeFact.getName(), c1, timeParts6, null, HOURLY); client.dropPartition(cubeFact.getName(), c2, timeParts6, null, HOURLY); assertSameTimelines(factName, storages, HOURLY, partColNames);