Skip to content

[store] meta: support remote write; refactor boot()#528

Merged
bohutang merged 1 commit into
databendlabs:masterfrom
drmingdrmer:meta-remote-write
May 13, 2021
Merged

[store] meta: support remote write; refactor boot()#528
bohutang merged 1 commit into
databendlabs:masterfrom
drmingdrmer:meta-remote-write

Conversation

@drmingdrmer

Copy link
Copy Markdown
Member
  • Dfs: operates meta through MetaNode, instead of through RPC.

  • MetaNode: separate initialization functions:

    • MetaNode::boot() to setup a new cluster with one node.
    • MetaNode::boot_non_voter() to initialize a node that is going to
      be added to an existent cluster.
    • MetaNode::new() to start a initialized node that belongs to a
      cluster.
  • MetaNode: new() now gets everything ready. There is no need to start
    meta-grpc manually.

  • MetaNode: add several util func to operating on cluster info, such as
    get_node_addr() and add_node().

  • MetaNode: remove cached metrics data. Use raft metrics channel
    instead, which provides blocking watch and data cache.

  • MetaNode: add builder() to create a customizable constructor.

  • MetaNode: support forwarded write to the remote leader. A non-leader node
    use MetaNode::write() to commit a meta changes.

  • MetaNode: get_leader() to retrieve the latest leader the node knows
    of.

Changelog

  • New Feature
  • Improvement

Related Issues

#271

- Dfs: operates meta through MetaNode, instead of through RPC.

- MetaNode: separate initialization functions:
    - MetaNode::boot() to setup a new cluster with one node.
    - MetaNode::boot_non_voter() to initialize a node that is going to
      be added to an existent cluster.
    - MetaNode::new() to start a initialized node that belongs to a
      cluster.

- MetaNode: new() now gets everything ready. There is no need to start
  meta-grpc manually.

- MetaNode: add several util func to operating on cluster info, such as
  get_node_addr() and add_node().

- MetaNode: remove cached metrics data. Use raft metrics channel
  instead, which provides blocking watch and data cache.

- MetaNode: add builder() to create a customizable constructor.

- MetaNode: support forwarded write to remote leader. A non-leader node
  use MetaNode::write() to commit a meta changes.

- MetaNode: get_leader() to retrieve the latest leader the node knows
  of.
@bohutang
bohutang merged commit 80d01a7 into databendlabs:master May 13, 2021
@drmingdrmer
drmingdrmer deleted the meta-remote-write branch May 13, 2021 06:19
@drmingdrmer drmingdrmer mentioned this pull request May 13, 2021
23 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants