Skip to content

Commit

Permalink
fix conflict (#52091)
Browse files Browse the repository at this point in the history
Signed-off-by: xiangguangyxg <[email protected]>
  • Loading branch information
xiangguangyxg authored Oct 18, 2024
1 parent a54a736 commit f7b9219
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 109 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -489,9 +489,6 @@ public Object clone() {
info.automaticPartition = this.automaticPartition;
return info;
}
<<<<<<< HEAD
}
=======

@Override
public void setPartitionIdsForRestore(Map<Long, Long> partitionOldIdToNewId) {
Expand Down Expand Up @@ -535,13 +532,4 @@ public void setPartitionIdsForRestore(Map<Long, Long> partitionOldIdToNewId) {
}
}
}

@Override
public void gsonPostProcess() throws IOException {
super.gsonPostProcess();
if (partitionColumnIds.size() <= 0) {
partitionColumnIds = deprecatedColumns.stream().map(Column::getColumnId).collect(Collectors.toList());
}
}
}
>>>>>>> 9db79768de ([Refactor] Refactor reset ids for restore (#52075))
97 changes: 0 additions & 97 deletions fe/fe-core/src/main/java/com/starrocks/catalog/OlapTable.java
Original file line number Diff line number Diff line change
Expand Up @@ -636,87 +636,8 @@ public Status resetIdsForRestore(GlobalStateMgr globalStateMgr, Database db, int
// base index
baseIndexId = newIdxId;
}
<<<<<<< HEAD
indexIdToMeta.put(newIdxId, origIndexIdToMeta.get(entry.getKey()));
indexIdToMeta.get(newIdxId).setIndexIdForRestore(newIdxId);
indexNameToId.put(entry.getValue(), newIdxId);
}

// generate a partition name to id map
Map<String, Long> origPartNameToId = Maps.newHashMap();
for (Partition partition : idToPartition.values()) {
origPartNameToId.put(partition.getName(), partition.getId());
}

// reset partition info and idToPartition map
if (partitionInfo.isRangePartition()) {
RangePartitionInfo rangePartitionInfo = (RangePartitionInfo) partitionInfo;
RangePartitionInfo origRangePartitionInfo = (RangePartitionInfo) rangePartitionInfo.clone();
for (Long partitionId : origPartNameToId.values()) {
rangePartitionInfo.dropPartition(partitionId);
}
Map<Long, Partition> origIdToPartition = Maps.newHashMap(idToPartition);
idToPartition.clear();
for (Map.Entry<String, Long> entry : origPartNameToId.entrySet()) {
long newPartId = globalStateMgr.getNextId();
// preserve existing info
DataProperty dataProperty = origRangePartitionInfo.getDataProperty(entry.getValue());
boolean inMemory = origRangePartitionInfo.getIsInMemory(entry.getValue());
DataCacheInfo dataCacheInfo = origRangePartitionInfo.getDataCacheInfo(entry.getValue());
Range<PartitionKey> range = origRangePartitionInfo.getIdToRange(false).get(entry.getValue());
// replace with new info
rangePartitionInfo.addPartition(newPartId, false, range, dataProperty, (short) restoreReplicationNum,
inMemory, dataCacheInfo);
idToPartition.put(newPartId, origIdToPartition.get(entry.getValue()));
}
} else if (partitionInfo.isListPartition()) {
ListPartitionInfo listPartitionInfo = (ListPartitionInfo) partitionInfo;
ListPartitionInfo origListPartitionInfo = (ListPartitionInfo) listPartitionInfo.clone();
for (Long partitionId : origPartNameToId.values()) {
listPartitionInfo.dropPartition(partitionId);
}
Map<Long, Partition> origIdToPartition = Maps.newHashMap(idToPartition);
idToPartition.clear();
for (Map.Entry<String, Long> entry : origPartNameToId.entrySet()) {
long newPartId = globalStateMgr.getNextId();
// preserve existing info
DataProperty dataProperty = origListPartitionInfo.getDataProperty(entry.getValue());
boolean inMemory = origListPartitionInfo.getIsInMemory(entry.getValue());
DataCacheInfo dataCacheInfo = origListPartitionInfo.getDataCacheInfo(entry.getValue());
List<String> values = origListPartitionInfo.getIdToValues().get(entry.getValue());
List<List<String>> multiValues = origListPartitionInfo.getIdToMultiValues().get(entry.getValue());
// replace with new info
try {
listPartitionInfo.addPartition(newPartId, dataProperty, (short) restoreReplicationNum,
inMemory, dataCacheInfo, values, multiValues);
} catch (AnalysisException e) {
return new Status(ErrCode.COMMON_ERROR, "Failed to add partition " + e.getMessage());
}
idToPartition.put(newPartId, origIdToPartition.get(entry.getValue()));
}
} else if (partitionInfo.isUnPartitioned()) {
// Single partitioned
PartitionInfo origPartitionInfo = (PartitionInfo) partitionInfo.clone();
for (Long partitionId : origPartNameToId.values()) {
partitionInfo.dropPartition(partitionId);
}
Map<Long, Partition> origIdToPartition = Maps.newHashMap(idToPartition);
idToPartition.clear();
for (Map.Entry<String, Long> entry : origPartNameToId.entrySet()) {
long newPartId = globalStateMgr.getNextId();
DataProperty dataProperty = origPartitionInfo.getDataProperty(entry.getValue());
boolean inMemory = origPartitionInfo.getIsInMemory(entry.getValue());
DataCacheInfo dataCacheInfo = origPartitionInfo.getDataCacheInfo(entry.getValue());
partitionInfo.addPartition(newPartId, dataProperty, (short) restoreReplicationNum, inMemory,
dataCacheInfo);
idToPartition.put(newPartId, origIdToPartition.get(entry.getValue()));
}
} else {
return new Status(ErrCode.UNSUPPORTED, "Unsupported partition type: " + partitionInfo.getType());
=======
MaterializedIndexMeta indexMeta = origIndexIdToMeta.get(entry.getKey());
indexMeta.setIndexIdForRestore(newIdxId);
indexMeta.setSchemaId(newIdxId);
indexIdToMeta.put(newIdxId, indexMeta);
indexNameToId.put(entry.getValue(), newIdxId);
}
Expand All @@ -733,28 +654,10 @@ public Status resetIdsForRestore(GlobalStateMgr globalStateMgr, Database db, int
// reset partitions
List<Partition> partitions = Lists.newArrayList(idToPartition.values());
idToPartition.clear();
physicalPartitionIdToPartitionId.clear();
physicalPartitionNameToPartitionId.clear();
for (Partition partition : partitions) {
long newPartitionId = partitionOldIdToNewId.get(partition.getId());
partition.setIdForRestore(newPartitionId);
idToPartition.put(newPartitionId, partition);
List<PhysicalPartition> origPhysicalPartitions = Lists.newArrayList(partition.getSubPartitions());
origPhysicalPartitions.forEach(physicalPartition -> {
if (physicalPartition.getId() != newPartitionId) {
partition.removeSubPartition(physicalPartition.getId());
}
});
origPhysicalPartitions.forEach(physicalPartition -> {
if (physicalPartition.getId() != newPartitionId) {
physicalPartition.setIdForRestore(globalStateMgr.getNextId());
physicalPartition.setParentId(newPartitionId);
partition.addSubPartition(physicalPartition);
}
physicalPartitionIdToPartitionId.put(physicalPartition.getId(), newPartitionId);
physicalPartitionNameToPartitionId.put(physicalPartition.getName(), newPartitionId);
});
>>>>>>> 9db79768de ([Refactor] Refactor reset ids for restore (#52075))
}

// for each partition, reset rollup index map
Expand Down

0 comments on commit f7b9219

Please sign in to comment.