Skip to content

chore: update leader HTTP API#7836

Draft
shuiyisong wants to merge 3 commits intoGreptimeTeam:mainfrom
shuiyisong:chore/leader_api
Draft

chore: update leader HTTP API#7836
shuiyisong wants to merge 3 commits intoGreptimeTeam:mainfrom
shuiyisong:chore/leader_api

Conversation

@shuiyisong
Copy link
Copy Markdown
Contributor

I hereby agree to the terms of the GreptimeDB CLA.

Refer to a related PR or issue link (optional)

What's changed and what's your intention?

Update the response format of the /admin/leader HTTP API on the meta-srv.

Before:

❯ curl localhost:3100/admin/leader
127.0.0.1:3002

After:

❯ curl localhost:3100/admin/leader | jq
{
  "leader_addr": "127.0.0.1:3002",
  "is_leader": true
} 

PR Checklist

Please convert it to a draft if some of the following conditions are not met.

  • I have written the necessary rustdoc comments.
  • I have added the necessary unit tests and integration tests.
  • This PR requires documentation updates.
  • API changes are backward compatible.
  • Schema or data changes are backward compatible.

Signed-off-by: shuiyisong <xixing.sys@gmail.com>
@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 refines the /admin/leader HTTP API within the meta-srv component by transitioning its output from a simple string to a more comprehensive JSON format. This change aims to provide richer, machine-readable information about the leader's status and address, thereby improving the API's utility and integration capabilities for clients. The modification involves defining a new data structure for the response and updating the API handler to serialize this structure into JSON.

Highlights

  • API Response Format Update: The /admin/leader HTTP API on the meta-srv has been updated to return a structured JSON object instead of a plain string. The new response includes leader_addr and is_leader fields.
  • New Data Structure: A new LeaderResponse struct was introduced to define the structure of the JSON response, facilitating serialization and deserialization.
  • Handler Logic Refinement: The get handler for the leader API was modified to utilize the new LeaderResponse struct and axum::Json for proper JSON formatting in the HTTP response.
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.

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.

@github-actions github-actions bot added the docs-not-required This change does not impact docs. label Mar 19, 2026
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 updates the /admin/leader HTTP API to return a JSON object instead of plain text. This is a good improvement for machine-readability. The implementation is mostly correct, and I've suggested a small refactoring to make the code more idiomatic and concise.

Signed-off-by: shuiyisong <xixing.sys@gmail.com>
Signed-off-by: shuiyisong <xixing.sys@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs-not-required This change does not impact docs. size/XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant