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

feat: Add user guide for compaction offload #158

Merged
merged 5 commits into from
Nov 22, 2024

Conversation

LeslieKid
Copy link
Contributor

@LeslieKid LeslieKid commented Nov 19, 2024

Close #156

```toml
[analytic.compaction_mode]
compaction_mode = "Offload"
node_picker = "Remote"
Copy link
Contributor

Choose a reason for hiding this comment

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

endpoint is also required?

@@ -187,9 +187,27 @@ timeout = "5s"
server_addrs = ['http://{HoraeMetaAddr}:2379']
```

### Compaction Offload

Compaction offload is also supported in `WithMeta` mode. To enable compaction offload, the compaction mode of HoraeDB Server should be configured as remote compaction:
Copy link
Contributor

Choose a reason for hiding this comment

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

IMO, the current implementation doesn't depend on horaemeta?

[analytic.compaction_mode]
compaction_mode = "Offload"
node_picker = "Local"
endpoint = "{RemoteCompactionServerAddr}:{RemoteCompactionServerGrpcPort}"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The remote node picker is not supported without horaemeta. Currently, we need to use local node picker and specify the endpoint.

endpoint = "{RemoteCompactionServerAddr}:{RemoteCompactionServerGrpcPort}"
```

A Compaction Server, responsible for executing the compaction task, is also needed. The configuration of Compaction Server is similar to the HoraeDB Server, except that the node type (default `HoraeDB`) should be set to `CompactionServer`:
Copy link
Contributor

Choose a reason for hiding this comment

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

except that the node type (default HoraeDB) should be set to CompactionServer:

This is required?

In apache/horaedb#1573, you don't configure node_type.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is required?

Right. It is not required. It is used to help horaemeta distinguish the horaedb node and compaction node, which is not supported now.

Copy link
Contributor

@jiacai2050 jiacai2050 left a comment

Choose a reason for hiding this comment

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

Thanks, LGTM.

@jiacai2050 jiacai2050 merged commit 9dcbfd4 into apache:main Nov 22, 2024
1 check passed
@jiacai2050
Copy link
Contributor

jiacai2050 commented Nov 22, 2024

@LeslieKid Welcome to join our community, we are implementing a new engine, and lots of work waiting to be done.

Or just ping me(id: jiacai2050) if you are already in our Discord/Dingtalk group.

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.

Add how to use remote compaction docs
2 participants