Skip to content

Conversation

stmatengss
Copy link
Collaborator

No description provided.

@stmatengss stmatengss requested review from xiaguan and ykwd August 18, 2025 07:24
std::string memory_allocator;

// HTTP metadata server configuration
bool enable_http_metadata_server;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Would a std::optionalstd::string suffice for this case?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Would a std::optionalstd::string suffice for this case?

Sure

@ykwd
Copy link
Collaborator

ykwd commented Aug 18, 2025

Could you clarify why the metadata server needs to be started in the master process?

@stmatengss
Copy link
Collaborator Author

Could you clarify why the metadata server needs to be started in the master process?

It will make deployment easier. By the way, as future work, we can make the HTTP metadata server more robust using master's high-availability protocol.

@ykwd
Copy link
Collaborator

ykwd commented Aug 18, 2025

Could you clarify why the metadata server needs to be started in the master process?

It will make deployment easier. By the way, as future work, we can make the HTTP metadata server more robust using master's high-availability protocol.

Could you elaborate a bit more on why this makes deployment easier? From what I can see, the master process is only running a bash command like:

python3 -m mooncake.http_metadata_server --args...

It seems this could just as well be executed directly from a deployment script. In fact, in some cases, this would be more flexible.

Also, since the metadata server already supports etcd, and given that master high availability also relies on etcd, wouldn’t it make sense to simply use the etcd metadata server directly?

@stmatengss
Copy link
Collaborator Author

Could you clarify why the metadata server needs to be started in the master process?

It will make deployment easier. By the way, as future work, we can make the HTTP metadata server more robust using master's high-availability protocol.

Could you elaborate a bit more on why this makes deployment easier? From what I can see, the master process is only running a bash command like:

python3 -m mooncake.http_metadata_server --args...

It seems this could just as well be executed directly from a deployment script. In fact, in some cases, this would be more flexible.

Also, since the metadata server already supports etcd, and given that master high availability also relies on etcd, wouldn’t it make sense to simply use the etcd metadata server directly?

It simply offers a convenient way to deploy the Mooncake master and metadataserver together. We can also include etcd as an optional component. I suggest adding a new parameter to enable more flexible deployment. Or we can use a c++ based http server on the master side?

@stmatengss stmatengss closed this Aug 21, 2025
@stmatengss stmatengss force-pushed the wrap_mooncake_master branch from 5d13d5e to b63322c Compare August 21, 2025 07:37
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.

3 participants