Paul Rogers created DRILL-5074:
----------------------------------

             Summary: Excessive logging for permission denied error in CTAS
                 Key: DRILL-5074
                 URL: https://issues.apache.org/jira/browse/DRILL-5074
             Project: Apache Drill
          Issue Type: Bug
    Affects Versions: 1.8.0
            Reporter: Paul Rogers
            Priority: Minor


Consider the test 
TestImpersonationMetadata.testCreateTableInWSWithNoPermissionsForQueryUser. 
This test attempts to do a CTAS in a workspace without proper permissions. A 
perfectly fine test for perfectly normal scenario. However, the test displays 
the following very long log message for what is, in essence, a very simple 
condition.

Expected that Drill would expect permission problems, would log a single 
message ("User fred attempted to access Table foo without proper permissions"), 
and omit the gory details of the stack trace. Since this is a normal operating 
problem, and not a code fault, the stack trace simply clutters the log (and 
test output.)

Note: the test is being modified to suppress the logging. If you attempt to 
reproduce the problem using the test after that modification, comment out the 
call to {{disableWriterLogging()}}.

{code}
22:01:29.890 [27c58945-c8c1-5c3d-6ebc-9926c33ced48:frag:0:0] ERROR 
o.a.d.e.p.impl.WriterRecordBatch - Failure during query
org.apache.hadoop.security.AccessControlException: Permission denied: 
user=drillTestUser2, access=WRITE, 
inode="/drillTestGrp0_755/table1/0_0_0.parquet":fred:drillTestGrp0:drwxr-xr-x
    at 
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:320)
    at 
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:292)
    at 
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:213)
    at 
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:190)
...
   at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
[na:1.8.0_102]
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_102]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_102]
Caused by: org.apache.hadoop.ipc.RemoteException: Permission denied: 
user=drillTestUser2, access=WRITE, 
inode="/drillTestGrp0_755/table1/0_0_0.parquet":fred:drillTestGrp0:drwxr-xr-x
    at 
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:320)
    at 
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:292)
...
   at com.sun.proxy.$Proxy67.create(Unknown Source) ~[na:na]
    at 
org.apache.hadoop.hdfs.DFSOutputStream.newStreamForCreate(DFSOutputStream.java:1623)
 ~[hadoop-hdfs-2.7.1.jar:na]
    ... 35 common frames omitted
22:01:29.987 [27c58945-c8c1-5c3d-6ebc-9926c33ced48:frag:0:0] ERROR 
o.a.d.e.w.fragment.FragmentExecutor - SYSTEM ERROR: RemoteException: Permission 
denied: user=drillTestUser2, access=WRITE, 
inode="/drillTestGrp0_755/table1/0_0_0.parquet":fred:drillTestGrp0:drwxr-xr-x
    at 
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:320)
    at 
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:292)
...
   at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2045)


Fragment 0:0

[Error Id: fff615a2-006d-4a33-a87c-f0d1c25d246f on 172.30.1.66:31013]
org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: 
RemoteException: Permission denied: user=drillTestUser2, access=WRITE, 
inode="/drillTestGrp0_755/table1/0_0_0.parquet":fred:drillTestGrp0:drwxr-xr-x
    at 
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:320)
...
   at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2045)


Fragment 0:0

[Error Id: fff615a2-006d-4a33-a87c-f0d1c25d246f on 172.30.1.66:31013]
    at 
org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543)
 ~[drill-common-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
...
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_102]
Caused by: org.apache.hadoop.security.AccessControlException: Permission 
denied: user=drillTestUser2, access=WRITE, 
inode="/drillTestGrp0_755/table1/0_0_0.parquet":fred:drillTestGrp0:drwxr-xr-x
    at 
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:320)
    at 
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:292)
...
   at 
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:226)
 [classes/:na]
    ... 4 common frames omitted
Caused by: org.apache.hadoop.ipc.RemoteException: Permission denied: 
user=drillTestUser2, access=WRITE, 
inode="/drillTestGrp0_755/table1/0_0_0.parquet":fred:drillTestGrp0:drwxr-xr-x
    at 
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:320)
...
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to