Closed shvachko closed 9 years ago
took it to myself. progress can be tracked in branch issue-144. but it seems that this issue can generate a couple of smaller issues.
Andrey, could post some description of what is done in the branch, like these are the failing tests, and this is how you propose to fix them. Splitting into smaller issues generally makes sense when the changes grows too big.
I thought that it would be bigger. But now it happens that most tests can be fixed with just a couple of lines. Every commit in this branch has messsage on what was done. At the end I squash them and produce single commit message.
Posting your commit messages. They will be lost after merging and removing the branch
git merge --squash will create commit message with all commit messages of squashed commits. so it can be done right before final merge. but agree, we can keep changelog there.
Looks like the right approach. There are two tests failing on your branch:
TestGiraffaFS
, because PathIsNotEmptyDirectoryException
is not handled.TestRename
, because it gets incorrect full path with missing slashes:java.io.IOException: Cannot calculate key for a relative path: grfa:/user/shv/test
This should be related to the implementation of getScheme()
IOException
in TestGiraffaFSContract
Thank you for finding that. Fixed tests and added comments to tests, which couldn't be fixed right now. That mostly about rename seamantics, which has a long story in HADOOP-6240 so we either should make our behaviour match hdfs behaviour, or just left this as is. And for sure changes in behaviour are out of scope of this issue.
+1 for the patch. We should make Giraffa rename behave as FSContract requires to be fully compatible. @milandesai should look at it. Agreed in another issue.
Just committed this. Thank you, Andrey.
A few tests in
TestGiraffaFSContract
are overridden as no-op to avoid the test failure. Some of them can in fact be fixed by adjusting the responses to RPC calls in Giraffa. EventuallyTestGiraffaFSContract
should pass for Giraffa entirely.