@Test public void isFastStatsSameWithNullPartitions() { Partition partition = new Partition(); assertFalse(MetaStoreServerUtils.isFastStatsSame(null, null)); assertFalse(MetaStoreServerUtils.isFastStatsSame(null, partition)); assertFalse(MetaStoreServerUtils.isFastStatsSame(partition, null)); }
return !isFastStatsSame(oldPart, newPart);
@Test public void isFastStatsSameWithNoMatchingStats() { Partition oldPartition = new Partition(); Map<String, String> stats = new HashMap<>(); oldPartition.setParameters(stats); assertFalse(MetaStoreServerUtils.isFastStatsSame(oldPartition, null)); stats.put("someKeyThatIsNotInFastStats","value"); oldPartition.setParameters(stats); assertFalse(MetaStoreServerUtils.isFastStatsSame(oldPartition, null)); }
@Test public void isFastStatsSameDifferent() { Partition oldPartition = new Partition(); Partition newPartition = new Partition(); Map<String, String> stats = new HashMap<>(); Map<String, String> oldParams = new HashMap<>(); Map<String, String> newParams = new HashMap<>(); long testVal = 1; for (String key : FAST_STATS) { oldParams.put(key, String.valueOf(testVal)); newParams.put(key, String.valueOf(++testVal)); } oldPartition.setParameters(oldParams); newPartition.setParameters(newParams); assertFalse(MetaStoreServerUtils.isFastStatsSame(oldPartition, newPartition)); }
@Test public void isFastStatsSameMatching() { Partition oldPartition = new Partition(); Partition newPartition = new Partition(); Map<String, String> stats = new HashMap<>(); Map<String, String> oldParams = new HashMap<>(); Map<String, String> newParams = new HashMap<>(); long testVal = 1; for (String key : FAST_STATS) { oldParams.put(key, String.valueOf(testVal)); newParams.put(key, String.valueOf(testVal)); } oldPartition.setParameters(oldParams); newPartition.setParameters(newParams); assertTrue(MetaStoreServerUtils.isFastStatsSame(oldPartition, newPartition)); }
@Test public void isFastStatsSameNullStatsInNew() { Partition oldPartition = new Partition(); Partition newPartition = new Partition(); Map<String, String> oldParams = new HashMap<>(); Map<String, String> newParams = new HashMap<>(); long testVal = 1; for (String key : FAST_STATS) { oldParams.put(key, String.valueOf(testVal)); newParams.put(key, null); } oldPartition.setParameters(oldParams); newPartition.setParameters(newParams); assertFalse(MetaStoreServerUtils.isFastStatsSame(oldPartition, newPartition)); }
@Test public void isFastStatsSameMatchingButOnlyOneStat() { Partition oldPartition = new Partition(); Partition newPartition = new Partition(); Map<String, String> randomParams = new HashMap<String, String>(); randomParams.put("randomParam1", "randomVal1"); newPartition.setParameters(randomParams); assertFalse(MetaStoreServerUtils.isFastStatsSame(oldPartition, newPartition)); }
if (MetaStoreServerUtils.isFastStatsSame(oldTmpPart, tmpPart)) { MetaStoreServerUtils.updateBasicState(environmentContext, tmpPart.getParameters()); } else {
if (MetaStoreServerUtils.requireCalStats(oldPart, new_part, tbl, environmentContext)) { if (MetaStoreServerUtils.isFastStatsSame(oldPart, new_part)) { MetaStoreServerUtils.updateBasicState(environmentContext, new_part.getParameters()); } else {