You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Paul Rogers (JIRA)" <ji...@apache.org> on 2017/02/12 05:46:41 UTC

[jira] [Commented] (DRILL-5255) Unit tests fail due to CTTAS temporary name space checks

    [ 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)