-
Notifications
You must be signed in to change notification settings - Fork 152
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
"git commit" seems to break the transaction interface #610
Comments
I've written a test script which demonstrates the problem. The script assumes that
The script is:
If you have a Docker for Mac install with a working (old) datakit, the test passes like so:
If you have the latest master datakit then it fails like so:
|
I did a simple bisection of the binary PR builds from CircleCI and have:
My guess is that it was introduced in #529 |
I have identified the cause: there is a regression in the way we compare the contents of reference files. For some reasons, we do not trim the contents anymore, so I am trying to understand where does the regression come from exactly and will push a fix shortly. Thanks a lot for the nice reproduction case, it helped a lot to track that down! |
This is because `git commit` might add these. Fix moby#610 Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
This is because `git commit` might add these. Fix moby#610 Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
This is because `git commit` might add these. Fix moby#610 Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
See moby/datakit#610 for details
Changes: - git: make `Git.FS.test_and_set_references` work better with packed references (mirage/ocaml-git#291, @samoht. Fixes moby/datakit#633) - git-unix: ignore trailing newlines when doing 'test and set' on reference files (backport of moby/datakit#611, @samoht. Fixes moby/datakit#610) - git-mirage: fix linking of tests (@samoht)
If I create an empty database:
then start datakit:
and then run the Go unit tests:
-- everything passes.
If I make a commit to the database directory with
git
:then (whether I restart the server or not) running the tests hangs committing a transaction:
The test which triggers this seems to be:
If I add some printfs:
then I get
which means that the
Commit
operation is hanging.The text was updated successfully, but these errors were encountered: