Donal Magennis created HDDS-13708:
-------------------------------------
Summary: Missing directory from FSO Bucket listStatus calls while
performing renames
Key: HDDS-13708
URL: https://issues.apache.org/jira/browse/HDDS-13708
Project: Apache Ozone
Issue Type: Bug
Affects Versions: 1.4.1, 1.4.0
Reporter: Donal Magennis
Attachments: ListStatusInconsistencyTest.java
We encountered an issue in 1.4.0 and 1.4.1 were we receive inconsistent
directory listings from the FSO bucket listStatus calls. This results in
missing data in our application.
This issue does not exist in master or in 1.3.0.
We have traced that the issue was introduced in
[https://github.com/apache/ozone/commit/6cdc3795836c115858130ea540d17a7bdf976723]
and subsequently resolved in
[https://github.com/apache/ozone/commit/fa9842682a49863809b3bd4b05e238c8a91df6d1].
This is reproducible in the attached integration test -
hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/ListStatusInconsistencyTest.java.
For reference the test:
creates 50 dirs in setup in the format:
/basePath/dir1/dir1/key1
/basePath/dir2/dir2/key2
..Etc
This ensures every directory is explicitly created with some content
pre-listing.
The test then spins up some threads to generate create/renanmes concurrently
across the directories e.g.
create - /basePath/dir<1..50>/file<1..1000>._copying
rename - /basePath/dir1/file1._copying /basePath/dir1/file1
At the same time the main thread is listing /basePath/.
We expect to see 50 directories every listing, but eventually do not and the
test fails reliably.
When renaming a child key, the parent directory can "disappear" from the
listing of the grandparent. We do not believe this in line with consistency
guarantees for ozone.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]