Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java
Original file line number Diff line number Diff line change
Expand Up @@ -2919,16 +2919,6 @@ public MTMVSnapshotIf getTableSnapshot() {
return new MTMVVersionSnapshot(visibleVersion);
}

@Override
public String getPartitionName(long partitionId) throws AnalysisException {
readLock();
try {
return getPartitionOrAnalysisException(partitionId).getName();
} finally {
readUnlock();
}
}

private static Cloud.GetVersionResponse getVersionFromMeta(Cloud.GetVersionRequest req)
throws RpcException {
long startAt = System.nanoTime();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
import org.apache.doris.thrift.TTableDescriptor;
import org.apache.doris.thrift.TTableType;

import com.google.common.collect.BiMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
Expand Down Expand Up @@ -746,28 +747,13 @@ public Map<String, PartitionItem> getAndCopyPartitionItems() {
getDbName(), getName(), getPartitionColumnTypes());
Map<String, PartitionItem> res = Maps.newHashMap();
Map<Long, PartitionItem> idToPartitionItem = hivePartitionValues.getIdToPartitionItem();
BiMap<Long, String> idToName = hivePartitionValues.getPartitionNameToIdMap().inverse();
for (Entry<Long, PartitionItem> entry : idToPartitionItem.entrySet()) {
try {
res.put(getPartitionName(entry.getKey()), entry.getValue());
} catch (AnalysisException e) {
LOG.info("can not get partitionName by: " + entry.getKey());
}

res.put(idToName.get(entry.getKey()), entry.getValue());
}
return res;
}

@Override
public String getPartitionName(long partitionId) throws AnalysisException {
Map<String, Long> partitionNameToIdMap = getHivePartitionValues().getPartitionNameToIdMap();
for (Entry<String, Long> entry : partitionNameToIdMap.entrySet()) {
if (entry.getValue().equals(partitionId)) {
return entry.getKey();
}
}
throw new AnalysisException("can not find partition, partitionId: " + partitionId);
}

