Skip to content

merge: from main to 3.0#34603

Merged
guanshengliang merged 18 commits into
3.0from
main
Feb 27, 2026
Merged

merge: from main to 3.0#34603
guanshengliang merged 18 commits into
3.0from
main

Conversation

@guanshengliang
Copy link
Copy Markdown
Contributor

Description

Issue(s)

  • Close/close/Fix/fix/Resolve/resolve: Issue Link

Checklist

Please check the items in the checklist if applicable.

  • Is the user manual updated?
  • Are the test cases passed and automated?
  • Is there no significant decrease in test coverage?

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request merges changes from the main branch into the 3.0 branch, primarily focusing on documentation updates for various configuration parameters, enhancements to Xnode task creation error handling, and adjustments to default log retention settings for taoskeeper. It also includes updates to client-side message handling and test cases for supertables and Xnode functionality.

Highlights

  • Configuration Parameter Updates: The maximum value for supportVnodes in taosd was reduced from 4096 to 1024, and the default maxSQLLength for taosc was adjusted with updated supported versions.
  • Log Retention Defaults: Default log retention days (keepDays) and rotation count (rotationCount) for taoskeeper were significantly reduced from 30/5 to 3/3 across configuration files and Go source.
  • Database Compaction Parameters: New parameters COMPACT_INTERVAL, COMPACT_TIME_RANGE, and COMPACT_TIME_OFFSET were added to the database options documentation, enabling more granular control over automatic compaction.
  • Xnode Task Error Handling: Improved error handling for Xnode task creation, allowing the system to capture and report specific HTTP error messages from the Xnode service.
  • Client Message Handling: Added a new response handler for TDMT_MND_CREATE_XNODE_TASK messages in the client, improving communication for Xnode operations.
  • Test Case Enhancements: Expanded test coverage for supertable queries with tbname in filters, including virtual tables, and added a test for Xnode task creation with long column names.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • docs/en/14-reference/01-components/01-taosd.md
    • Updated the maximum value for supportVnodes from 4096 to 1024.
  • docs/en/14-reference/01-components/02-taosc.md
    • Updated the default value and supported versions for maxSQLLength.
  • docs/en/14-reference/01-components/06-taoskeeper.md
    • Modified the default log.keepDays from 30 to 3 and log.rotationCount from 5 to 3.
  • docs/en/14-reference/03-taos-sql/02-database.md
    • Added documentation for new database compaction parameters: COMPACT_INTERVAL, COMPACT_TIME_RANGE, and COMPACT_TIME_OFFSET.
  • docs/zh/14-reference/01-components/01-taosd.md
    • Updated the maximum value for supportVnodes from 4096 to 1024 (Chinese documentation).
  • docs/zh/14-reference/01-components/02-taosc.md
    • Updated the default value and supported versions for maxSQLLength (Chinese documentation).
  • docs/zh/14-reference/01-components/06-taoskeeper.md
    • Modified the default log.keepDays from 30 to 3 and log.rotationCount from 5 to 3 (Chinese documentation).
  • source/client/src/clientMsgHandler.c
    • Implemented processCreateXnodeTaskRsp to handle Xnode task creation responses.
    • Registered the new response handler for TDMT_MND_CREATE_XNODE_TASK messages.
  • source/client/src/clientTmq.c
    • Corrected the initialization of the code variable in processMqRspError.
  • source/common/src/tglobal.c
    • Adjusted the maximum allowed value for the supportVnodes configuration parameter to 1024.
  • source/dnode/mnode/impl/src/mndXnode.c
    • Enhanced Xnode task creation validation to capture and return __inner_error messages from JSON responses.
    • Initialized code to 0 in mndProcessCreateXnodeTaskReq.
    • Disabled verbose output for curl requests.
    • Corrected goto labels from _OVER to _EXIT for error handling.
    • Improved error message handling for mndSendReqRetJson by adding __inner_error to the JSON response.
  • source/dnode/vnode/src/vnd/vnodeStream.c
    • Incremented rsp->totalRows when processing meta data in scanSubmitData.
  • test/cases/04-SuperTables/04-Query/test_stable_query_tbname_filter.py
    • Imported the time module.
    • Added a time.sleep(3) before database creation.
    • Changed tdSql.prepare("db1", drop=True) to tdSql.execute(f"create database db1 vgroups 1").
    • Included tests for virtual tables (vst1, vtb1, vtb2).
    • Expanded test cases for tbname in filters with OR and AND conditions, and non-existent table names.
  • test/cases/23-ShowCommands/test_show_basic.py
    • Updated the expected value and SQL command for testing supportVnodes to 1024.
  • test/cases/42-Xnode/test_xnode.py
    • Added a test case to verify failure when creating an Xnode task with a very long column name in the source URL.
  • tools/keeper/config/taoskeeper.toml
    • Updated default rotationCount to 3 and keepDays to 3.
  • tools/keeper/config/taoskeeper_enterprise.toml
    • Updated default rotationCount to 3 and keepDays to 3.
  • tools/keeper/infrastructure/config/log.go
    • Defined defaultLogRotationCount and defaultLogKeepDays constants and applied them to log.rotationCount and log.keepDays settings.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request is a merge from the main branch and includes a variety of changes. My review has identified a potential null pointer dereference in mndXnode.c which could lead to a crash, and a documentation inconsistency in the Chinese version of taosc.md. Other changes, including bug fixes and test additions, appear to be correct.

Comment on lines 4055 to +4056
pJson = tjsonCreateObject();
goto _OVER;
}

pJson = tjsonParse(curlRsp.data);
if (pJson == NULL) {
terrno = TSDB_CODE_INVALID_JSON_FORMAT;
goto _OVER;
char *buf = taosMemCalloc(1, curlRsp.dataLen + 1);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

tjsonCreateObject() and taosMemCalloc() can return NULL if memory allocation fails. The returned pointers pJson and buf are used without being checked, which could lead to a crash. Please add NULL checks after these calls to handle potential memory allocation failures gracefully.

    pJson = tjsonCreateObject();
    if (pJson == NULL) {
      terrno = TSDB_CODE_NO_MEMORY;
      goto _EXIT;
    }
    char *buf = taosMemCalloc(1, curlRsp.dataLen + 1);
    if (buf == NULL) {
      tjsonDelete(pJson);
      pJson = NULL;
      terrno = TSDB_CODE_NO_MEMORY;
      goto _EXIT;
    }

- 最大值:67108864
- 动态修改:支持通过 SQL 修改,立即生效
- 支持版本:从 v3.3.6.34 版本开始引入
- 支持版本:从 v3.3.6.34、v3.3.8.8 版本开始引入
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The English version of this documentation (docs/en/14-reference/01-components/02-taosc.md) was updated to change the default value of maxSQLLength from 4,194,304 to 1,048,576. This change is missing in the Chinese documentation on line 338. Please update it for consistency.

@guanshengliang guanshengliang merged commit beb8742 into 3.0 Feb 27, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants