Skip to content

Commit 5d8f3ef

Browse files
committed
Merge origin/master into fix-log-throttling
2 parents c589639 + ced3908 commit 5d8f3ef

81 files changed

Lines changed: 3269 additions & 512 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.

‎.github/scripts/package-client-cpp-manylinux228.sh‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,22 @@ fi
7171
cmake --version
7272
java -version
7373

74+
# manylinux_2_28 is AlmaLinux 8, whose system OpenSSL is 1.1.1 (EOL and not
75+
# Apache-2.0 - must not be bundled/redistributed in an ASF convenience binary).
76+
# Build OpenSSL 3.x from source instead (-Diotdb.openssl.from.source=ON), which
77+
# keeps the glibc 2.28 baseline. OpenSSL 3.x's Configure needs perl plus a few
78+
# modules (IPC::Cmd, Data::Dumper) that are not on the minimal image - install
79+
# them even when perl itself is already present.
80+
if command -v dnf >/dev/null 2>&1; then
81+
dnf install -y perl perl-IPC-Cmd perl-Data-Dumper
82+
else
83+
yum install -y perl perl-IPC-Cmd perl-Data-Dumper
84+
fi
85+
7486
cd "${GITHUB_WORKSPACE:?GITHUB_WORKSPACE is not set}"
7587
./mvnw clean package -P with-cpp -pl iotdb-client/client-cpp -am -DskipTests \
7688
-Dspotless.skip=true \
89+
-Diotdb.openssl.from.source=ON \
7790
-Dclient.cpp.package.classifier="${PACKAGE_CLASSIFIER}"
7891

7992
SO="iotdb-client/client-cpp/target/install/lib/libiotdb_session.so"

‎.github/workflows/client-cpp-package.yml‎

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -309,10 +309,14 @@ jobs:
309309
shell: bash
310310
run: |
311311
set -euxo pipefail
312-
brew install boost openssl llvm@17 bison
312+
# Pin openssl@3 (Apache-2.0): the default 'openssl' formula will move to
313+
# OpenSSL 4.0, which drops the legacy TLS-method APIs Thrift still uses.
314+
brew install boost openssl@3 llvm@17 bison
313315
ln -sf "$(brew --prefix llvm@17)/bin/clang-format" "$(brew --prefix)/bin/clang-format"
314316
echo "$(brew --prefix bison)/bin" >> "$GITHUB_PATH"
315317
echo "$(brew --prefix llvm@17)/bin" >> "$GITHUB_PATH"
318+
# Homebrew OpenSSL is keg-only, so point find_package(OpenSSL) at it.
319+
echo "OPENSSL_ROOT_DIR=$(brew --prefix openssl@3)" >> "$GITHUB_ENV"
316320
clang-format --version
317321
bison --version
318322
- name: Cache Maven packages
@@ -429,8 +433,16 @@ jobs:
429433
throw "Boost not found under C:\local after installing ${{ matrix.boost_choco }}"
430434
}
431435
echo $boostDir.FullName >> $env:GITHUB_PATH
432-
choco install openssl -y --no-progress
433-
$sslPath = (Get-ChildItem 'C:\Program Files\OpenSSL*' -Directory | Select-Object -First 1).FullName
436+
# Use a pinned OpenSSL 3.x (Apache-2.0). 'choco install openssl' now
437+
# installs OpenSSL 4.0, which removed the legacy TLS-method APIs that
438+
# Apache Thrift's TSSLSocket still calls. The FireDaemon zip is a clean
439+
# prebuilt OpenSSL 3.5.x that keeps them.
440+
$sslZip = "$env:RUNNER_TEMP\openssl-3.5.3.zip"
441+
$sslDir = "$env:RUNNER_TEMP\openssl-3"
442+
curl.exe -L --fail --retry 3 -o $sslZip 'https://download.firedaemon.com/FireDaemon-OpenSSL/openssl-3.5.3.zip'
443+
Expand-Archive -Path $sslZip -DestinationPath $sslDir -Force
444+
$sslPath = (Get-ChildItem $sslDir -Recurse -Directory -Filter 'x64' | Select-Object -First 1).FullName
445+
if (-not $sslPath) { throw "OpenSSL x64 dir not found under $sslDir" }
434446
echo "$sslPath\bin" >> $env:GITHUB_PATH
435447
echo "OPENSSL_ROOT_DIR=$sslPath" >> $env:GITHUB_ENV
436448
- name: Cache Maven packages