private HiveMetaStoreCache.HivePartitionValues getHivePartitionValues() {
HiveMetaStoreCache cache = Env.getCurrentEnv().getExtMetaCacheMgr()
.getMetaStoreCache((HMSExternalCatalog) getCatalog());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
Expand Down Expand Up @@ -247,7 +249,7 @@ private HivePartitionValues loadPartitionValues(PartitionValueCacheKey key) {
LOG.debug("load #{} partitions for {} in catalog {}", partitionNames.size(), key, catalog.getName());
}
Map<Long, PartitionItem> idToPartitionItem = Maps.newHashMapWithExpectedSize(partitionNames.size());
Map<String, Long> partitionNameToIdMap = Maps.newHashMapWithExpectedSize(partitionNames.size());
BiMap<String, Long> partitionNameToIdMap = HashBiMap.create(partitionNames.size());
Map<Long, List<UniqueId>> idToUniqueIdsMap = Maps.newHashMapWithExpectedSize(partitionNames.size());
long idx = 0;
for (String partitionName : partitionNames) {
Expand Down Expand Up @@ -1086,7 +1088,7 @@ public static class HiveFileStatus {
@Data
public static class HivePartitionValues {
private long nextPartitionId;
private Map<String, Long> partitionNameToIdMap;
private BiMap<String, Long> partitionNameToIdMap;
private Map<Long, List<UniqueId>> idToUniqueIdsMap;
private Map<Long, PartitionItem> idToPartitionItem;
private Map<Long, List<String>> partitionValuesMap;
Expand All @@ -1105,7 +1107,7 @@ public HivePartitionValues(Map<Long, PartitionItem> idToPartitionItem,
Map<Range<PartitionKey>, UniqueId> rangeToId,
RangeMap<ColumnBound, UniqueId> singleColumnRangeMap,
long nextPartitionId,
Map<String, Long> partitionNameToIdMap,
BiMap<String, Long> partitionNameToIdMap,
Map<Long, List<UniqueId>> idToUniqueIdsMap,
Map<UniqueId, Range<ColumnBound>> singleUidToColumnRangeMap,
Map<Long, List<String>> partitionValuesMap) {
Expand All @@ -1123,7 +1125,7 @@ public HivePartitionValues(Map<Long, PartitionItem> idToPartitionItem,
public HivePartitionValues copy() {
HivePartitionValues copy = new HivePartitionValues();
copy.setNextPartitionId(nextPartitionId);
copy.setPartitionNameToIdMap(partitionNameToIdMap == null ? null : Maps.newHashMap(partitionNameToIdMap));
copy.setPartitionNameToIdMap(partitionNameToIdMap == null ? null : HashBiMap.create(partitionNameToIdMap));
copy.setIdToUniqueIdsMap(idToUniqueIdsMap == null ? null : Maps.newHashMap(idToUniqueIdsMap));
copy.setIdToPartitionItem(idToPartitionItem == null ? null : Maps.newHashMap(idToPartitionItem));
copy.setPartitionValuesMap(partitionValuesMap == null ? null : Maps.newHashMap(partitionValuesMap));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
Expand Down Expand Up @@ -166,14 +165,6 @@ public static Map<PartitionKeyDesc, Set<String>> generateRelatedPartitionDescs(M
return result.getDescs();
}

public static List<String> getPartitionNamesByIds(MTMV mtmv, Collection<Long> ids) throws AnalysisException {
List<String> res = Lists.newArrayList();
for (Long partitionId : ids) {
res.add(mtmv.getPartitionName(partitionId));
}
return res;
}

public static List<Long> getPartitionsIdsByNames(MTMV mtmv, List<String> partitions) throws AnalysisException {
mtmv.readLock();
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,15 +79,6 @@ public interface MTMVRelatedTableIf extends TableIf {
*/
MTMVSnapshotIf getTableSnapshot() throws AnalysisException;

/**
* getPartitionName
*
* @param partitionId
* @return partitionName
* @throws AnalysisException
*/
String getPartitionName(long partitionId) throws AnalysisException;

/**
* Does the current type of table allow timed triggering
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@

import com.github.benmanes.caffeine.cache.LoadingCache;
import com.google.common.base.Preconditions;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Range;
Expand Down Expand Up @@ -477,6 +479,7 @@ public void testAddSingleColumnPartitionsCache() {
partitionValueCacheKey.getTypes());
HivePartitionValues partitionValues = metaStoreCache.getPartitionValues(partitionValueCacheKey);
Assert.assertEquals(partitionValues.getPartitionNameToIdMap().size(), 4);
Assert.assertEquals(partitionValues.getPartitionNameToIdMap().inverse().size(), 4);
}

@Test
Expand Down Expand Up @@ -520,7 +523,7 @@ private HivePartitionValues loadPartitionValues(PartitionValueCacheKey key, List
HiveMetaStoreCache metaStoreCache) {
// partition name format: nation=cn/city=beijing
Map<Long, PartitionItem> idToPartitionItem = Maps.newHashMapWithExpectedSize(partitionNames.size());
Map<String, Long> partitionNameToIdMap = Maps.newHashMapWithExpectedSize(partitionNames.size());
BiMap<String, Long> partitionNameToIdMap = HashBiMap.create(partitionNames.size());
Map<Long, List<UniqueId>> idToUniqueIdsMap = Maps.newHashMapWithExpectedSize(partitionNames.size());
long idx = 0;
for (String partitionName : partitionNames) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,6 @@ public void setUp() throws NoSuchMethodException, SecurityException, AnalysisExc
minTimes = 0;
result = baseSnapshotIf;

mtmv.getPartitionName(anyLong);
minTimes = 0;
result = "name1";

mtmv.getRefreshSnapshot();
minTimes = 0;
result = refreshSnapshot;
Expand All @@ -123,10 +119,6 @@ public void setUp() throws NoSuchMethodException, SecurityException, AnalysisExc
minTimes = 0;
result = baseSnapshotIf;

baseOlapTable.getPartitionName(anyLong);
minTimes = 0;
result = "name1";

refreshSnapshot.equalsWithRelatedPartition(anyString, anyString, (MTMVSnapshotIf) any);
minTimes = 0;
result = true;
Expand Down