[
https://issues.apache.org/jira/browse/DRILL-5255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15862976#comment-15862976
]
Paul Rogers commented on DRILL-5255:
------------------------------------
The test framework can work around this issue by deleting all locally-stored
"persistent storage" files prior to each run. This is a nuisance, but will
probably work.
But, for users who run an embedded Drillbit, it seems they can start the
Drillbit only once. After that, due to some internal state I've not
investigated, the Drillbit cannot be restarted until all persistent storage is
deleted. This may not be the optimal user experience.
> Unit tests fail due to CTTAS temporary name space checks
> --------------------------------------------------------
>
> 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)