[ https://issues.apache.org/jira/browse/DRILL-5089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16250396#comment-16250396 ]
ASF GitHub Bot commented on DRILL-5089: --------------------------------------- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/1032#discussion_r150683680 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/store/SchemaTreeProvider.java --- @@ -105,12 +106,36 @@ public SchemaPlus createRootSchema(final String userName, final SchemaConfigInfo * @return */ public SchemaPlus createRootSchema(SchemaConfig schemaConfig) { + final SchemaPlus rootSchema = DynamicSchema.createRootSchema(dContext.getStorage(), schemaConfig); + schemaTreesToClose.add(rootSchema); + return rootSchema; + } + + /** + * Return full root schema with schema owner as the given user. + * + * @param userName Name of the user who is accessing the storage sources. + * @param provider {@link SchemaConfigInfoProvider} instance + * @return Root of the schema tree. + */ + public SchemaPlus createFullRootSchema(final String userName, final SchemaConfigInfoProvider provider) { + final String schemaUser = isImpersonationEnabled ? userName : ImpersonationUtil.getProcessUserName(); --- End diff -- Should this be factored out somewhere? Seems this magic stanza will be needed in many places: better to have one copy than several. Maybe a method in `ImpersonationUtil`? > Skip initializing all enabled storage plugins for every query > ------------------------------------------------------------- > > Key: DRILL-5089 > URL: https://issues.apache.org/jira/browse/DRILL-5089 > Project: Apache Drill > Issue Type: Improvement > Components: Query Planning & Optimization > Affects Versions: 1.9.0 > Reporter: Abhishek Girish > Assignee: Chunhui Shi > Priority: Critical > > In a query's lifecycle, at attempt is made to initialize each enabled storage > plugin, while building the schema tree. This is done regardless of the actual > plugins involved within a query. > Sometimes, when one or more of the enabled storage plugins have issues - > either due to misconfiguration or the underlying datasource being slow or > being down, the overall query time taken increases drastically. Most likely > due the attempt being made to register schemas from a faulty plugin. > For example, when a jdbc plugin is configured with SQL Server, and at one > point the underlying SQL Server db goes down, any Drill query starting to > execute at that point and beyond begin to slow down drastically. > We must skip registering unrelated schemas (& workspaces) for a query. -- This message was sent by Atlassian JIRA (v6.4.14#64029)