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
Elektrad-v2 (written in Go) #2827
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The documentation is missing which makes it difficult to review the PR. Please write a README.md describing what the binding offers and how to use it (in a tutorial style).
Something went wrong here (huge changes unrelated to go), please rebase. |
Since the go bindings are now in their own repository I've removed them from this PR and added only the elektrad-v2 changes (hence the rename of the PR). |
If I understood you correctly you will also make changes in the API. I think it is then of little use to keep the old elektrad, as it will not be able to communicate with the updated webd. So you can simply remove the old elektrad and replace it with your implementation. (Unless you want some prereleases to be merged, then we better wait until the implementation is feature-complete.) |
Elektradv2 is more or less feature complete (read: same features as the Elektradv1). Still missing:
Any other suggestions or help would be appreciated? @markus2330 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, please finish the missing parts of this list. Documentation is very sparse.
Do you already noticed differences in the performance? Does the Web UI fully work now?
Is the current elektrad deployed automatically somehow?
Yes, see scripts/jenkins/Jenkinsfile buildWebUI and deployWebUI. It uses Docker for deployment.
@markus2330 I would like to test the performance of elektrad with many keys but if i import https://github.com/ElektraInitiative/blobs/tree/master/configs/real-world my `get commands are failing with these messages
Output of
|
I think the problem is, that we removed the |
Okay - are there any other key collections I can import? |
If you want a relatively large key collection you can use kdb import user yamlcpp < generated_100000.yaml
# `kdb import user yanlr < generated_100000.yaml` or
# `kdb import user yambi < generated_100000.yaml` should also work . The data in the file does not represent real configuration data though, unless you only want to store UUIDs in your database 😊. |
How did you import it? https://github.com/ElektraInitiative/blobs/tree/master/configs/real-world also contains different test data. There is no simplespeclang involved. Maybe you have wrong mountpoints? Try |
I ran the |
So the first request of The client however is is unresponsive and crashes because of the many requests. |
Thank you for looking into it. Seems like optimizations in the client are essential. |
@raphi011 can you please create an issue about that imports that do not work? (If the error still exists, maybe it was only some problem in your local setup.) |
@markus2330 are there any arguments against removing the key arguments in the signatures of
and only return them wrapped as an error if necessary? So instead of
you can do this:
Would feel more like go |
The C++ binding allows both (with and without parentKey as argument). |
Go does not allow overloading functions, and two methods would probably be confusing. Because the key is really only for error purposes I've already removed it - I hope that is ok? |
It is okay! |
Hi @markus2330, seems like the build is green - could you take another look at the PR? |
i can reproduce this error, will take a look! |
i fixed it, could you take a look? |
Thank you! Now it does not crash instantly, but when i create a few keys under |
Any idea why the build is failing? |
Yes, the python2 package was removed from homebrew. I will remove from the cirrus builds. Not sure what is going on on travis-ci. |
@raphi011 thanks for noticing the CI problems, they are fixed on master. Please rebase because a simple build re-trigger did not work (looks like travis does not merge the changes with master). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you so much for putting in the work! It looks good now, no crashes even after a while. Code looks good, only minor points regarding docu.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, everything looks great! Just one question regarding the builds.
@raphi011 thank you for the clarifications. Is the PR ready to merge or do you have any more changes? |
Merge please ✌️ |
@raphi011 great work! Thank you for rewriting and improving |
Basics
Check relevant points but please do not remove entries.
Do not describe the purpose of this PR in the PR description but:
doc/news/_preparation_next_release.md
which contains_(my name)_
)Please always add something to the the release notes.
(first line should have
module: short statement
syntax)close #X
, should be in the commit messages.Checklist
Check relevant points but please do not remove entries.
For docu fixes, spell checking, and similar none of these points below
need to be checked.
Review
Reviewers will usually check the following:
Labels
say that everything is ready to be merged.