-
Notifications
You must be signed in to change notification settings - Fork 673
Delete() doesn't work if Auth doesn't contain the ACL of the child path #52
Comments
After further investigation, it seems that IF the child has at least one non-world ACL, the delete function requires the connection to have at least one added Auth, even though that Auth might be for an user which has only read rights, not admin. The Auth user credentials added must be from an existent ACL set for the child, otherwise you get the same error. |
Tested further: I put an ACL for the parent, and give just that Auth to the session where I want to delete the child. It doesn't work. When I add one auth from the list of child's ACLs, it works. |
I've tried a workaround, to create a "fake" user with no permissions, and use that ACL as auth. It doesn't work. So it must be an user with some rights, read works fine. |
Are you able to reproduce this with |
No, that's the issue, with zkCli works as expected. |
Any updates? |
Any updates? 👍 |
Unfortunately, I don't have much time to look into this and haven't run into it myself. If you're able to pin down the specifics that would help a lot. One place to start would be to use the debug proxy (tracer) to dump out what zkCli is doing and compare it against this package to see the difference. |
Steps to reproduce:
Expected result: Child should be deleted as the parent has world anyone ACL, and the permission for deletion is managed by the parent, not the child, as stated in docs: "DELETE: you can delete a child node"
Actual result: I get this error: zk: not authenticated
The text was updated successfully, but these errors were encountered: