Skip to content
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

(WIP) add cluster meta executor #5746

Closed
wants to merge 4 commits into from
Closed

(WIP) add cluster meta executor #5746

wants to merge 4 commits into from

Conversation

dgnorton
Copy link
Contributor

This PR adds cluster.MetaExecutor which distributes InfluxQL meta statements to all data nodes in the cluster for execution. For example, when DROP DATABASE foo is executed, it goes through the following flow:

  • HTTP API receives query
  • HTTP API passes query to cluster.QueryExecutor
  • cluster.QueryExecutor tells meta.Client to delete the database
  • cluster.QueryExecutor tells cluster.MetaExecutor to execute the statement
  • cluster.MetaExecutor creates an executeStatementRequestMessage RPC command which is sent to cluster.Service on all data nodes
  • cluster.Service dispatches command to cluster.Service.processExecuteStatementRequest
  • cluster.Service.processExecuteStatementRequest unmarshals the request, parses the statement, and passes it to cluster.Service.executeStatement
  • cluster.Service.executeStatement switches on the statement type and calls cluster.MetaWriter.DropDatabase
  • cluster.MetaWriter.DropDatabase calls tsdb.Store.DeleteDatabase

Errors propagate back from each node through RPC to the node that executed the statement on the cluster and that node returns failure if any node fails to execute.

@e-dard
Copy link
Contributor

e-dard commented Feb 19, 2016

Closing in favour of #5753.

@e-dard e-dard closed this Feb 19, 2016
@jacobmarble jacobmarble deleted the dgn-meta-rpc branch January 2, 2024 21:50
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