Details
Description
There are some cases of space quota that need to be tested for heterogenous storages. It's quite important to ensure space quota works well in modern clusters typically built out of diversified storage structures. This proposes adding new tests to cover the following scenarios.
- Tests space quota for storage policy = WARM
- Tests if changing replication factor results in copying file as quota doesn't exceed
- Tests if clear quota per heterogenous storage doesnt result in clearing quota for another storage
The following cases have been covered.
- Tests space quota for storage policy = ALL_SSD, covered by TestQuotaByStorageType#testQuotaByStorageTypeWithFileCreateAllSSD
- Tests if overall space quota exceeds even if particular storage space quota is available, covered by
TestQuotaByStorageType#testQuotaByStorageTypeAndTraditionalQuotaException3 - Tests spaceQuota for storage policy = Cold, covered by TestQuotaByStorageType#testQuotaByStorageTypeWithTraditionalQuota
- Tests if quota exceeds for DISK storage even if overall space quota is available, covered by
TestQuotaByStorageType#testQuotaByStorageTypeAndTraditionalQuotaException2 - Tests space quota with append operation, covered by TestQuotaByStorageType#testQuotaByStorageTypeWithFileCreateAppend
- Sanity Test : Checks if copy command fails if quota is exceeded, covered by
TestQuotaByStorageType#testQuotaByStorageTypeParent*Child* - Tests space quota with remove operation, covered by TestQuotaByStorageType#testQuotaByStorageTypeWithFileCreateDelete
- Tests space quota with Snapshot operation, covered by TestQuotaByStorageType#testQuotaByStorageTypeWithSnapshot
- Tests space quota with truncate operation, coveved by TestQuotaByStorageType#testQuotaByStorageTypeWithFileCreateTruncate
- Tests space quota remains valid even with Namenode restart, covered by TestQuotaByStorageType#testQuotaByStorageTypePersistenceInEditLog and TestQuotaByStorageType#testQuotaByStorageTypePersistenceInFsImage