xline-kv / Xline

A geo-distributed KV store for metadata management
https://xline.cloud
Apache License 2.0
565 stars 71 forks source link

[Improvement] Check if the parameters client-listen-urls and peer-listen-urls are provided when starting Xline. #691

Closed Phoenix500526 closed 3 months ago

Phoenix500526 commented 3 months ago

During the startup process of Xline, certain essential command-line parameters such as --member and --storage-engine are checked. When these parameters are missing from the startup command, an error occurs as follows:

$ ./xline --name node1
error: the following required arguments were not provided:
  --members <MEMBERS>
  --storage-engine <STORAGE_ENGINE>
  --data-dir <DATA_DIR>

Usage: xline --name <NAME> --members <MEMBERS> --storage-engine <STORAGE_ENGINE> --data-dir <DATA_DIR> [CURP_DIR]

However, there is a lack of validation for --client-listen-urls and --peer-listen-urls. When these two parameters are missing from the startup command, Xline can initiate, but it eventually exits due to the error No address to bind. Therefore, it is necessary to include validation for these two parameters during startup.

ChaudharyRaman commented 3 months ago

Hi @Phoenix500526 , I am Raman from India, I recently joined the X-Line Community and currently going through codebase and understanding the code, I think this could be a good first issue i could work on and show my contribution. Please assign this issue to me.

Phoenix500526 commented 3 months ago

Ok, thanks to your contribution!

ChaudharyRaman commented 3 months ago

@Phoenix500526 Just one request actually, can we arrange a workshop for all new joiners like me who wants to contribute to X-Line about demo to xline, understanding Xline, its codebase and also to engaging community.

Phoenix500526 commented 3 months ago

If you're looking for a demo of Xline, you can refer to our quick_start doc. For insights into the design and implementation considerations of Xline, please visit the xline official website. We regularly post blogs on the website about the design and implementation of Xline. If you have any feedback or questions about Xline itself, or anything you're unsure about, you can also ask in our Discord channel. Additionally, Xline hosts community meetings where everyone can participate and discuss development issues related to Xline.