‎.github/workflows/multi-language-client.yml‎

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,13 @@ jobs:
144144
if: runner.os == 'macOS'
145145
shell: bash
146146
run: |
147-
brew install boost openssl llvm@17 bison
147+
# Pin openssl@3 (Apache-2.0); the default formula will move to OpenSSL 4.0.
148+
brew install boost openssl@3 llvm@17 bison
148149
ln -sf "$(brew --prefix llvm@17)/bin/clang-format" "$(brew --prefix)/bin/clang-format"
149150
echo "$(brew --prefix bison)/bin" >> "$GITHUB_PATH"
150151
echo "$(brew --prefix llvm@17)/bin" >> "$GITHUB_PATH"
152+
# Homebrew OpenSSL is keg-only, so point find_package(OpenSSL) at it.
153+
echo "OPENSSL_ROOT_DIR=$(brew --prefix openssl@3)" >> "$GITHUB_ENV"
151154
clang-format --version
152155
bison --version
153156
sudo rm -rf /Applications/Xcode_14.3.1.app
@@ -163,8 +166,14 @@ jobs:
163166
$boost_path = (Get-ChildItem -Path 'C:\local\' -Filter 'boost_*').FullName
164167
echo $boost_path >> $env:GITHUB_PATH
165168
166-
choco install openssl -y
167-
$sslPath = (Get-ChildItem 'C:\Program Files\OpenSSL*' -Directory | Select-Object -First 1).FullName
169+
# Pinned OpenSSL 3.x (Apache-2.0): 'choco install openssl' now installs
170+
# OpenSSL 4.0, which removed the legacy TLS-method APIs Thrift uses.
171+
$sslZip = "$env:RUNNER_TEMP\openssl-3.5.3.zip"
172+
$sslDir = "$env:RUNNER_TEMP\openssl-3"
173+
curl.exe -L --fail --retry 3 -o $sslZip 'https://download.firedaemon.com/FireDaemon-OpenSSL/openssl-3.5.3.zip'
174+
Expand-Archive -Path $sslZip -DestinationPath $sslDir -Force
175+
$sslPath = (Get-ChildItem $sslDir -Recurse -Directory -Filter 'x64' | Select-Object -First 1).FullName
176+
if (-not $sslPath) { throw "OpenSSL x64 dir not found under $sslDir" }
168177
echo "$sslPath\bin" >> $env:GITHUB_PATH
169178
echo "OPENSSL_ROOT_DIR=$sslPath" >> $env:GITHUB_ENV
170179
choco install llvm --version=17.0.6 --force -y

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

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,31 @@ public DataNodeConfig setLoadTsFileAnalyzeSchemaMemorySizeInBytes(
8989
return this;
9090
}
9191

92+
@Override
93+
public DataNodeConfig setMaxAllocateMemoryRatioForLoad(double maxAllocateMemoryRatioForLoad) {
94+
properties.setProperty(
95+
"max_allocate_memory_ratio_for_load", String.valueOf(maxAllocateMemoryRatioForLoad));
96+
return this;
97+
}
98+
99+
@Override
100+
public DataNodeConfig setLoadTsFileTabletConversionBatchMemorySizeInBytes(
101+
long loadTsFileTabletConversionBatchMemorySizeInBytes) {
102+
properties.setProperty(
103+
"load_tsfile_tablet_conversion_batch_memory_size_in_bytes",
104+
String.valueOf(loadTsFileTabletConversionBatchMemorySizeInBytes));
105+
return this;
106+
}
107+
108+
@Override
109+
public DataNodeConfig setLoadActiveListeningCheckIntervalSeconds(
110+
long loadActiveListeningCheckIntervalSeconds) {
111+
properties.setProperty(
112+
"load_active_listening_check_interval_seconds",
113+
String.valueOf(loadActiveListeningCheckIntervalSeconds));
114+
return this;
115+
}
116+
92117
@Override
93118
public DataNodeConfig setCompactionScheduleInterval(long compactionScheduleInterval) {
94119
properties.setProperty(
@@ -143,4 +168,16 @@ public DataNodeConfig setQueryCostStatWindow(int queryCostStatWindow) {
143168
setProperty("query_cost_stat_window", String.valueOf(queryCostStatWindow));
144169
return this;
145170
}
171+
172+
@Override
173+
public DataNodeConfig setDnDataDirs(String dnDataDirs) {
174+
setProperty("dn_data_dirs", dnDataDirs);
175+
return this;
176+
}
177+
178+
@Override
179+
public DataNodeConfig setDnMultiDirStrategy(String multiDirStrategy) {
180+
setProperty("dn_multi_dir_strategy", multiDirStrategy);
181+
return this;
182+
}
146183
}

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import static org.apache.iotdb.it.env.cluster.ClusterConstant.DEFAULT_DATA_NODE_PROPERTIES;
4545
import static org.apache.iotdb.it.env.cluster.ClusterConstant.DN_CONNECTION_TIMEOUT_MS;
4646
import static org.apache.iotdb.it.env.cluster.ClusterConstant.DN_CONSENSUS_DIR;
47-
import static org.apache.iotdb.it.env.cluster.ClusterConstant.DN_DATA_DIRS;
4847
import static org.apache.iotdb.it.env.cluster.ClusterConstant.DN_DATA_REGION_CONSENSUS_PORT;
4948
import static org.apache.iotdb.it.env.cluster.ClusterConstant.DN_JOIN_CLUSTER_RETRY_INTERVAL_MS;
5049
import static org.apache.iotdb.it.env.cluster.ClusterConstant.DN_METRIC_INTERNAL_REPORTER_TYPE;
@@ -125,7 +124,6 @@ public DataNodeWrapper(
125124

126125
immutableNodeProperties.setProperty(IoTDBConstant.DN_SEED_CONFIG_NODE, seedConfigNode);
127126
immutableNodeProperties.setProperty(DN_SYSTEM_DIR, MppBaseConfig.NULL_VALUE);
128-
immutableNodeProperties.setProperty(DN_DATA_DIRS, MppBaseConfig.NULL_VALUE);
129127
immutableNodeProperties.setProperty(DN_CONSENSUS_DIR, MppBaseConfig.NULL_VALUE);
130128
immutableNodeProperties.setProperty(DN_WAL_DIRS, MppBaseConfig.NULL_VALUE);
131129
immutableNodeProperties.setProperty(DN_TRACING_DIR, MppBaseConfig.NULL_VALUE);

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

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,23 @@ public DataNodeConfig setLoadTsFileAnalyzeSchemaMemorySizeInBytes(
5454
return this;
5555
}
5656

57+
@Override
58+
public DataNodeConfig setMaxAllocateMemoryRatioForLoad(double maxAllocateMemoryRatioForLoad) {
59+
return this;
60+
}
61+
62+
@Override
63+
public DataNodeConfig setLoadTsFileTabletConversionBatchMemorySizeInBytes(
64+
long loadTsFileTabletConversionBatchMemorySizeInBytes) {
65+
return this;
66+
}
67+
68+
@Override
69+
public DataNodeConfig setLoadActiveListeningCheckIntervalSeconds(
70+
long loadActiveListeningCheckIntervalSeconds) {
71+
return this;
72+
}
73+
5774
@Override
5875
public DataNodeConfig setCompactionScheduleInterval(long compactionScheduleInterval) {
5976
return this;
@@ -98,4 +115,14 @@ public DataNodeConfig setDataNodeMemoryProportion(String dataNodeMemoryProportio
98115
public DataNodeConfig setQueryCostStatWindow(int queryCostStatWindow) {
99116
return this;
100117
}
118+
119+
@Override
120+
public DataNodeConfig setDnDataDirs(String dnDataDirs) {
121+
return this;
122+
}
123+
124+
@Override
125+
public DataNodeConfig setDnMultiDirStrategy(String multiDirStrategy) {
126+
return this;
127+
}
101128
}

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ public interface DataNodeConfig {
3636
DataNodeConfig setLoadTsFileAnalyzeSchemaMemorySizeInBytes(
3737
long loadTsFileAnalyzeSchemaMemorySizeInBytes);
3838

39+
DataNodeConfig setMaxAllocateMemoryRatioForLoad(double maxAllocateMemoryRatioForLoad);
40+
41+
DataNodeConfig setLoadTsFileTabletConversionBatchMemorySizeInBytes(
42+
long loadTsFileTabletConversionBatchMemorySizeInBytes);
43+
44+
DataNodeConfig setLoadActiveListeningCheckIntervalSeconds(
45+
long loadActiveListeningCheckIntervalSeconds);
46+
3947
DataNodeConfig setCompactionScheduleInterval(long compactionScheduleInterval);
4048

4149
DataNodeConfig setEnableMQTTService(boolean enableMQTTService);
@@ -53,4 +61,8 @@ DataNodeConfig setLoadTsFileAnalyzeSchemaMemorySizeInBytes(
5361
DataNodeConfig setDataNodeMemoryProportion(String dataNodeMemoryProportion);
5462

5563
DataNodeConfig setQueryCostStatWindow(int queryCostStatWindow);
64+
65+
DataNodeConfig setDnDataDirs(String dnDataDirs);
66+
67+
DataNodeConfig setDnMultiDirStrategy(String multiDirStrategy);
5668
}

0 commit comments

Comments
 (0)