Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
HADOOP-13345
-
None
Description
UPDATE: Instead of changing the test, in this JIRA we make sure for each path to put, DDBMS::move() has records of each directory up to the root. See Aaron Fabbri's comment in this JIRA for more detail.
After running ITestDynamoDBMetadataStoreScale, the test data is not cleaned up. There is a call to clearMetadataStore(ms, count); in the finally clause though. The reason is that, the internally called method DynamoDBMetadataStore::deleteSubtree() is assuming there should be an item for the parent dest path:
parent=/fake-bucket, child=moved-here, is_dir=true
In DynamoDBMetadataStore implementation, we assume that if a path exists, all its ancestors will also exist in the table. We need to pre-create dest path to maintain this invariant so that test data can be cleaned up successfully.
I think there may be other tests with the same problem. Let's identify/address them separately.