Skip to content

Commit c53c9a3

Browse files
committed
Merge branch 'master' of https://github.com/apache/iotdb
2 parents cbd92e8 + 9d72f66 commit c53c9a3

109 files changed

Lines changed: 4060 additions & 937 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CLAUDE.md

distribution/src/assembly/all.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,21 @@
6464
<excludes>
6565
<exclude>ainode-env.*</exclude>
6666
<exclude>**/ainode-env.*</exclude>
67+
<exclude>iotdb-common.sh</exclude>
68+
<exclude>**/iotdb-common.bat</exclude>
6769
</excludes>
6870
<fileMode>0755</fileMode>
6971
</fileSet>
72+
<fileSet>
73+
<outputDirectory>conf</outputDirectory>
74+
<directory>${project.basedir}/../scripts/conf</directory>
75+
<includes>
76+
<include>iotdb-common.sh</include>
77+
<include>windows/iotdb-common.bat</include>
78+
</includes>
79+
<filtered>true</filtered>
80+
<fileMode>0755</fileMode>
81+
</fileSet>
7082
<fileSet>
7183
<outputDirectory>sbin</outputDirectory>
7284
<directory>${project.basedir}/../scripts/sbin</directory>

distribution/src/assembly/confignode.xml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,21 @@
4949
<directory>${project.basedir}/../scripts/conf</directory>
5050
<outputDirectory>conf</outputDirectory>
5151
<includes>
52-
<include>iotdb-common.*</include>
5352
<include>confignode-env.*</include>
5453
<include>**/confignode-env.*</include>
5554
</includes>
5655
<fileMode>0755</fileMode>
5756
</fileSet>
57+
<fileSet>
58+
<directory>${project.basedir}/../scripts/conf</directory>
59+
<outputDirectory>conf</outputDirectory>
60+
<includes>
61+
<include>iotdb-common.sh</include>
62+
<include>windows/iotdb-common.bat</include>
63+
</includes>
64+
<filtered>true</filtered>
65+
<fileMode>0755</fileMode>
66+
</fileSet>
5867
<fileSet>
5968
<directory>${project.basedir}/../scripts/sbin</directory>
6069
<outputDirectory>sbin</outputDirectory>

