[
https://issues.apache.org/jira/browse/DRILL-5704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16117496#comment-16117496
]
ASF GitHub Bot commented on DRILL-5704:
---------------------------------------
Github user sohami commented on the issue:
https://github.com/apache/drill/pull/895
@parthchandra - Thanks for the feedback. IOException is thrown for various
reason from FileSystem api's and hence I was just printing the exception
message. But I have added a hint statement based on impersonation case
specifically. Now it will print like below.
Error: RESOURCE ERROR: Failed to create schema tree.
IOException: Error getting user info for current user, anonymous
_[Hint: Username is absent in connection URL or doesn't exist on Drillbit
node. Please specify a username in connection URL which is present on Drillbit
node.]_
[Error Id: 1cf76f0f-28d0-4fda-93bd-e7c03a0088d3 on qa-node164.qa.lab:31010]
(state=,code=0)
> Improve error message on client side when queries fail with "Failed to create
> schema tree." when Impersonation is enabled and logins are anonymous
> --------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DRILL-5704
> URL: https://issues.apache.org/jira/browse/DRILL-5704
> Project: Apache Drill
> Issue Type: Improvement
> Reporter: Sorabh Hamirwasia
> Assignee: Sorabh Hamirwasia
> Fix For: 1.12.0
>
>
> Reported by [~agirish]
> When username is not specified then Drill set's the session user as anonymous
> if impersonation is enabled. During query execution Drill tries to build
> schema tree and as part of that it validates if the user has access to the
> workspace or not by using FileClient Api liststatus which verifies the user
> from the OS user. Since impersonation is only enabled here without
> authentication and we don't specify any user in connection string, Drill will
> use default user which is "anonymous" and pass that to check workspace
> permission which will fail as node doesn't have any valid user with that name.
> {code:java}
> Caused by: java.io.IOException: Error getting user info for current user,
> anonymous
> ......
> ......
> at
> org.apache.drill.exec.store.dfs.DrillFileSystem.listStatus(DrillFileSystem.java:523)
> ~[drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at
> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory.accessible(WorkspaceSchemaFactory.java:157)
> ~[drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory$FileSystemSchema.<init>(FileSystemSchemaFactory.java:78)
> ~[drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory.registerSchemas(FileSystemSchemaFactory.java:65)
> ~[drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at
> org.apache.drill.exec.store.dfs.FileSystemPlugin.registerSchemas(FileSystemPlugin.java:150)
> ~[drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at
> org.apache.drill.exec.store.StoragePluginRegistryImpl$DrillSchemaFactory.registerSchemas(StoragePluginRegistryImpl.java:365)
> ~[drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at
> org.apache.drill.exec.store.SchemaTreeProvider.createRootSchema(SchemaTreeProvider.java:72)
> [drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> ... 10 common frames omitted
> {code}
> # $DRILL_HOME/bin/sqlline -u "jdbc:drill:zk=localhost:5181"
> sqlline> select * from sys.drillbits;
> User Error Occurred
> org.apache.drill.common.exceptions.UserException: RESOURCE ERROR: Failed to
> create schema tree.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)