Merge branch 'main' into merge/mainto3.0

This commit is contained in:
Simon Guan 2025-03-17 21:42:42 +08:00
commit cf8d7cd0ac
13 changed files with 143 additions and 133 deletions

View File

@ -81,6 +81,8 @@ jobs:
-DBUILD_KEEPER=true \ -DBUILD_KEEPER=true \
-DBUILD_HTTP=false \ -DBUILD_HTTP=false \
-DBUILD_TEST=true \ -DBUILD_TEST=true \
-DWEBSOCKET=true \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_DEPENDENCY_TESTS=false -DBUILD_DEPENDENCY_TESTS=false
make -j 4 make -j 4
sudo make install sudo make install

View File

@ -72,8 +72,16 @@ TDengine Enterprise implements incremental backup and recovery of data by using
7. **Directory:** Enter the full path of the directory in which you want to store backup files. 7. **Directory:** Enter the full path of the directory in which you want to store backup files.
8. **Backup file max size:** Enter the maximum size of a single backup file. If the total size of your backup exceeds this number, the backup is split into multiple files. 8. **Backup file max size:** Enter the maximum size of a single backup file. If the total size of your backup exceeds this number, the backup is split into multiple files.
9. **Compression level:** Select **fastest** for the fastest performance but lowest compression ratio, **best** for the highest compression ratio but slowest performance, or **balanced** for a combination of performance and compression. 9. **Compression level:** Select **fastest** for the fastest performance but lowest compression ratio, **best** for the highest compression ratio but slowest performance, or **balanced** for a combination of performance and compression.
4. Users can enable S3 dumping to upload backup files to the S3 storage service. To enable S3 dumping, the following information needs to be provided:
4. Click **Confirm** to create the backup plan. 1. **Endpoint**: The address of the S3 endpoint.
2. **Access Key ID**: The access key ID for authentication.
3. **Secret Access Key**: The secret access key for authentication.
4. **Bucket**: The name of the target bucket.
5. **Region**: The region where the bucket is located.
6. **Object Prefix**: A prefix for backup file objects, similar to a directory path on S3.
7. **Backup Retention Period**: The retention duration for local backups. All files older than `current time - backup_retention_period` must be uploaded to S3.
8. **Backup Retention Count**: The number of local backups to retain. Only the latest `backup_retention_size` backup files are kept locally.
5. Click **Confirm** to create the backup plan.
You can view your backup plans and modify, clone, or delete them using the buttons in the **Operation** columns. Click **Refresh** to update the status of your plans. Note that you must stop a backup plan before you can delete it. You can also click **View** in the **Backup File** column to view the backup record points and files created by each plan. You can view your backup plans and modify, clone, or delete them using the buttons in the **Operation** columns. Click **Refresh** to update the status of your plans. Note that you must stop a backup plan before you can delete it. You can also click **View** in the **Backup File** column to view the backup record points and files created by each plan.

View File