external-service-impl/rest/src/main/java/org/apache/iotdb/rest/protocol/v2/impl/RestApiServiceImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import org.apache.iotdb.db.queryengine.plan.execution.ExecutionResult;
3535
import org.apache.iotdb.db.queryengine.plan.execution.IQueryExecution;
3636
import org.apache.iotdb.db.queryengine.plan.parser.StatementGenerator;
37+
import org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.cache.TableDeviceLastCache;
3738
import org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.cache.TableDeviceSchemaCache;
3839
import org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.cache.TableId;
3940
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -196,6 +197,10 @@ public Response executeFastLastQueryStatement(
196197
for (final Map.Entry<String, Pair<TSDataType, TimeValuePair>> measurementLastEntry :
197198
device2MeasurementLastEntry.getValue().entrySet()) {
198199
final TimeValuePair tvPair = measurementLastEntry.getValue().getRight();
200+
if (tvPair == TableDeviceLastCache.PLACEHOLDER_EMPTY_COLUMN
201+
|| tvPair.getValue() == null) {
202+
continue;
203+
}
199204
valueList.add(tvPair.getValue().getStringValue());
200205
dataTypeList.add(tvPair.getValue().getDataType().name());
201206
targetDataSet.addTimestampsItem(tvPair.getTimestamp());

integration-test/src/assembly/mpp-test.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,20 @@
4949
<fileSet>
5050
<outputDirectory>conf</outputDirectory>
5151
<directory>${project.basedir}/../scripts/conf</directory>
52+
<excludes>
53+
<exclude>iotdb-common.sh</exclude>
54+
<exclude>**/iotdb-common.bat</exclude>
55+
</excludes>
56+
<fileMode>0755</fileMode>
57+
</fileSet>
58+
<fileSet>
59+
<outputDirectory>conf</outputDirectory>
60+
<directory>${project.basedir}/../scripts/conf</directory>
61+
<includes>
62+
<include>iotdb-common.sh</include>
63+
<include>windows/iotdb-common.bat</include>
64+
</includes>
65+
<filtered>true</filtered>
5266
<fileMode>0755</fileMode>
5367
</fileSet>
5468
<fileSet>

integration-test/src/main/java/org/apache/iotdb/it/env/cluster/config/MppCommonConfig.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,12 @@ public CommonConfig setIoTConsensusV2Mode(String iotConsensusV2Mode) {
203203
return this;
204204
}
205205

206+
@Override
207+
public CommonConfig setRegionGroupAllocatePolicy(String regionGroupAllocatePolicy) {
208+
setProperty("region_group_allocate_policy", regionGroupAllocatePolicy);
209+
return this;
210+
}
211+
206212
@Override
207213
public CommonConfig setSchemaRegionGroupExtensionPolicy(String schemaRegionGroupExtensionPolicy) {
208214
setProperty("schema_region_group_extension_policy", schemaRegionGroupExtensionPolicy);

integration-test/src/main/java/org/apache/iotdb/it/env/cluster/config/MppSharedCommonConfig.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,13 @@ public CommonConfig setIoTConsensusV2Mode(String iotConsensusV2Mode) {
202202
return this;
203203
}
204204

205+
@Override
206+
public CommonConfig setRegionGroupAllocatePolicy(String regionGroupAllocatePolicy) {
207+
cnConfig.setRegionGroupAllocatePolicy(regionGroupAllocatePolicy);
208+
dnConfig.setRegionGroupAllocatePolicy(regionGroupAllocatePolicy);
209+
return this;
210+
}
211+
205212
@Override
206213
public CommonConfig setSchemaRegionGroupExtensionPolicy(String schemaRegionGroupExtensionPolicy) {
207214
cnConfig.setSchemaRegionGroupExtensionPolicy(schemaRegionGroupExtensionPolicy);

integration-test/src/main/java/org/apache/iotdb/it/env/cluster/node/AINodeWrapper.java

Lines changed: 41 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -131,37 +131,53 @@ public void start() {
131131
},
132132
propertiesFile);
133133

134-
// copy built-in LTSM
134+
// Link built-in LTSM weights from the runner-wide cache. These can be hundreds of MB to
135+
// multiple GB; copying them per fork dominates IT startup. Symlinks share read-only weights
136+
// across forks; we fall back to a copy on platforms / filesystems that reject symlinks.
135137
String builtInModelPath = filePrefix + File.separator + BUILT_IN_MODEL_PATH;
136-
new File(builtInModelPath).mkdirs();
138+
File builtInModelDir = new File(builtInModelPath);
137139
try {
138-
if (new File(builtInModelPath).exists()) {
139-
PathUtils.deleteDirectory(Paths.get(builtInModelPath));
140+
if (builtInModelDir.exists()) {
141+
PathUtils.deleteDirectory(builtInModelDir.toPath());
140142
}
141143
} catch (NoSuchFileException e) {
142144
// ignored
143145
}
144-
try (Stream<Path> s = Files.walk(Paths.get(CACHE_BUILT_IN_MODEL_PATH))) {
145-
s.forEach(
146-
source -> {
147-
Path destination =
148-
Paths.get(
149-
builtInModelPath,
150-
source.toString().substring(CACHE_BUILT_IN_MODEL_PATH.length()));
151-
logger.info("AINode copying model weights from {} to {}", source, destination);
152-
try {
153-
Files.copy(
154-
source,
155-
destination,
156-
LinkOption.NOFOLLOW_LINKS,
157-
StandardCopyOption.COPY_ATTRIBUTES);
158-
} catch (IOException e) {
159-
logger.error("AINode got error copying model weights", e);
160-
throw new RuntimeException(e);
161-
}
162-
});
163-
} catch (Exception e) {
164-
logger.error("AINode got error copying model weights", e);
146+
Path cacheRoot = Paths.get(CACHE_BUILT_IN_MODEL_PATH);
147+
Path destRoot = builtInModelDir.toPath();
148+
builtInModelDir.getParentFile().mkdirs();
149+
try {
150+
Files.createSymbolicLink(destRoot, cacheRoot);
151+
logger.info("AINode symlinked model weights {} -> {}", destRoot, cacheRoot);
152+
} catch (UnsupportedOperationException | IOException symlinkErr) {
153+
logger.warn(
154+
"AINode failed to symlink {} -> {} ({}), falling back to copy",
155+
destRoot,
156+
cacheRoot,
157+
symlinkErr.toString());
158+
builtInModelDir.mkdirs();
159+
try (Stream<Path> s = Files.walk(cacheRoot)) {
160+
s.forEach(
161+
source -> {
162+
Path destination =
163+
Paths.get(
164+
builtInModelPath,
165+
source.toString().substring(CACHE_BUILT_IN_MODEL_PATH.length()));
166+
logger.info("AINode copying model weights from {} to {}", source, destination);
167+
try {
168+
Files.copy(
169+
source,
170+
destination,
171+
LinkOption.NOFOLLOW_LINKS,
172+
StandardCopyOption.COPY_ATTRIBUTES);
173+
} catch (IOException e) {
174+
logger.error("AINode got error copying model weights", e);
175+
throw new RuntimeException(e);
176+
}
177+
});
178+
} catch (Exception e) {
179+
logger.error("AINode got error copying model weights", e);
180+
}
165181
}
166182

167183
// start AINode

integration-test/src/main/java/org/apache/iotdb/it/env/remote/config/RemoteCommonConfig.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,11 @@ public CommonConfig setIoTConsensusV2Mode(String iotConsensusV2Mode) {
145145
return this;
146146
}
147147

148+
@Override
149+
public CommonConfig setRegionGroupAllocatePolicy(String regionGroupAllocatePolicy) {
150+
return this;
151+
}
152+
148153
@Override
149154
public CommonConfig setSchemaRegionGroupExtensionPolicy(String schemaRegionGroupExtensionPolicy) {
150155
return this;

integration-test/src/main/java/org/apache/iotdb/itbase/env/CommonConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ public interface CommonConfig {
7272

7373
CommonConfig setIoTConsensusV2Mode(String iotConsensusV2Mode);
7474

75+
CommonConfig setRegionGroupAllocatePolicy(String regionGroupAllocatePolicy);
76+
7577
CommonConfig setSchemaRegionGroupExtensionPolicy(String schemaRegionGroupExtensionPolicy);
7678

7779
CommonConfig setDefaultSchemaRegionGroupNumPerDatabase(int schemaRegionGroupPerDatabase);

0 commit comments

Comments
 (0)