-
Notifications
You must be signed in to change notification settings - Fork 5k
merge: from 3.3.6 to main branch #33235
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Summary of ChangesHello @guanshengliang, 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 focuses on enhancing the stability, observability, and maintainability of the system. It introduces more explicit error handling in client-side C examples, improves the robustness of dnode-mnode communication by handling RPC timeouts, and provides clearer error diagnostics during mnode startup. Additionally, it refines the monitoring framework's gauge registration process for better code quality. Highlights
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this 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 merges changes from the 3.3.6 release branch into main. The changes primarily focus on improving error handling, logging, and maintainability in several C source files. For instance, error messages in mndMain.c are now more descriptive, and a magic number in monFramework.c has been replaced for better code clarity. While most changes are beneficial, I've identified a potential issue in dmHandle.c where an incorrect error code might be logged in a timeout scenario, which could hinder debugging efforts. My feedback includes a suggestion to correct this.
| dInfo("Rotate mnode ep set since failed to SendRecv status req %s, epSet:%s, inUse:%d", tstrerror(rpcRsp.code), | ||
| tbuf, epSet.inUse); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the case of a timeout error (code == TSDB_CODE_TIMEOUT_ERROR), the rpcRsp structure may not be populated, and rpcRsp.code could contain an uninitialized or incorrect value. Using tstrerror(rpcRsp.code) in the dInfo log message might lead to misleading or incorrect error logging. It would be safer and more accurate to use tstrerror(code) here, which reflects the actual timeout error that occurred. This would be consistent with the dError log message on line 278.
dInfo("Rotate mnode ep set since failed to SendRecv status req %s, epSet:%s, inUse:%d", tstrerror(code),
tbuf, epSet.inUse);
Description
Please briefly describe the code changes in this pull request.
Checklist
Please check the items in the checklist if applicable.