@ -366,7 +366,7 @@ taosd 命令行参数如下:
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
#### queryNoFetchTimeoutSec #### queryNoFetchTimeoutSec
- 说明:查询中当应用长时间不 FETCH 数据时的超时时间,从最后一次响应起计时,超时自动清除任务。 <b style="color:#008026;">`内部参数`</b> - 说明:查询中当应用长时间不 FETCH 数据时的超时时间,从最后一次响应起计时,超时自动清除任务。 **`内部参数`**
- 类型整数0关闭1开启。 - 类型整数0关闭1开启。
- 默认值18000 - 默认值18000
- 最小值60 - 最小值60
@ -375,7 +375,7 @@ taosd 命令行参数如下:
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### queryPlannerTrace #### queryPlannerTrace
- 说明:查询计划是否输出详细日志 <b style="color:#008026;">`内部参数`</b> - 说明:查询计划是否输出详细日志 **`内部参数`**
- 类型整数0关闭1开启。 - 类型整数0关闭1开启。
- 默认值0 - 默认值0
- 最小值0 - 最小值0
@ -384,7 +384,7 @@ taosd 命令行参数如下:
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### queryNodeChunkSize #### queryNodeChunkSize
- 说明:查询计划的块大小 <b style="color:#008026;">`内部参数`</b> - 说明:查询计划的块大小 **`内部参数`**
- 类型:整数 - 类型:整数
- 单位byte - 单位byte
- 默认值32 * 1024 - 默认值32 * 1024
@ -394,7 +394,7 @@ taosd 命令行参数如下:
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### queryUseNodeAllocator #### queryUseNodeAllocator
- 说明:查询计划的分配方法 <b style="color:#008026;">`内部参数`</b> - 说明:查询计划的分配方法 **`内部参数`**
- 类型整数0关闭1开启。 - 类型整数0关闭1开启。
- 默认值1 - 默认值1
- 最小值0 - 最小值0
@ -403,7 +403,7 @@ taosd 命令行参数如下:
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### queryMaxConcurrentTables #### queryMaxConcurrentTables
- 说明:查询计划的分配方法 <b style="color:#008026;">`内部参数`</b> - 说明:查询计划的分配方法 **`内部参数`**
- 类型:整数 - 类型:整数
- 默认值200 - 默认值200
- 最小值INT64_M - 最小值INT64_M
@ -412,7 +412,7 @@ taosd 命令行参数如下:
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
#### queryRsmaTolerance #### queryRsmaTolerance
- 说明:查询计划的分配方法 <b style="color:#008026;">`内部参数`</b> - 说明:查询计划的分配方法 **`内部参数`**
- 类型:整数 - 类型:整数
- 默认值1000 - 默认值1000
- 最小值0 - 最小值0
@ -421,7 +421,7 @@ taosd 命令行参数如下:
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
#### enableQueryHb #### enableQueryHb
- 说明:是否发送查询心跳消息 <b style="color:#008026;">`内部参数`</b> - 说明:是否发送查询心跳消息 **`内部参数`**
- 类型整数0关闭1开启。 - 类型整数0关闭1开启。
- 默认值1 - 默认值1
- 最小值0 - 最小值0
@ -430,7 +430,7 @@ taosd 命令行参数如下:
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### pqSortMemThreshold #### pqSortMemThreshold
- 说明:排序使用的内存阈值 <b style="color:#008026;">`内部参数`</b> - 说明:排序使用的内存阈值 **`内部参数`**
- 类型:整数 - 类型:整数
- 单位MB - 单位MB
- 默认值16 - 默认值16
@ -579,7 +579,7 @@ charset 的有效值是 UTF-8。
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
#### minDiskFreeSize #### minDiskFreeSize
- 说明:当某块磁盘上的可用空间小于等于这个阈值时,该磁盘将不再被选择用于生成新的数据文件。 <b style="color:#F53F3F;">`企业版参数`</b> - 说明:当某块磁盘上的可用空间小于等于这个阈值时,该磁盘将不再被选择用于生成新的数据文件。 **`企业版参数`**
- 类型:整数 - 类型:整数
- 单位byte - 单位byte
- 默认值52428800 - 默认值52428800
@ -589,7 +589,7 @@ charset 的有效值是 UTF-8。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### s3MigrateIntervalSec #### s3MigrateIntervalSec
- 说明:本地数据文件自动上传 S3 的触发周期 <b style="color:#F53F3F;">`企业版参数`</b> - 说明:本地数据文件自动上传 S3 的触发周期 **`企业版参数`**
- 类型:整数 - 类型:整数
- 单位:秒 - 单位:秒
- 默认值3600 - 默认值3600
@ -599,7 +599,7 @@ charset 的有效值是 UTF-8。
- 支持版本:从 v3.3.4.3 版本开始引入 - 支持版本:从 v3.3.4.3 版本开始引入
#### s3MigrateEnabled #### s3MigrateEnabled
- 说明:是否自动进行 S3 迁移 <b style="color:#F53F3F;">`企业版参数`</b> - 说明:是否自动进行 S3 迁移 **`企业版参数`**
- 类型整数0:关闭1:开启。 - 类型整数0:关闭1:开启。
- 默认值0 - 默认值0
- 最小值0 - 最小值0
@ -608,24 +608,24 @@ charset 的有效值是 UTF-8。
- 支持版本:从 v3.3.4.3 版本开始引入 - 支持版本:从 v3.3.4.3 版本开始引入
#### s3Accesskey #### s3Accesskey
- 说明:冒号分隔的用户 SecretId:SecretKey <b style="color:#F53F3F;">`企业版参数`</b> - 说明:冒号分隔的用户 SecretId:SecretKey **`企业版参数`**
- 示例AKIDsQmwsfKxTo2A6nGVXZN0UlofKn6JRRSJ:lIdoy99ygEacU7iHfogaN2Xq0yumSm1E - 示例AKIDsQmwsfKxTo2A6nGVXZN0UlofKn6JRRSJ:lIdoy99ygEacU7iHfogaN2Xq0yumSm1E
- 动态修改:支持通过 SQL 修改,重启生效。 - 动态修改:支持通过 SQL 修改,重启生效。
- 支持版本:从 v3.3.4.3 版本开始引入 - 支持版本:从 v3.3.4.3 版本开始引入
#### s3Endpoint #### s3Endpoint
- 说明:用户所在地域的 COS 服务域名,支持 http 和 httpsbucket 的区域需要与 endpoint 保持一致,否则无法访问。 <b style="color:#F53F3F;">`企业版参数`</b> - 说明:用户所在地域的 COS 服务域名,支持 http 和 httpsbucket 的区域需要与 endpoint 保持一致,否则无法访问。 **`企业版参数`**
- 动态修改:支持通过 SQL 修改,重启生效。 - 动态修改:支持通过 SQL 修改,重启生效。
- 支持版本:从 v3.3.4.3 版本开始引入 - 支持版本:从 v3.3.4.3 版本开始引入
#### s3BucketName #### s3BucketName
- 说明:存储桶名称,减号后面是用户注册 COS 服务的 AppId其中 AppId 是 COS 特有AWS 和阿里云都没有,配置时需要作为 bucket name 的一部分,使用减号分隔;参数值均为字符串类型,但不需要引号。 <b style="color:#F53F3F;">`企业版参数`</b> - 说明:存储桶名称,减号后面是用户注册 COS 服务的 AppId其中 AppId 是 COS 特有AWS 和阿里云都没有,配置时需要作为 bucket name 的一部分,使用减号分隔;参数值均为字符串类型,但不需要引号。 **`企业版参数`**
- 示例test0711-1309024725 - 示例test0711-1309024725
- 动态修改:支持通过 SQL 修改,重启生效。 - 动态修改:支持通过 SQL 修改,重启生效。
- 支持版本:从 v3.3.4.3 版本开始引入 - 支持版本:从 v3.3.4.3 版本开始引入
#### s3PageCacheSize #### s3PageCacheSize
- 说明S3 page cache 缓存页数目 <b style="color:#F53F3F;">`企业版参数`</b> - 说明S3 page cache 缓存页数目 **`企业版参数`**
- 类型:整数 - 类型:整数
- 单位:页 - 单位:页
- 默认值4096 - 默认值4096
@ -636,7 +636,7 @@ charset 的有效值是 UTF-8。
- 支持版本:从 v3.3.4.3 版本开始引入 - 支持版本:从 v3.3.4.3 版本开始引入
#### s3UploadDelaySec #### s3UploadDelaySec
- 说明data 文件持续多长时间不再变动后上传至 S3 <b style="color:#F53F3F;">`企业版参数`</b> - 说明data 文件持续多长时间不再变动后上传至 S3 **`企业版参数`**
- 类型:整数 - 类型:整数
- 单位:秒 - 单位:秒
- 默认值60 - 默认值60
@ -646,7 +646,7 @@ charset 的有效值是 UTF-8。
- 支持版本:从 v3.3.4.3 版本开始引入 - 支持版本:从 v3.3.4.3 版本开始引入
#### cacheLazyLoadThreshold #### cacheLazyLoadThreshold
- 说明:缓存的装载策略 <b style="color:#008026;">`内部参数`</b> - 说明:缓存的装载策略 **`内部参数`**
- 类型:整数 - 类型:整数
- 默认值500 - 默认值500
- 最小值0 - 最小值0
@ -831,7 +831,7 @@ charset 的有效值是 UTF-8。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### audit #### audit
- 说明:审计功能开关 <b style="color:#F53F3F;">`企业版参数`</b> - 说明:审计功能开关 **`企业版参数`**
- 类型整数0:关闭1开启。 - 类型整数0:关闭1开启。
- 默认值1 - 默认值1
- 最小值0 - 最小值0
@ -840,7 +840,7 @@ charset 的有效值是 UTF-8。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### auditInterval #### auditInterval
- 说明:审计数据上报的时间间隔 <b style="color:#F53F3F;">`企业版参数`</b> - 说明:审计数据上报的时间间隔 **`企业版参数`**
- 类型:整数 - 类型:整数
- 默认值5000 - 默认值5000
- 最小值500 - 最小值500
@ -849,7 +849,7 @@ charset 的有效值是 UTF-8。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### auditCreateTable #### auditCreateTable
- 说明:是否针对创建子表开启申计功能 <b style="color:#F53F3F;">`企业版参数`</b> - 说明:是否针对创建子表开启申计功能 **`企业版参数`**
- 类型整数0:关闭1开启。 - 类型整数0:关闭1开启。
- 默认值1 - 默认值1
- 最小值0 - 最小值0
@ -858,19 +858,19 @@ charset 的有效值是 UTF-8。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### encryptAlgorithm #### encryptAlgorithm
- 说明:数据加密算法 <b style="color:#F53F3F;">`企业版参数`</b> - 说明:数据加密算法 **`企业版参数`**
- 类型:字符串 - 类型:字符串
- 动态修改:不支持 - 动态修改:不支持
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
#### encryptScope #### encryptScope
- 说明:加密范围 <b style="color:#F53F3F;">`企业版参数`</b> - 说明:加密范围 **`企业版参数`**
- 类型:字符串 - 类型:字符串
- 动态修改:不支持 - 动态修改:不支持
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
#### enableWhiteList #### enableWhiteList
- 说明:白名单功能开关 <b style="color:#F53F3F;">`企业版参数`</b> - 说明:白名单功能开关 **`企业版参数`**
- 类型整数0:关闭1开启。 - 类型整数0:关闭1开启。
- 默认值0 - 默认值0
- 最小值0 - 最小值0
@ -889,109 +889,109 @@ charset 的有效值是 UTF-8。
- 支持版本v3.1.3.2/v3.3.2.13 版本开始生效 - 支持版本v3.1.3.2/v3.3.2.13 版本开始生效
#### syncElectInterval #### syncElectInterval
- 说明:用于同步模块调试 <b style="color:#008026;">`内部参数`</b> - 说明:用于同步模块调试 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:不支持 - 动态修改:不支持
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
#### syncHeartbeatInterval #### syncHeartbeatInterval
- 说明:用于同步模块调试 <b style="color:#008026;">`内部参数`</b> - 说明:用于同步模块调试 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:不支持 - 动态修改:不支持
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
#### syncHeartbeatTimeout #### syncHeartbeatTimeout
- 说明:用于同步模块调试 <b style="color:#008026;">`内部参数`</b> - 说明:用于同步模块调试 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:不支持 - 动态修改:不支持
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
#### syncSnapReplMaxWaitN #### syncSnapReplMaxWaitN
- 说明:用于同步模块调试 <b style="color:#008026;">`内部参数`</b> - 说明:用于同步模块调试 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### arbHeartBeatIntervalSec #### arbHeartBeatIntervalSec
- 说明:用于同步模块调试 <b style="color:#008026;">`内部参数`</b> - 说明:用于同步模块调试 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### arbCheckSyncIntervalSec #### arbCheckSyncIntervalSec
- 说明:用于同步模块调试 <b style="color:#008026;">`内部参数`</b> - 说明:用于同步模块调试 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### arbSetAssignedTimeoutSec #### arbSetAssignedTimeoutSec
- 说明:用于同步模块调试 <b style="color:#008026;">`内部参数`</b> - 说明:用于同步模块调试 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### arbSetAssignedTimeoutSec #### arbSetAssignedTimeoutSec
- 说明:用于 mnode 模块调试 <b style="color:#008026;">`内部参数`</b> - 说明:用于 mnode 模块调试 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### mndLogRetention #### mndLogRetention
- 说明:用于 mnode 模块调试 <b style="color:#008026;">`内部参数`</b> - 说明:用于 mnode 模块调试 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### skipGrant #### skipGrant
- 说明:用于授权检查 <b style="color:#008026;">`内部参数`</b> - 说明:用于授权检查 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:不支持 - 动态修改:不支持
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
#### trimVDbIntervalSec #### trimVDbIntervalSec
- 说明:用于删除过期数据 <b style="color:#008026;">`内部参数`</b> - 说明:用于删除过期数据 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### ttlFlushThreshold #### ttlFlushThreshold
- 说明ttl 定时器的频率 <b style="color:#008026;">`内部参数`</b> - 说明ttl 定时器的频率 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### compactPullupInterval #### compactPullupInterval
- 说明:数据重整定时器的频率 <b style="color:#008026;">`内部参数`</b> - 说明:数据重整定时器的频率 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### walFsyncDataSizeLimit #### walFsyncDataSizeLimit
- 说明WAL 进行 FSYNC 的阈值 <b style="color:#008026;">`内部参数`</b> - 说明WAL 进行 FSYNC 的阈值 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### transPullupInterval #### transPullupInterval
- 说明mnode 执行事务的重试间 <b style="color:#008026;">`内部参数`</b> - 说明mnode 执行事务的重试间 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### mqRebalanceInterval #### mqRebalanceInterval
- 说明:消费者再平衡的时间间隔<b style="color:#008026;">`内部参数`</b> - 说明:消费者再平衡的时间间隔**`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### uptimeInterval #### uptimeInterval
- 说明:用于记录系统启动时间 <b style="color:#008026;">`内部参数`</b> - 说明:用于记录系统启动时间 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### timeseriesThreshold #### timeseriesThreshold
- 说明:用于统计用量 <b style="color:#008026;">`内部参数`</b> - 说明:用于统计用量 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
@ -1006,13 +1006,13 @@ charset 的有效值是 UTF-8。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### udfdResFuncs #### udfdResFuncs
- 说明:用于统计用量 <b style="color:#008026;">`内部参数`</b> - 说明:用于统计用量 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,重启生效。 - 动态修改:支持通过 SQL 修改,重启生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### udfdLdLibPath #### udfdLdLibPath
- 说明:用于统计用量 <b style="color:#008026;">`内部参数`</b> - 说明:用于统计用量 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,重启生效 - 动态修改:支持通过 SQL 修改,重启生效
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
@ -1046,31 +1046,31 @@ charset 的有效值是 UTF-8。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### streamAggCnt #### streamAggCnt
- 说明:并发进行聚合计算的数目 <b style="color:#008026;">`内部参数`</b> - 说明:并发进行聚合计算的数目 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:不支持 - 动态修改:不支持
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
#### checkpointInterval #### checkpointInterval
- 说明checkponit 同步间隔 <b style="color:#008026;">`内部参数`</b> - 说明checkponit 同步间隔 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,重启生效。 - 动态修改:支持通过 SQL 修改,重启生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### concurrentCheckpoint #### concurrentCheckpoint
- 说明:是否并发检查 checkpoint <b style="color:#008026;">`内部参数`</b> - 说明:是否并发检查 checkpoint **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### maxStreamBackendCache #### maxStreamBackendCache
- 说明:流计算使用的最大缓存 <b style="color:#008026;">`内部参数`</b> - 说明:流计算使用的最大缓存 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### streamSinkDataRate #### streamSinkDataRate
- 说明:用于控制流计算结果的写入速度 <b style="color:#008026;">`内部参数`</b> - 说明:用于控制流计算结果的写入速度 **`内部参数`**
- 类型:整数 - 类型:整数
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
@ -1364,7 +1364,7 @@ charset 的有效值是 UTF-8。
- 支持版本v3.3.5.0 引入 - 支持版本v3.3.5.0 引入
#### scriptDir #### scriptDir
- 说明:测试工具的脚本目录 <b style="color:#008026;">`内部参数`</b> - 说明:测试工具的脚本目录 **`内部参数`**
- 类型:字符串 - 类型:字符串
- 动态修改:不支持 - 动态修改:不支持
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
@ -1379,62 +1379,62 @@ charset 的有效值是 UTF-8。
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
#### randErrorChance #### randErrorChance
- 说明:用于随机失败测试 <b style="color:#008026;">`内部参数`</b> - 说明:用于随机失败测试 **`内部参数`**
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### randErrorDivisor #### randErrorDivisor
- 说明:用于随机失败测试 <b style="color:#008026;">`内部参数`</b> - 说明:用于随机失败测试 **`内部参数`**
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### randErrorScope #### randErrorScope
- 说明:用于随机失败测试 <b style="color:#008026;">`内部参数`</b> - 说明:用于随机失败测试 **`内部参数`**
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### safetyCheckLevel #### safetyCheckLevel
- 说明:用于随机失败测试 <b style="color:#008026;">`内部参数`</b> - 说明:用于随机失败测试 **`内部参数`**
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### experimental #### experimental
- 说明:用于一些实验特性 <b style="color:#008026;">`内部参数`</b> - 说明:用于一些实验特性 **`内部参数`**
- 动态修改:支持通过 SQL 修改,立即生效。 - 动态修改:支持通过 SQL 修改,立即生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### simdEnable #### simdEnable
- 说明:用于测试 SIMD 加速 <b style="color:#008026;">`内部参数`</b> - 说明:用于测试 SIMD 加速 **`内部参数`**
- 动态修改:不支持 - 动态修改:不支持
- 支持版本v3.3.4.3 引入 - 支持版本v3.3.4.3 引入
#### AVX512Enable #### AVX512Enable
- 说明:用于测试 AVX512 加速 <b style="color:#008026;">`内部参数`</b> - 说明:用于测试 AVX512 加速 **`内部参数`**
- 动态修改:不支持 - 动态修改:不支持
- 支持版本v3.3.4.3 引入 - 支持版本v3.3.4.3 引入
#### rsyncPort #### rsyncPort
- 说明:用于调试流计算 <b style="color:#008026;">`内部参数`</b> - 说明:用于调试流计算 **`内部参数`**
- 动态修改:不支持 - 动态修改:不支持
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
#### snodeAddress #### snodeAddress
- 说明:用于调试流计算 <b style="color:#008026;">`内部参数`</b> - 说明:用于调试流计算 **`内部参数`**
- 动态修改:支持通过 SQL 修改,重启生效。 - 动态修改:支持通过 SQL 修改,重启生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### checkpointBackupDir #### checkpointBackupDir
- 说明:用于恢复 snode 数据 <b style="color:#008026;">`内部参数`</b> - 说明:用于恢复 snode 数据 **`内部参数`**
- 动态修改:支持通过 SQL 修改,重启生效。 - 动态修改:支持通过 SQL 修改,重启生效。
- 支持版本:从 v3.1.0.0 版本开始引入 - 支持版本:从 v3.1.0.0 版本开始引入
#### enableAuditDelete #### enableAuditDelete
- 说明:用于测试审计功能 <b style="color:#008026;">`内部参数`</b> - 说明:用于测试审计功能 **`内部参数`**
- 动态修改:不支持 - 动态修改:不支持
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
#### slowLogThresholdTest #### slowLogThresholdTest
- 说明:用于测试慢日志 <b style="color:#008026;">`内部参数`</b> - 说明:用于测试慢日志 **`内部参数`**
- 动态修改:不支持 - 动态修改:不支持
- 支持版本v3.1.0.0 引入 - 支持版本v3.1.0.0 引入
@ -1488,17 +1488,17 @@ charset 的有效值是 UTF-8。
- 支持版本从v3.1.0.0 版本引入v3.3.0.0 以后废弃。 - 支持版本从v3.1.0.0 版本引入v3.3.0.0 以后废弃。
#### maxRange #### maxRange
- 说明:用于有损压缩设置 <b style="color:#008026;">`内部参数`</b> - 说明:用于有损压缩设置 **`内部参数`**
- 动态修改:支持通过 SQL 修改,重启生效。 - 动态修改:支持通过 SQL 修改,重启生效。
- 支持版本从v3.1.0.0 版本引入v3.3.0.0 以后废弃。 - 支持版本从v3.1.0.0 版本引入v3.3.0.0 以后废弃。
#### curRange #### curRange
- 说明:用于有损压缩设置 <b style="color:#008026;">`内部参数`</b> - 说明:用于有损压缩设置 **`内部参数`**
- 动态修改:支持通过 SQL 修改,重启生效。 - 动态修改:支持通过 SQL 修改,重启生效。
- 支持版本从v3.1.0.0 版本引入v3.3.0.0 以后废弃。 - 支持版本从v3.1.0.0 版本引入v3.3.0.0 以后废弃。
#### compressor #### compressor
- 说明:用于有损压缩设置 <b style="color:#008026;">`内部参数`</b> - 说明:用于有损压缩设置 **`内部参数`**
- 动态修改:支持通过 SQL 修改,重启生效。 - 动态修改:支持通过 SQL 修改,重启生效。
- 支持版本从v3.1.0.0 版本引入v3.3.0.0 以后废弃。 - 支持版本从v3.1.0.0 版本引入v3.3.0.0 以后废弃。

View File

@ -96,23 +96,23 @@ database_option: {
- 当其为负值时,在决定把一个表分配到哪个 vgroup 时只使用表名中指定长度的后缀; - 当其为负值时,在决定把一个表分配到哪个 vgroup 时只使用表名中指定长度的后缀;
- 例如:假定表名为 "v30001",当 TSDB_SUFFIX = 2 时,使用 "v300" 来决定分配到哪个 vgroup ,当 TSDB_SUFFIX = -2 时使用 "01" 来决定分配到哪个 vgroup。 - 例如:假定表名为 "v30001",当 TSDB_SUFFIX = 2 时,使用 "v300" 来决定分配到哪个 vgroup ,当 TSDB_SUFFIX = -2 时使用 "01" 来决定分配到哪个 vgroup。
- TSDB_PAGESIZE一个 vnode 中时序数据存储引擎的页大小,单位为 KB默认为 4 KB。范围为 1 到 16384即 1 KB到 16 MB。 - TSDB_PAGESIZE一个 vnode 中时序数据存储引擎的页大小,单位为 KB默认为 4 KB。范围为 1 到 16384即 1 KB到 16 MB。
- DNODES指定 vnode 所在的 DNODE 列表,如 '1,2,3',以逗号区分且字符间不能有空格<b style="color:#F53F3F;">(仅企业版支持)</b> - DNODES指定 vnode 所在的 DNODE 列表,如 '1,2,3',以逗号区分且字符间不能有空格 **仅企业版支持**
- WAL_LEVELWAL 级别,默认为 1。 - WAL_LEVELWAL 级别,默认为 1。
- 1写 WAL但不执行 fsync。 - 1写 WAL但不执行 fsync。
- 2写 WAL而且执行 fsync。 - 2写 WAL而且执行 fsync。
- WAL_FSYNC_PERIOD当 WAL_LEVEL 参数设置为 2 时,用于设置落盘的周期。默认为 3000单位毫秒。最小为 0表示每次写入立即落盘最大为 180000即三分钟。 - WAL_FSYNC_PERIOD当 WAL_LEVEL 参数设置为 2 时,用于设置落盘的周期。默认为 3000单位毫秒。最小为 0表示每次写入立即落盘最大为 180000即三分钟。
- WAL_RETENTION_PERIOD为了数据订阅消费需要 WAL 日志文件额外保留的最大时长策略。WAL 日志清理,不受订阅客户端消费状态影响。单位为 s。默认为 3600表示在 WAL 保留最近 3600 秒的数据,请根据数据订阅的需要修改这个参数为适当值。 - WAL_RETENTION_PERIOD为了数据订阅消费需要 WAL 日志文件额外保留的最大时长策略。WAL 日志清理,不受订阅客户端消费状态影响。单位为 s。默认为 3600表示在 WAL 保留最近 3600 秒的数据,请根据数据订阅的需要修改这个参数为适当值。
- WAL_RETENTION_SIZE为了数据订阅消费需要 WAL 日志文件额外保留的最大累计大小策略。单位为 KB。默认为 0表示累计大小无上限。 - WAL_RETENTION_SIZE为了数据订阅消费需要 WAL 日志文件额外保留的最大累计大小策略。单位为 KB。默认为 0表示累计大小无上限。
- COMPACT_INTERVAL自动 compact 触发周期(从 1970-01-01T00:00:00Z 开始切分的时间周期)<b style="color:#F53F3F;">仅企业版 3.3.5.0 版本开始支持</b>)。 - COMPACT_INTERVAL自动 compact 触发周期(从 1970-01-01T00:00:00Z 开始切分的时间周期)**仅企业版 3.3.5.0 版本开始支持**)。
- 取值范围0 或 [10m, keep2]单位m分钟h小时d - 取值范围0 或 [10m, keep2]单位m分钟h小时d
- 不加时间单位默认单位为天,默认值为 0即不触发自动 compact 功能; - 不加时间单位默认单位为天,默认值为 0即不触发自动 compact 功能;
- 如果 db 中有未完成的 compact 任务,不重复下发 compact 任务。 - 如果 db 中有未完成的 compact 任务,不重复下发 compact 任务。
- COMPACT_TIME_RANGE自动 compact 任务触发的 compact 时间范围(<b style="color:#F53F3F;">仅企业版 3.3.5.0 版本开始支持</b>)。 - COMPACT_TIME_RANGE自动 compact 任务触发的 compact 时间范围(**仅企业版 3.3.5.0 版本开始支持**)。
- 取值范围:[-keep2, -duration]单位m分钟h小时d - 取值范围:[-keep2, -duration]单位m分钟h小时d
- 不加时间单位时默认单位为天,默认值为 [0, 0] - 不加时间单位时默认单位为天,默认值为 [0, 0]
- 取默认值 [0, 0] 时,如果 COMPACT_INTERVAL 大于 0会按照 [-keep2, -duration] 下发自动 compact - 取默认值 [0, 0] 时,如果 COMPACT_INTERVAL 大于 0会按照 [-keep2, -duration] 下发自动 compact
- 因此,要关闭自动 compact 功能,需要将 COMPACT_INTERVAL 设置为 0。 - 因此,要关闭自动 compact 功能,需要将 COMPACT_INTERVAL 设置为 0。
- COMPACT_TIME_OFFSET自动 compact 任务触发的 compact 时间相对本地时间的偏移量(<b style="color:#F53F3F;">仅企业版 3.3.5.0 版本开始支持</b>)。取值范围:[0, 23]单位h小时默认值为 0。以 UTC 0 时区为例: - COMPACT_TIME_OFFSET自动 compact 任务触发的 compact 时间相对本地时间的偏移量(**仅企业版 3.3.5.0 版本开始支持**)。取值范围:[0, 23]单位h小时默认值为 0。以 UTC 0 时区为例:
- 如果 COMPACT_INTERVAL 为 1d当 COMPACT_TIME_OFFSET 为 0 时,在每天 0 点下发自动 compact - 如果 COMPACT_INTERVAL 为 1d当 COMPACT_TIME_OFFSET 为 0 时,在每天 0 点下发自动 compact
- 如果 COMPACT_TIME_OFFSET 为 2在每天 2 点下发自动 compact。 - 如果 COMPACT_TIME_OFFSET 为 2在每天 2 点下发自动 compact。
@ -245,7 +245,7 @@ REDISTRIBUTE VGROUP vgroup_no DNODE dnode_id1 [DNODE dnode_id2] [DNODE dnode_id3
BALANCE VGROUP LEADER; BALANCE VGROUP LEADER;
``` ```
触发集群所有 vgroup 中的 leader 重新选主,对集群各节点进行负载均衡操作。<b style="color:#F53F3F;">(企业版功能)</b> 触发集群所有 vgroup 中的 leader 重新选主,对集群各节点进行负载均衡操作。(**企业版功能**
## 查看数据库工作状态 ## 查看数据库工作状态

View File

@ -34,7 +34,7 @@ subquery: SELECT select_list
stb_name 是保存计算结果的超级表的表名,如果该超级表不存在,会自动创建;如果已存在,则检查列的 schema 信息。详见 [写入已存在的超级表](#写入已存在的超级表)。 stb_name 是保存计算结果的超级表的表名,如果该超级表不存在,会自动创建;如果已存在,则检查列的 schema 信息。详见 [写入已存在的超级表](#写入已存在的超级表)。
TAGS 子句定义了流计算中创建TAG的规则可以为每个 partition 对应的子表生成自定义的TAG值详见 [自定义 TAG](#自定义 TAG) TAGS 子句定义了流计算中创建TAG的规则可以为每个 partition 对应的子表生成自定义的TAG值详见 [自定义 TAG](#自定义-TAG)
```sql ```sql
create_definition: create_definition:
col_name column_definition col_name column_definition
@ -42,7 +42,7 @@ column_definition:
type_name [COMMENT 'string_value'] type_name [COMMENT 'string_value']
``` ```
subtable 子句定义了流式计算中创建的子表的命名规则,详见 [流式计算的 partition](#流式计算的 partition)。 subtable 子句定义了流式计算中创建的子表的命名规则,详见 [流式计算的 partition](#流式计算的-partition)。
```sql ```sql
window_clause: { window_clause: {

View File

@ -31,7 +31,7 @@ description: "TDengine 服务端、客户端和连接器支持的平台列表"
## TDengine 客户端和连接器支持的平台列表 ## TDengine 客户端和连接器支持的平台列表
目前 TDengine 的连接器可支持的平台广泛目前包括X64/X86/ARM64/ARM32/MIPS/LoongArch64 等硬件平台,以及 Linux/Win64/Win32/macOS 等开发环境。 目前 TDengine 的连接器可支持的平台广泛目前包括X64/X86/ARM64/ARM32/MIPS/LoongArch64(或Loong64) 等硬件平台,以及 Linux/Win64/Win32/macOS 等开发环境。
对照矩阵如下: 对照矩阵如下:

View File

@ -429,9 +429,8 @@ void mndDoTimerPullupTask(SMnode *pMnode, int64_t sec) {
if (sec % 5 == 0) { if (sec % 5 == 0) {
mndStreamConsensusChkpt(pMnode); mndStreamConsensusChkpt(pMnode);
} }
#endif
#ifdef USE_REPORT if (tsTelemInterval > 0 && sec % tsTelemInterval == 0) {
if (sec % tsTelemInterval == (TMIN(86400, (tsTelemInterval - 1)))) {
mndPullupTelem(pMnode); mndPullupTelem(pMnode);
} }
#endif #endif

View File

@ -1391,17 +1391,6 @@ int32_t tqStreamTaskProcessConsenChkptIdReq(SStreamMeta* pMeta, SRpcMsg* pMsg) {
if (ret) { if (ret) {
tqError("s-task:0x%x failed add check downstream failed, core:%s", req.taskId, tstrerror(ret)); tqError("s-task:0x%x failed add check downstream failed, core:%s", req.taskId, tstrerror(ret));
} }
// STaskId id = {.streamId = req.streamId, .taskId = req.taskId};
// int32_t ret1 = streamMetaAcquireTaskUnsafe(pMeta, &id, &pTask);
// if (ret1 == 0 && pTask != NULL) {
// SStreamTaskState s = streamTaskGetStatus(pTask);
// if (s.state == TASK_STATUS__STOP) {
// tqDebug("s-task:0x%x status:%s wait for it become init", req.taskId, s.name);
// streamMetaReleaseTask(pMeta, pTask);
// return TSDB_CODE_STREAM_TASK_IVLD_STATUS;
// }
// }
} else { } else {
tqDebug("vgId:%d task:0x%x stopped in follower node, not set the consensus checkpointId:%" PRId64 " transId:%d", tqDebug("vgId:%d task:0x%x stopped in follower node, not set the consensus checkpointId:%" PRId64 " transId:%d",
pMeta->vgId, req.taskId, req.checkpointId, req.transId); pMeta->vgId, req.taskId, req.checkpointId, req.transId);

View File

@ -1,20 +1,18 @@
MESSAGE(STATUS "build filter unit test") MESSAGE(STATUS "build filter unit test")
IF(TD_DARWIN) # GoogleTest requires at least C++11
# GoogleTest requires at least C++11 SET(CMAKE_CXX_STANDARD 11)
SET(CMAKE_CXX_STANDARD 11) AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SOURCE_LIST)
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SOURCE_LIST)
ADD_EXECUTABLE(filterTest ${SOURCE_LIST}) ADD_EXECUTABLE(filterTest ${SOURCE_LIST})
TARGET_LINK_LIBRARIES( TARGET_LINK_LIBRARIES(
filterTest filterTest
PUBLIC os util common gtest qcom function nodes scalar parser catalog transport PUBLIC os util common gtest qcom function nodes scalar parser catalog transport
) )
TARGET_INCLUDE_DIRECTORIES( TARGET_INCLUDE_DIRECTORIES(
filterTest filterTest
PUBLIC "${TD_SOURCE_DIR}/include/libs/scalar/" PUBLIC "${TD_SOURCE_DIR}/include/libs/scalar/"
PRIVATE "${TD_SOURCE_DIR}/source/libs/scalar/inc" PRIVATE "${TD_SOURCE_DIR}/source/libs/scalar/inc"
) )
ENDIF()

View File

@ -1,25 +1,23 @@
MESSAGE(STATUS "build scalar unit test") MESSAGE(STATUS "build scalar unit test")
IF(NOT TD_DARWIN) # GoogleTest requires at least C++11
# GoogleTest requires at least C++11 SET(CMAKE_CXX_STANDARD 11)
SET(CMAKE_CXX_STANDARD 11) AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SOURCE_LIST)
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SOURCE_LIST)
ADD_EXECUTABLE(scalarTest ${SOURCE_LIST}) ADD_EXECUTABLE(scalarTest ${SOURCE_LIST})
TARGET_LINK_LIBRARIES( TARGET_LINK_LIBRARIES(
scalarTest scalarTest
PUBLIC os util common gtest qcom function nodes scalar parser catalog transport PUBLIC os util common gtest qcom function nodes scalar parser catalog transport
) )
TARGET_INCLUDE_DIRECTORIES( TARGET_INCLUDE_DIRECTORIES(
scalarTest scalarTest
PUBLIC "${TD_SOURCE_DIR}/include/libs/scalar/" PUBLIC "${TD_SOURCE_DIR}/include/libs/scalar/"
PUBLIC "${TD_SOURCE_DIR}/source/libs/parser/inc" PUBLIC "${TD_SOURCE_DIR}/source/libs/parser/inc"
PRIVATE "${TD_SOURCE_DIR}/source/libs/scalar/inc" PRIVATE "${TD_SOURCE_DIR}/source/libs/scalar/inc"
) )
add_test( add_test(
NAME scalarTest NAME scalarTest
COMMAND scalarTest COMMAND scalarTest
) )
ENDIF()

View File

@ -2421,6 +2421,7 @@ void syncNodeVoteForTerm(SSyncNode* pSyncNode, SyncTerm term, SRaftId* pRaftId)
sError("vgId:%d, failed to vote for term, term:%" PRId64 ", storeTerm:%" PRId64, pSyncNode->vgId, term, storeTerm); sError("vgId:%d, failed to vote for term, term:%" PRId64 ", storeTerm:%" PRId64, pSyncNode->vgId, term, storeTerm);
return; return;
} }
sTrace("vgId:%d, begin hasVoted", pSyncNode->vgId);
bool voted = raftStoreHasVoted(pSyncNode); bool voted = raftStoreHasVoted(pSyncNode);
if (voted) { if (voted) {
sError("vgId:%d, failed to vote for term since not voted", pSyncNode->vgId); sError("vgId:%d, failed to vote for term since not voted", pSyncNode->vgId);
@ -3578,7 +3579,7 @@ int32_t syncNodeOnHeartbeat(SSyncNode* ths, const SRpcMsg* pRpcMsg) {
SRpcMsg rpcMsg = {0}; SRpcMsg rpcMsg = {0};
TAOS_CHECK_RETURN(syncBuildHeartbeatReply(&rpcMsg, ths->vgId)); TAOS_CHECK_RETURN(syncBuildHeartbeatReply(&rpcMsg, ths->vgId));
SyncTerm currentTerm = raftStoreGetTerm(ths); SyncTerm currentTerm = raftStoreTryGetTerm(ths);
SyncHeartbeatReply* pMsgReply = rpcMsg.pCont; SyncHeartbeatReply* pMsgReply = rpcMsg.pCont;
pMsgReply->destId = pMsg->srcId; pMsgReply->destId = pMsg->srcId;
@ -3588,6 +3589,15 @@ int32_t syncNodeOnHeartbeat(SSyncNode* ths, const SRpcMsg* pRpcMsg) {
pMsgReply->startTime = ths->startTime; pMsgReply->startTime = ths->startTime;
pMsgReply->timeStamp = tsMs; pMsgReply->timeStamp = tsMs;
// reply
TRACE_SET_MSGID(&(rpcMsg.info.traceId), tGenIdPI64());
trace = &(rpcMsg.info.traceId);
sGTrace("vgId:%d, send sync-heartbeat-reply to dnode:%d term:%" PRId64 " timestamp:%" PRId64, ths->vgId,
DID(&(pMsgReply->destId)), pMsgReply->term, pMsgReply->timeStamp);
TAOS_CHECK_RETURN(syncNodeSendMsgById(&pMsgReply->destId, ths, &rpcMsg));
if (currentTerm == 0) currentTerm = raftStoreGetTerm(ths);
sGTrace("vgId:%d, process sync-heartbeat msg from dnode:%d, cluster:%d, Msgterm:%" PRId64 " currentTerm:%" PRId64, sGTrace("vgId:%d, process sync-heartbeat msg from dnode:%d, cluster:%d, Msgterm:%" PRId64 " currentTerm:%" PRId64,
ths->vgId, DID(&(pMsg->srcId)), CID(&(pMsg->srcId)), pMsg->term, currentTerm); ths->vgId, DID(&(pMsg->srcId)), CID(&(pMsg->srcId)), pMsg->term, currentTerm);
@ -3647,9 +3657,6 @@ int32_t syncNodeOnHeartbeat(SSyncNode* ths, const SRpcMsg* pRpcMsg) {
} }
} }
// reply
TAOS_CHECK_RETURN(syncNodeSendMsgById(&pMsgReply->destId, ths, &rpcMsg));
if (resetElect) syncNodeResetElectTimer(ths); if (resetElect) syncNodeResetElectTimer(ths);
return 0; return 0;
} }

View File

@ -108,6 +108,7 @@ int32_t syncNodeOnRequestVote(SSyncNode* ths, const SRpcMsg* pRpcMsg) {
SyncTerm currentTerm = raftStoreGetTerm(ths); SyncTerm currentTerm = raftStoreGetTerm(ths);
if (!(pMsg->term <= currentTerm)) return TSDB_CODE_SYN_INTERNAL_ERROR; if (!(pMsg->term <= currentTerm)) return TSDB_CODE_SYN_INTERNAL_ERROR;
sTrace("vgId:%d, begin hasVoted", ths->vgId);
bool grant = (pMsg->term == currentTerm) && logOK && bool grant = (pMsg->term == currentTerm) && logOK &&
((!raftStoreHasVoted(ths)) || (syncUtilSameId(&ths->raftStore.voteFor, &pMsg->srcId))); ((!raftStoreHasVoted(ths)) || (syncUtilSameId(&ths->raftStore.voteFor, &pMsg->srcId)));
if (grant) { if (grant) {

View File

@ -241,20 +241,23 @@ Please refer to the [Unit Test](#31-unit-test)、[System Test](#32-system-test)
### 3.7.1 How to run tests? ### 3.7.1 How to run tests?
TSBS test can be started locally by running command below. Ensure that your virtual machine supports the AVX instruction set:
TSBS test can be started locally by running command below. Ensure that your virtual machine supports the AVX instruction set.
You need to use sudo -s to start a new shell session as the superuser (root) in order to begin the testing:
```bash ```bash
cd /usr/local/src && \ cd /usr/local/src && \
git clone https://github.com/taosdata/tsbs.git && \ git clone https://github.com/taosdata/tsbs.git && \
cd tsbs && \ cd tsbs && \
git checkout enh/chr-td-33357 && \ git checkout enh/add-influxdb3.0 && \
cd scripts/tsdbComp && \ cd scripts/tsdbComp && \
./testTsbs.sh ./tsbs_test.sh -s scenario4
``` ```
> [!NOTE] > [!NOTE]
> 1. TSBS test is written in Golang, in order to run the test smoothly, a Go proxy in China is set in above script by default. If this is not what you want, please unset it with command `sed -i '/GOPROXY/d' /usr/local/src/tsbs/scripts/tsdbComp/installTsbsCommand.sh` before starting the test. > 1. TSBS test is written in Golang. If you are unable to connect to the [international Go proxy](https://proxy.golang.org), the script will automatically set it to the [china Go proxy](https://goproxy.cn).
> 2. To check your current Go proxy setting, please run `go env | grep GOPROXY`. > 2. If you need to cancel this china Go proxy, you can execute the following command in your environment `go env -u GOPROXY`.
> 3. To check your current Go proxy setting, please run `go env | grep GOPROXY`.
### 3.7.2 How to start client and server on different hosts? ### 3.7.2 How to start client and server on different hosts?
@ -277,4 +280,9 @@ serverPass="taosdata123" # server root password
### 3.7.3 Check test results ### 3.7.3 Check test results
When the test is done, the result can be found in `/data2/` directory, which can also be configured in `test.ini`. When the test is done, the result can be found in `${installPath}/tsbs/scripts/tsdbComp/log/` directory, which ${installPath} can be configured in `test.ini`.
### 3.7.4 Test more scenario
Use `./tsbs_test.sh -h` to get more test scenarios.