[
https://issues.apache.org/jira/browse/DRILL-5224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15865416#comment-15865416
]
Khurram Faraaz commented on DRILL-5224:
---------------------------------------
Verified on Drill 1.10.0 commit id : 300e9349
{noformat}
apache drill 1.10.0-SNAPSHOT
"this isn't your grandfather's sql"
0: jdbc:drill:schema=dfs.tmp> create temporary table t as select * from
sys.version;
+-----------+----------------------------+
| Fragment | Number of records written |
+-----------+----------------------------+
| 0_0 | 1 |
+-----------+----------------------------+
1 row selected (0.395 seconds)
0: jdbc:drill:schema=dfs.tmp> select * from t;
+------------------+-------------------------------------------+------------------------------------------------------+----------------------------+-----------------------+----------------------------+
| version | commit_id |
commit_message | commit_time |
build_email | build_time |
+------------------+-------------------------------------------+------------------------------------------------------+----------------------------+-----------------------+----------------------------+
| 1.10.0-SNAPSHOT | 300e9349a52df7f6ad866a78868602005eadb392 | DRILL-5080:
Memory-managed version of external sort | 13.02.2017 @ 03:41:34 UTC |
[email protected] | 14.02.2017 @ 08:54:52 UTC |
+------------------+-------------------------------------------+------------------------------------------------------+----------------------------+-----------------------+----------------------------+
1 row selected (0.247 seconds)
0: jdbc:drill:schema=dfs.tmp>
{noformat}
> CTTAS: fix errors connected with system path delimiters (Windows)
> -----------------------------------------------------------------
>
> Key: DRILL-5224
> URL: https://issues.apache.org/jira/browse/DRILL-5224
> Project: Apache Drill
> Issue Type: Bug
> Affects Versions: 1.10.0
> Environment: Windows 10
> Reporter: Arina Ielchiieva
> Assignee: Arina Ielchiieva
> Fix For: 1.10.0
>
>
> Problem 1:
> Error occurs when attempting to create temporary table on Windows:
> {noformat}
> 0: jdbc:drill:zk=local> create temporary table t as select * from sys.version;
> Error: SYSTEM ERROR: InvalidPathException: Illegal char <:> at index 4:
> file:///\tmp\3191db8e-279d-4ced-b0e5-32b3b477edfb
> {noformat}
> Root cause:
> when creating temporary directory we merge file system uri, temporary
> workspace location and session id into one path using
> java.nio.file.Paths.get() but this method cannot resolve path when path has
> different delimiters.
> Fix:
> Use org.apache.hadoop.fs.Path tools to merge path, path string is normalized
> during creation.
> {noformat}
> new Path(fs.getUri().toString(), new
> Path(temporaryWorkspace.getDefaultLocation(), sessionId));
> {noformat}
> Problem 2:
> When temporary table is being manually dropped using drop table command,
> though actual table is dropped, remnant folder is left.
> Root cause:
> Before adding to temporary table to the list of temporary tables, its
> generated name is concatenated with session id (as parent and child folders).
> java.nio.file.Paths.get() is used for concatenation but it preserves current
> system delimiter. When table is being dropped, passed table name is split
> using org.apache.hadoop.fs.Path.SEPARATOR, since it's assumed that path was
> created using org.apache.hadoop.fs.Path tools where path separators are
> normalized to one format disregarding the system.
> Fix:
> Concatenate session id with generated table name using
> org.apache.hadoop.fs.Path tools.
> {noformat}
> new Path(sessionId, UUID.randomUUID().toString()).toUri().getPath();
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)