[
https://issues.apache.org/jira/browse/DRILL-5255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15862661#comment-15862661
]
Paul Rogers commented on DRILL-5255:
------------------------------------
Some tests need to save query profiles. Unfortunately, enabling saving of query
profiles in tests is done the same way that we enable saving workspace
definitions: if we want to save one, we must save the other.
{code}
put(ExecConstants.SYS_STORE_PROVIDER_LOCAL_ENABLE_WRITE, true);
{code}
Prior to the CTTAS checkin, it was benign to allow the storage plugins to be
saved: the stored values where the same as those from the
{{bootstrap-storage-plugins.json}} file. But, afterwards, something has gone
wrong. Now, the {{/tmp/drill/sys.storage_plugins}} directory must be deleted
before each test run. Skip this step and we get the error shown above, plus
another one regarding the default name space.
> 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)