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

Reply via email to