[ 
https://issues.apache.org/jira/browse/DRILL-8359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17643807#comment-17643807
 ] 

ASF GitHub Bot commented on DRILL-8359:
---------------------------------------

cgivre commented on PR #2713:
URL: https://github.com/apache/drill/pull/2713#issuecomment-1339182473

   @jnturton 
   I guess my first question is whose permissions will these commands run 
under?  Are we impersonating the user for them? 
   I do like the idea of adding a boot level option to turn this on and off. 
   
   Another thing to think about is making sure that users can't arbitrarily add 
this code somehow to a query.
   
   IE:
   ```sql
   SELECT * 
   FROM table(dfs.test.something (mountCommand => 'rm -rf *')
   ```
   
   
   




> Add mount and unmount command support to the filesystem plugin
> --------------------------------------------------------------
>
>                 Key: DRILL-8359
>                 URL: https://issues.apache.org/jira/browse/DRILL-8359
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Storage - File
>    Affects Versions: 1.20.2
>            Reporter: James Turton
>            Assignee: James Turton
>            Priority: Minor
>             Fix For: 2.0.0
>
>
> This Jira proposes optional mount and unmount commands in the filesystem 
> plugin with the goal of enabling the dynamic definition of filesystem mounts 
> in the storage configuration. It is mainly anticpiated that network and cloud 
> filesystems that have FUSE drivers (sshfs, davfs, rclone, ...) will be used 
> in this way but local device mounts and image/loop device mounts (ISO, IMG, 
> squashfs, etc.) might also be of interest. Filesystems that can be mounted in 
> this way become queryable by Drill cluster without burden of dedicated 
> storage plugin development.
> The provided commands are executed in their own processes by the host OS and 
> run under the OS user that is running the Drill JVM. The mount command will 
> be executed when an enabled plugin is initialised (something that is done 
> lazily) and whenever it transitions from disabled to enabled. The provided 
> unmount command will be executed whenever a plugin transitions from enabled 
> to disabled and when the Drillbit shuts down while the plugin has been 
> initialised and is enabled.
> Example using udisks on Linux to mount and unmount an image of an ext4 
> filesystem.
> {code:java}
> {
>   "type" : "file",
>   "connection" : "file:///",
>   "mountCommand" : [ "sh", "-c", "udisksctl loop-setup -f /tmp/test.img && 
> udisksctl mount -b /dev/loop0" ],
>   "unmountCommand" : [ "sh", "-c", "udisksctl unmount -b /dev/loop0 && 
> udisksctl loop-delete -b /dev/loop0" ],
>   "workspaces" : {
>      ...{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to