Skip to content

Commit 2edba98

Browse files
committed
fix-optimize
1 parent e626e8b commit 2edba98

File tree

1 file changed

+13
-11
lines changed
  • iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils

1 file changed

+13
-11
lines changed

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/CompactionPathUtils.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,35 +20,37 @@
2020
package org.apache.iotdb.db.storageengine.dataregion.compaction.execute.utils;
2121

2222
import org.apache.iotdb.commons.exception.IllegalPathException;
23-
import org.apache.iotdb.commons.path.MeasurementPath;
2423
import org.apache.iotdb.commons.path.PartialPath;
2524
import org.apache.iotdb.db.queryengine.plan.analyze.cache.schema.DataNodeDevicePathCache;
2625

26+
import org.apache.tsfile.common.constant.TsFileConstant;
2727
import org.apache.tsfile.file.metadata.IDeviceID;
2828

2929
public class CompactionPathUtils {
3030

3131
private CompactionPathUtils() {}
3232

33-
public static PartialPath getPath(IDeviceID device, String measurement)
33+
public static PartialPath getPath(final IDeviceID device, final String measurement)
3434
throws IllegalPathException {
35+
return getPath(device).concatAsMeasurementPath(measurement);
36+
}
37+
38+
public static PartialPath getPath(final IDeviceID device) throws IllegalPathException {
3539
if (device.isTableModel()) {
36-
String[] tableNameSegments =
40+
final String[] tableNameSegments =
3741
DataNodeDevicePathCache.getInstance().getPartialPath(device.getTableName()).getNodes();
38-
String[] nodes = new String[device.segmentNum() + tableNameSegments.length];
42+
final String[] nodes = new String[device.segmentNum() + tableNameSegments.length - 1];
3943
System.arraycopy(tableNameSegments, 0, nodes, 0, tableNameSegments.length);
4044
for (int i = 0; i < device.segmentNum() - 1; i++) {
4145
nodes[i + tableNameSegments.length] =
4246
device.segment(i + 1) == null ? null : device.segment(i + 1).toString();
4347
}
44-
nodes[device.segmentNum() + tableNameSegments.length - 1] = measurement;
45-
MeasurementPath path = new MeasurementPath(nodes);
46-
path.setDevice(device);
47-
return path;
48+
return new PartialPath(nodes);
4849
} else {
49-
return DataNodeDevicePathCache.getInstance()
50-
.getPartialPath(device.toString())
51-
.concatAsMeasurementPath(measurement);
50+
final String deviceId = device.toString();
51+
return deviceId.contains(TsFileConstant.BACK_QUOTE_STRING)
52+
? DataNodeDevicePathCache.getInstance().getPartialPath(device.toString())
53+
: new PartialPath(deviceId.split(TsFileConstant.PATH_SEPARATER_NO_REGEX));
5254
}
5355
}
5456
}

0 commit comments

Comments
 (0)