Details
-
Test
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.7.1
-
None
-
Reviewed
Description
Running org.apache.hadoop.hdfs.server.namenode.TestDiskspaceQuotaUpdate failing with the following error
Running org.apache.hadoop.hdfs.server.namenode.TestDiskspaceQuotaUpdate
Tests run: 6, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 19.828 sec <<< FAILURE! - in org.apache.hadoop.hdfs.server.namenode.TestDiskspaceQuotaUpdate
testAppendOverTypeQuota(org.apache.hadoop.hdfs.server.namenode.TestDiskspaceQuotaUpdate) Time elapsed: 0.962 sec <<< ERROR!
org.apache.hadoop.hdfs.protocol.QuotaByStorageTypeExceededException: Quota by storage type : SSD on path : /TestAppendOverTypeQuota is exceeded. quota = 1 B but space consumed = 1 KB
at org.apache.hadoop.hdfs.server.namenode.DirectoryWithQuotaFeature.verifyQuotaByStorageType(DirectoryWithQuotaFeature.java:227)
at org.apache.hadoop.hdfs.server.namenode.DirectoryWithQuotaFeature.verifyQuota(DirectoryWithQuotaFeature.java:240)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.verifyQuota(FSDirectory.java:874)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.verifyQuotaForUCBlock(FSNamesystem.java:2765)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.prepareFileForAppend(FSNamesystem.java:2713)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.appendFileInternal(FSNamesystem.java:2686)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.appendFileInt(FSNamesystem.java:2968)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.appendFile(FSNamesystem.java:2939)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.append(NameNodeRpcServer.java:659)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.append(ClientNamenodeProtocolServerSideTranslatorPB.java:418)
at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:636)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:976)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2174)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2170)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1669)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2168)
at org.apache.hadoop.ipc.Client.call(Client.java:1492)
at org.apache.hadoop.ipc.Client.call(Client.java:1423)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)
at com.sun.proxy.$Proxy19.append(Unknown Source)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.append(ClientNamenodeProtocolTranslatorPB.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:186)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:101)
at com.sun.proxy.$Proxy20.append(Unknown Source)
at org.apache.hadoop.hdfs.DFSClient.callAppend(DFSClient.java:1460)
at org.apache.hadoop.hdfs.DFSClient.append(DFSClient.java:1524)
at org.apache.hadoop.hdfs.DFSClient.append(DFSClient.java:1494)
at org.apache.hadoop.hdfs.DistributedFileSystem$4.doCall(DistributedFileSystem.java:342)
at org.apache.hadoop.hdfs.DistributedFileSystem$4.doCall(DistributedFileSystem.java:338)
at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
at org.apache.hadoop.hdfs.DistributedFileSystem.append(DistributedFileSystem.java:338)
at org.apache.hadoop.hdfs.DistributedFileSystem.append(DistributedFileSystem.java:320)
at org.apache.hadoop.fs.FileSystem.append(FileSystem.java:1164)
at org.apache.hadoop.hdfs.DFSTestUtil.appendFile(DFSTestUtil.java:814)
at org.apache.hadoop.hdfs.server.namenode.TestDiskspaceQuotaUpdate.testAppendOverTypeQuota(TestDiskspaceQuotaUpdate.java:251)
Results :
Tests in error:
TestDiskspaceQuotaUpdate.testAppendOverTypeQuota:251 » QuotaByStorageTypeExceeded
Thanks anu for reporting the issue. It seems to relate to change from
HDFS-8231which adds QuotaByStorageTypeExceededException to the unwraped RemoteException list of append() operation.Now, the test needs to catch QuotaByStorageTypeExceededException instead of RemoteException with changes from
HDFS-8231.