[jira] [Commented] (DRILL-8364) Add Support for OAuth Enabled File Systems

2022-12-10 Thread ASF GitHub Bot (Jira)


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

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

cgivre merged PR #2714:
URL: https://github.com/apache/drill/pull/2714




> Add Support for OAuth Enabled File Systems
> --
>
> Key: DRILL-8364
> URL: https://issues.apache.org/jira/browse/DRILL-8364
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - File
>Affects Versions: 1.20.2
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 2.0.0
>
>
> Currently Drill supports reading from file systems such as HDFS, S3 and 
> others that use token based authentication.  This PR extends Drill's plugin 
> architecture so that Drill can connect with other file systems which use 
> OAuth 2.0 for authentication.
> This PR also adds support for Drill to query Box. 



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


[jira] [Commented] (DRILL-8364) Add Support for OAuth Enabled File Systems

2022-12-10 Thread ASF GitHub Bot (Jira)


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

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

cgivre commented on code in PR #2714:
URL: https://github.com/apache/drill/pull/2714#discussion_r1045149074


##
exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/FileSystemSchemaFactory.java:
##
@@ -82,13 +83,21 @@ public class FileSystemSchema extends AbstractSchema {
 public FileSystemSchema(String name, SchemaConfig schemaConfig) throws 
IOException {
   super(Collections.emptyList(), name);
   final DrillFileSystem fs = 
ImpersonationUtil.createFileSystem(schemaConfig.getUserName(), 
plugin.getFsConf());
+  // Set OAuth Information
+  OAuthConfig oAuthConfig = plugin.getConfig().oAuthConfig();
+  if (oAuthConfig != null) {
+OAuthEnabledFileSystem underlyingFileSystem = (OAuthEnabledFileSystem) 
fs.getUnderlyingFs();

Review Comment:
   @jnturton Good question.  I think that may be possible but with a lot of 
refactoring.  I don't fully understand the file system creation process, but in 
following the flow, I do think that would involve a lot of refactoring. 
   
   On an unrelated note, Hadoop seems to ship with other classes which extend 
`FileSystem` such as FTP, SFTP and a few others. It may be possible for Drill 
to query those by simply adding a few import statements.





> Add Support for OAuth Enabled File Systems
> --
>
> Key: DRILL-8364
> URL: https://issues.apache.org/jira/browse/DRILL-8364
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - File
>Affects Versions: 1.20.2
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 2.0.0
>
>
> Currently Drill supports reading from file systems such as HDFS, S3 and 
> others that use token based authentication.  This PR extends Drill's plugin 
> architecture so that Drill can connect with other file systems which use 
> OAuth 2.0 for authentication.
> This PR also adds support for Drill to query Box. 



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


[jira] [Commented] (DRILL-8364) Add Support for OAuth Enabled File Systems

2022-12-09 Thread ASF GitHub Bot (Jira)


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

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

jnturton commented on code in PR #2714:
URL: https://github.com/apache/drill/pull/2714#discussion_r1044992012


##
exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/FileSystemSchemaFactory.java:
##
@@ -82,13 +83,21 @@ public class FileSystemSchema extends AbstractSchema {
 public FileSystemSchema(String name, SchemaConfig schemaConfig) throws 
IOException {
   super(Collections.emptyList(), name);
   final DrillFileSystem fs = 
ImpersonationUtil.createFileSystem(schemaConfig.getUserName(), 
plugin.getFsConf());
+  // Set OAuth Information
+  OAuthConfig oAuthConfig = plugin.getConfig().oAuthConfig();
+  if (oAuthConfig != null) {
+OAuthEnabledFileSystem underlyingFileSystem = (OAuthEnabledFileSystem) 
fs.getUnderlyingFs();

Review Comment:
   Last question from me - would it work out cleaner to make 
OAuthEnabledFileSystem inherit from DrillFileSystem? In particular, could that 
elimnate this new getUnderlyingFs method()? Or it would cause trouble elsewhere?





> Add Support for OAuth Enabled File Systems
> --
>
> Key: DRILL-8364
> URL: https://issues.apache.org/jira/browse/DRILL-8364
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - File
>Affects Versions: 1.20.2
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 2.0.0
>
>
> Currently Drill supports reading from file systems such as HDFS, S3 and 
> others that use token based authentication.  This PR extends Drill's plugin 
> architecture so that Drill can connect with other file systems which use 
> OAuth 2.0 for authentication.
> This PR also adds support for Drill to query Box. 



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


[jira] [Commented] (DRILL-8364) Add Support for OAuth Enabled File Systems

2022-12-09 Thread ASF GitHub Bot (Jira)


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

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

jnturton commented on code in PR #2714:
URL: https://github.com/apache/drill/pull/2714#discussion_r1044990682


##
exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/SeekableByteArrayInputStream.java:
##
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.drill.exec.store.dfs;
+
+import org.apache.hadoop.fs.PositionedReadable;
+import org.apache.hadoop.fs.Seekable;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+
+public class SeekableByteArrayInputStream extends ByteArrayInputStream 
implements Seekable, PositionedReadable {

Review Comment:
   Okay let's do it that way.





> Add Support for OAuth Enabled File Systems
> --
>
> Key: DRILL-8364
> URL: https://issues.apache.org/jira/browse/DRILL-8364
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - File
>Affects Versions: 1.20.2
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 2.0.0
>
>
> Currently Drill supports reading from file systems such as HDFS, S3 and 
> others that use token based authentication.  This PR extends Drill's plugin 
> architecture so that Drill can connect with other file systems which use 
> OAuth 2.0 for authentication.
> This PR also adds support for Drill to query Box. 



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


[jira] [Commented] (DRILL-8364) Add Support for OAuth Enabled File Systems

2022-12-08 Thread ASF GitHub Bot (Jira)


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

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

cgivre commented on code in PR #2714:
URL: https://github.com/apache/drill/pull/2714#discussion_r1043748748


##
exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/SeekableByteArrayInputStream.java:
##
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.drill.exec.store.dfs;
+
+import org.apache.hadoop.fs.PositionedReadable;
+import org.apache.hadoop.fs.Seekable;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+
+public class SeekableByteArrayInputStream extends ByteArrayInputStream 
implements Seekable, PositionedReadable {

Review Comment:
   @jnturton 
   I was able to replace this in the Dropbox reader, however the Box reader did 
not work.   Since there is additional work planned in Drill-8367, is it ok to 
leave this as is and we will fix it in the context of Drill-8367?





> Add Support for OAuth Enabled File Systems
> --
>
> Key: DRILL-8364
> URL: https://issues.apache.org/jira/browse/DRILL-8364
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - File
>Affects Versions: 1.20.2
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 2.0.0
>
>
> Currently Drill supports reading from file systems such as HDFS, S3 and 
> others that use token based authentication.  This PR extends Drill's plugin 
> architecture so that Drill can connect with other file systems which use 
> OAuth 2.0 for authentication.
> This PR also adds support for Drill to query Box. 



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


[jira] [Commented] (DRILL-8364) Add Support for OAuth Enabled File Systems

2022-12-08 Thread ASF GitHub Bot (Jira)


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

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

cgivre commented on code in PR #2714:
URL: https://github.com/apache/drill/pull/2714#discussion_r1043592053


##
exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/BoxFileSystem.java:
##
@@ -0,0 +1,459 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.drill.exec.store.dfs;
+
+import com.box.sdk.BoxAPIConnection;
+import com.box.sdk.BoxFile;
+import com.box.sdk.BoxFolder;
+import com.box.sdk.BoxFolder.Info;
+import com.box.sdk.BoxItem;
+import com.box.sdk.BoxSearch;
+import com.box.sdk.BoxSearchParameters;
+import com.box.sdk.PartialCollection;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.drill.common.exceptions.UserException;
+import org.apache.drill.common.logical.security.CredentialsProvider;
+import org.apache.drill.exec.oauth.PersistentTokenTable;
+import org.apache.drill.exec.store.security.oauth.OAuthTokenCredentials;
+import 
org.apache.drill.exec.store.security.oauth.OAuthTokenCredentials.Builder;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FSDataOutputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.fs.permission.FsPermission;
+import org.apache.hadoop.util.Progressable;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.ByteArrayOutputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+public class BoxFileSystem extends OAuthEnabledFileSystem {
+
+  private static final Logger logger = 
LoggerFactory.getLogger(BoxFileSystem.class);
+  private static final String TIMEOUT_DEFAULT = "5000";
+  private static final List SEARCH_CONTENT_TYPES = new 
ArrayList<>(Collections.singletonList("name"));
+  private Path workingDirectory;
+  private BoxAPIConnection client;
+  private String workingDirectoryID;
+  private BoxFolder rootFolder;
+  private boolean usesDeveloperToken;
+  private final List ancestorFolderIDs = new ArrayList<>();
+  private final Map itemCache = new HashMap<>();
+
+  /**
+   * Returns a URI which identifies this FileSystem.
+   *
+   * @return the URI of this filesystem.
+   */
+  @Override
+  public URI getUri() {
+try {
+  return new URI("box:///");
+} catch (URISyntaxException e) {
+  throw new RuntimeException(e);
+}
+  }
+
+  /**
+   * Opens an FSDataInputStream at the indicated Path.
+   *
+   * @param inputPath the file name to open
+   * @param bufferSize the size of the buffer to be used.
+   * @throws IOException IO failure
+   */
+  @Override
+  public FSDataInputStream open(Path inputPath, int bufferSize) throws 
IOException {
+client = getClient();
+ByteArrayOutputStream out = new ByteArrayOutputStream();
+
+BoxItem item = getItem(inputPath);
+if (item instanceof BoxFile) {
+  BoxFile file = (BoxFile) getItem(inputPath);

Review Comment:
   Fixed





> Add Support for OAuth Enabled File Systems
> --
>
> Key: DRILL-8364
> URL: https://issues.apache.org/jira/browse/DRILL-8364
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - File
>Affects Versions: 1.20.2
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 2.0.0
>
>
> Currently Drill supports reading from file systems such as HDFS, S3 and 
> others that use token based authentication.  This PR extends Drill's plugin 
> architecture so that Drill can connect with other file systems which use 
> OAuth 2.0 for authentication.
> This PR also adds support for Drill to query Box. 



[jira] [Commented] (DRILL-8364) Add Support for OAuth Enabled File Systems

2022-12-08 Thread ASF GitHub Bot (Jira)


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

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

jnturton commented on code in PR #2714:
URL: https://github.com/apache/drill/pull/2714#discussion_r1042270417


##
exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/BoxFileSystem.java:
##
@@ -0,0 +1,459 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.drill.exec.store.dfs;
+
+import com.box.sdk.BoxAPIConnection;
+import com.box.sdk.BoxFile;
+import com.box.sdk.BoxFolder;
+import com.box.sdk.BoxFolder.Info;
+import com.box.sdk.BoxItem;
+import com.box.sdk.BoxSearch;
+import com.box.sdk.BoxSearchParameters;
+import com.box.sdk.PartialCollection;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.drill.common.exceptions.UserException;
+import org.apache.drill.common.logical.security.CredentialsProvider;
+import org.apache.drill.exec.oauth.PersistentTokenTable;
+import org.apache.drill.exec.store.security.oauth.OAuthTokenCredentials;
+import 
org.apache.drill.exec.store.security.oauth.OAuthTokenCredentials.Builder;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FSDataOutputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.fs.permission.FsPermission;
+import org.apache.hadoop.util.Progressable;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.ByteArrayOutputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+public class BoxFileSystem extends OAuthEnabledFileSystem {
+
+  private static final Logger logger = 
LoggerFactory.getLogger(BoxFileSystem.class);
+  private static final String TIMEOUT_DEFAULT = "5000";
+  private static final List SEARCH_CONTENT_TYPES = new 
ArrayList<>(Collections.singletonList("name"));
+  private Path workingDirectory;
+  private BoxAPIConnection client;
+  private String workingDirectoryID;
+  private BoxFolder rootFolder;
+  private boolean usesDeveloperToken;
+  private final List ancestorFolderIDs = new ArrayList<>();
+  private final Map itemCache = new HashMap<>();
+
+  /**
+   * Returns a URI which identifies this FileSystem.
+   *
+   * @return the URI of this filesystem.
+   */
+  @Override
+  public URI getUri() {
+try {
+  return new URI("box:///");
+} catch (URISyntaxException e) {
+  throw new RuntimeException(e);
+}
+  }
+
+  /**
+   * Opens an FSDataInputStream at the indicated Path.
+   *
+   * @param inputPath the file name to open
+   * @param bufferSize the size of the buffer to be used.
+   * @throws IOException IO failure
+   */
+  @Override
+  public FSDataInputStream open(Path inputPath, int bufferSize) throws 
IOException {
+client = getClient();
+ByteArrayOutputStream out = new ByteArrayOutputStream();
+
+BoxItem item = getItem(inputPath);
+if (item instanceof BoxFile) {
+  BoxFile file = (BoxFile) getItem(inputPath);
+  updateTokens();
+
+  file.download(out);
+  updateTokens();
+
+  FSDataInputStream fsDataInputStream = new FSDataInputStream(new 
SeekableByteArrayInputStream(out.toByteArray()));

Review Comment:
   We're buffering query data into heap memory here, something we don't want to 
do, but I've just created DRILL-8367 so that we work through all of the places 
where this is done in a separate exercise.



##
exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/SeekableByteArrayInputStream.java:
##
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to y

[jira] [Commented] (DRILL-8364) Add Support for OAuth Enabled File Systems

2022-12-07 Thread ASF GitHub Bot (Jira)


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

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

jnturton commented on PR #2714:
URL: https://github.com/apache/drill/pull/2714#issuecomment-1341006745

   > @jnturton I don't know. Unlike the regular storage plugins, which are 
pretty self-contained, to use a file system, you have to "register" it in the 
`FileSystemPlugin` class.
   
   Okay, let's leave that refactoring for a separate PR.
   




> Add Support for OAuth Enabled File Systems
> --
>
> Key: DRILL-8364
> URL: https://issues.apache.org/jira/browse/DRILL-8364
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - File
>Affects Versions: 1.20.2
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 2.0.0
>
>
> Currently Drill supports reading from file systems such as HDFS, S3 and 
> others that use token based authentication.  This PR extends Drill's plugin 
> architecture so that Drill can connect with other file systems which use 
> OAuth 2.0 for authentication.
> This PR also adds support for Drill to query Box. 



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


[jira] [Commented] (DRILL-8364) Add Support for OAuth Enabled File Systems

2022-12-07 Thread ASF GitHub Bot (Jira)


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

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

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

   > 
   
   @jnturton 
   I don't know.  Unlike the regular storage plugins, which are pretty 
self-contained, to use a file system, you have to "register" it in the 
`FileSystemPlugin` class. (See below).   I assumed, perhaps incorrectly, that 
new file systems had to be in the `java-exec` package.  I'm not a packaging 
expert, so do you know what we'd have to do in order to move these to `contrib`?
   
   
https://github.com/apache/drill/blob/53e4227650755607db961b758b7966b1d6d4582f/exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/FileSystemPlugin.java#L93-L96
   




> Add Support for OAuth Enabled File Systems
> --
>
> Key: DRILL-8364
> URL: https://issues.apache.org/jira/browse/DRILL-8364
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - File
>Affects Versions: 1.20.2
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 2.0.0
>
>
> Currently Drill supports reading from file systems such as HDFS, S3 and 
> others that use token based authentication.  This PR extends Drill's plugin 
> architecture so that Drill can connect with other file systems which use 
> OAuth 2.0 for authentication.
> This PR also adds support for Drill to query Box. 



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


[jira] [Commented] (DRILL-8364) Add Support for OAuth Enabled File Systems

2022-12-06 Thread ASF GitHub Bot (Jira)


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

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

jnturton commented on PR #2714:
URL: https://github.com/apache/drill/pull/2714#issuecomment-1340417592

   Would it be possible, for the sake of structuring the code base, to move the 
Box and Dropbox filesystem implementations out to contrib/storage-box and 
contrib/storage-dropbox modules (while keeping the current Java package 
organsiation)?




> Add Support for OAuth Enabled File Systems
> --
>
> Key: DRILL-8364
> URL: https://issues.apache.org/jira/browse/DRILL-8364
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - File
>Affects Versions: 1.20.2
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 2.0.0
>
>
> Currently Drill supports reading from file systems such as HDFS, S3 and 
> others that use token based authentication.  This PR extends Drill's plugin 
> architecture so that Drill can connect with other file systems which use 
> OAuth 2.0 for authentication.
> This PR also adds support for Drill to query Box. 



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


[jira] [Commented] (DRILL-8364) Add Support for OAuth Enabled File Systems

2022-12-03 Thread ASF GitHub Bot (Jira)


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

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

cgivre opened a new pull request, #2714:
URL: https://github.com/apache/drill/pull/2714

   # [DRILL-8364](https://issues.apache.org/jira/browse/DRILL-8364): Add 
Support for OAuth Enabled File Systems
   
   ## Description
   This PR adds support for Drill to query file systems which use OAuth for 
authorization and authentication.  This PR also adds support for Drill to query 
[Box.com](https://box.com). 
   
   ## Documentation
   See README for Box for documentation. 
   
   ## Testing
   Added unit tests and tested manually.




> Add Support for OAuth Enabled File Systems
> --
>
> Key: DRILL-8364
> URL: https://issues.apache.org/jira/browse/DRILL-8364
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - File
>Affects Versions: 1.20.2
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 2.0.0
>
>
> Currently Drill supports reading from file systems such as HDFS, S3 and 
> others that use token based authentication.  This PR extends Drill's plugin 
> architecture so that Drill can connect with other file systems which use 
> OAuth 2.0 for authentication.
> This PR also adds support for Drill to query Box. 



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