[Build] Skip etcd go package compilation by default#520
[Build] Skip etcd go package compilation by default#520ykwd merged 3 commits intokvcache-ai:mainfrom
Conversation
|
I believe using a compilation option named USE_STORE_HA would be more appropriate. Here's why: ETCD is a core dependency for the current High Availability (HA) feature implementation:
Therefore, if users want to enable HA features, they should be explicitly required to include ETCD wrapper at compilation time without the ability to circumvent this dependency. This ensures architectural consistency and prevents runtime failures. In summary, I think an option to control the whole HA feature is better. |
Good suggestion. Actually, I am also hesitating about using USE_STORE_HA. As you mentioned, this will be easier to understand and more straightforward to use. On the other hand, there are drawbacks, too:
|
stmatengss
left a comment
There was a problem hiding this comment.
Etcd installation is painful for users who don't need it. LGTM
|
Hi @ykwd , I'm a bit confused about the difference between |
It is indeed a little confusing. Let me explain:
|
|
You can take a look at this PR as a reference for adding a CI test(#473), so we can make sure it builds successfully without needing Go installed |
|
I updated the readme doc to make it less confusing |
Good idea. Given that the build-without-store task in the CI test(#473) contains a large amount of code, we may want to use a matrix strategy to reuse it across different compile options. |
) By default, the STORE_USE_ETCD compile option is OFF. In this case, the compiling of store does not depend on the go etcd wrapper. If users want to use the high availability feature in store, then set the STORE_USE_ETCD to ON. In the CI and Release, this option is set to ON. Update the readme to explain this compile option.
) By default, the STORE_USE_ETCD compile option is OFF. In this case, the compiling of store does not depend on the go etcd wrapper. If users want to use the high availability feature in store, then set the STORE_USE_ETCD to ON. In the CI and Release, this option is set to ON. Update the readme to explain this compile option.
As suggested in the comments of #501 , we'd better let users build mooncake-store without compiling the go etcd wrapper.
Content of this PR: