[
https://issues.apache.org/jira/browse/DRILL-5255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul Rogers updated DRILL-5255:
-------------------------------
Description:
Drill can operate in embedded mode. In this mode, no storage plugin definitions
other than the defaults may be present. In particular, when using the Drill
test framework, only those storage plugins defined in the Drill code are
available.
Yet, Drill checks for the existence of the dfs.tmp plugin definition (as named
by the {{drill.exec.default_temporary_workspace}} parameter. Because this
plugin is not defined, an exception occurs:
{code}
org.apache.drill.common.exceptions.UserException: PARSE ERROR: Unable to create
or drop tables/views. Schema [dfs.tmp] is immutable.
[Error Id: 792d4e5d-3f31-4f38-8bb4-d108f1a808f6 ]
at
org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:544)
at
org.apache.drill.exec.planner.sql.SchemaUtilites.resolveToMutableDrillSchema(SchemaUtilites.java:184)
at
org.apache.drill.exec.planner.sql.SchemaUtilites.getTemporaryWorkspace(SchemaUtilites.java:201)
at
org.apache.drill.exec.server.Drillbit.validateTemporaryWorkspace(Drillbit.java:264)
at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:135)
at
org.apache.drill.test.ClusterFixture.startDrillbits(ClusterFixture.java:207)
...
{code}
Expected that either a configuration would exist that would use the default
/tmp/drill location, or that the check for {{drill.tmp}} would be deferred
until it is actually required (such as when executing a CTTAS statement.)
It seemed that the test framework must be altered to work around this problem
by defining the necessary workspace. Unfortunately, the Drillbit must start
before we can define the workspace needed for the Drillbit to start. So, this
workaround is not possible.
Further, users of the embedded Drillbit may not know to do this configuration.
was:
Drill can operate in embedded mode. In this mode, no storage plugin definitions
other than the defaults may be present. In particular, when using the Drill
test framework, only those storage plugins defined in the Drill code are
available.
Yet, Drill checks for the existence of the dfs.tmp plugin definition (as named
by the {{drill.exec.default_temporary_workspace}} parameter. Because this
plugin is not defined, an exception occurs:
{code}
org.apache.drill.common.exceptions.UserException: PARSE ERROR: Unable to create
or drop tables/views. Schema [dfs.tmp] is immutable.
[Error Id: 792d4e5d-3f31-4f38-8bb4-d108f1a808f6 ]
at
org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:544)
at
org.apache.drill.exec.planner.sql.SchemaUtilites.resolveToMutableDrillSchema(SchemaUtilites.java:184)
at
org.apache.drill.exec.planner.sql.SchemaUtilites.getTemporaryWorkspace(SchemaUtilites.java:201)
at
org.apache.drill.exec.server.Drillbit.validateTemporaryWorkspace(Drillbit.java:264)
at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:135)
at
org.apache.drill.test.ClusterFixture.startDrillbits(ClusterFixture.java:207)
...
{code}
Expected that either a configuration would exist that would use the default
/tmp/drill location, or that the check for {{drill.tmp}} would be deferred
until it is actually required (such as when executing a CTTAS statement.)
As it is, the test framework must be altered to work around this problem by
defining the necessary properties. But, users of the embedded Drillbit may not
know to do this configuration.
> Drill requires that dfs.tmp be set up a start time, even if CTTAS not used
> --------------------------------------------------------------------------
>
> Key: DRILL-5255
> URL: https://issues.apache.org/jira/browse/DRILL-5255
> Project: Apache Drill
> Issue Type: Bug
> Affects Versions: 1.10
> Reporter: Paul Rogers
> Assignee: Arina Ielchiieva
> Fix For: 1.10
>
>
> Drill can operate in embedded mode. In this mode, no storage plugin
> definitions other than the defaults may be present. In particular, when using
> the Drill test framework, only those storage plugins defined in the Drill
> code are available.
> Yet, Drill checks for the existence of the dfs.tmp plugin definition (as
> named by the {{drill.exec.default_temporary_workspace}} parameter. Because
> this plugin is not defined, an exception occurs:
> {code}
> org.apache.drill.common.exceptions.UserException: PARSE ERROR: Unable to
> create or drop tables/views. Schema [dfs.tmp] is immutable.
> [Error Id: 792d4e5d-3f31-4f38-8bb4-d108f1a808f6 ]
> at
> org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:544)
> at
> org.apache.drill.exec.planner.sql.SchemaUtilites.resolveToMutableDrillSchema(SchemaUtilites.java:184)
> at
> org.apache.drill.exec.planner.sql.SchemaUtilites.getTemporaryWorkspace(SchemaUtilites.java:201)
> at
> org.apache.drill.exec.server.Drillbit.validateTemporaryWorkspace(Drillbit.java:264)
> at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:135)
> at
> org.apache.drill.test.ClusterFixture.startDrillbits(ClusterFixture.java:207)
> ...
> {code}
> Expected that either a configuration would exist that would use the default
> /tmp/drill location, or that the check for {{drill.tmp}} would be deferred
> until it is actually required (such as when executing a CTTAS statement.)
> It seemed that the test framework must be altered to work around this problem
> by defining the necessary workspace. Unfortunately, the Drillbit must start
> before we can define the workspace needed for the Drillbit to start. So, this
> workaround is not possible.
> Further, users of the embedded Drillbit may not know to do this configuration.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)