[jira] [Commented] (DRILL-8354) Add IS_EMPTY Function.

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


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

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

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


##
exec/java-exec/src/test/resources/jsoninput/is_empty_tests.json:
##
@@ -0,0 +1,27 @@
+[
+  {
+"numeric_col": 1.3,
+"text_col": "text",
+"list_col": [
+  "v1", "v2"
+],
+   "map_column": {
+"field1": "value1",
+"field2": "value2",
+"nested_map": {
+  "nested_field1": "nested_value1",
+  "nested_field2" : "nested_value2"
+  }
+}
+  },{
+"numeric_col": 2.3,
+"text_col": "",
+"list_col": [],
+"map_column": {}
+  },{
+"numeric_col": null,
+"text_col": null,
+"list_col": [],
+"map_column": {}
+  }

Review Comment:
   ```suggestion
 }, {
   "numeric_col": 1
 }
   ```
   Can we add an object that is outright missing some queried properties and 
check that the is_empty unit tests pick those up as being empty?



##
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/IsEmptyUtils.java:
##
@@ -0,0 +1,61 @@
+/*
+ * 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.expr.fn.impl;
+
+import org.apache.drill.common.types.TypeProtos.MinorType;
+import org.apache.drill.exec.vector.complex.impl.SingleMapReaderImpl;
+import org.apache.drill.exec.vector.complex.reader.FieldReader;
+
+public class IsEmptyUtils {
+
+  /**
+   * This function recursively traverses a Drill map to determine whether the 
map is empty or not.
+   * @param reader A {@link FieldReader} containing the field in question
+   * @return True if the field contains no data, false if it does.
+   */
+  public static boolean mapIsEmpty(FieldReader reader) {
+
+if (reader.getType().getMinorType() == MinorType.MAP) {
+  SingleMapReaderImpl mapReader = (SingleMapReaderImpl) reader;
+
+  // If the map reader has no fields returns nothing return true

Review Comment:
   ```suggestion
 // If the map reader has no fields return true
   ```





> Add IS_EMPTY Function.
> --
>
> Key: DRILL-8354
> URL: https://issues.apache.org/jira/browse/DRILL-8354
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Functions - Drill
>Affects Versions: 1.20.2
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 2.0.0
>
>
> When analyzing data, there is currently no single function to evaluate 
> whether a given field is empty.  With scalar fields, this can be accomplished 
> with the `IS NOT NULL` operator, but with complex fields, this is more 
> challenging as complex fields are never null. 
> This PR adds a UDF called IS_EMPTY() which accepts any type of field and 
> returns true if the field does not contain data.  
>  
> In the case of scalar fields, if the field is `null` this returns true.  In 
> the case of complex fields, which can never be `null`, in the case of lists, 
> the function returns true if the list is empty.  In the case of maps, it 
> returns true if all of the map's fields are unpopulated. 



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


[jira] [Commented] (DRILL-8354) Add IS_EMPTY Function.

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


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

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

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


##
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/IsEmptyUtils.java:
##
@@ -0,0 +1,61 @@
+/*
+ * 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.expr.fn.impl;
+
+import org.apache.drill.common.types.TypeProtos.MinorType;
+import org.apache.drill.exec.vector.complex.impl.SingleMapReaderImpl;
+import org.apache.drill.exec.vector.complex.reader.FieldReader;
+
+public class IsEmptyUtils {
+
+  /**
+   * This function recursively traverses a Drill map to determine whether the 
map is empty or not.
+   * @param reader A {@link FieldReader} containing the field in question
+   * @return True if the field contains no data, false if it does.
+   */
+  public static boolean mapIsEmpty(FieldReader reader) {
+
+if (reader.getType().getMinorType() == MinorType.MAP) {
+  SingleMapReaderImpl mapReader = (SingleMapReaderImpl) reader;
+
+  // If the map reader has no fields returns nothing return true

Review Comment:
   Fixed.





> Add IS_EMPTY Function.
> --
>
> Key: DRILL-8354
> URL: https://issues.apache.org/jira/browse/DRILL-8354
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Functions - Drill
>Affects Versions: 1.20.2
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 2.0.0
>
>
> When analyzing data, there is currently no single function to evaluate 
> whether a given field is empty.  With scalar fields, this can be accomplished 
> with the `IS NOT NULL` operator, but with complex fields, this is more 
> challenging as complex fields are never null. 
> This PR adds a UDF called IS_EMPTY() which accepts any type of field and 
> returns true if the field does not contain data.  
>  
> In the case of scalar fields, if the field is `null` this returns true.  In 
> the case of complex fields, which can never be `null`, in the case of lists, 
> the function returns true if the list is empty.  In the case of maps, it 
> returns true if all of the map's fields are unpopulated. 



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


[jira] [Commented] (DRILL-8354) Add IS_EMPTY Function.

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


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

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

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


##
exec/java-exec/src/test/resources/jsoninput/is_empty_tests.json:
##
@@ -0,0 +1,27 @@
+[
+  {
+"numeric_col": 1.3,
+"text_col": "text",
+"list_col": [
+  "v1", "v2"
+],
+   "map_column": {
+"field1": "value1",
+"field2": "value2",
+"nested_map": {
+  "nested_field1": "nested_value1",
+  "nested_field2" : "nested_value2"
+  }
+}
+  },{
+"numeric_col": 2.3,
+"text_col": "",
+"list_col": [],
+"map_column": {}
+  },{
+"numeric_col": null,
+"text_col": null,
+"list_col": [],
+"map_column": {}
+  }

Review Comment:
   @jnturton Done!  I addressed your review comments.  Thanks for the quick 
review!





> Add IS_EMPTY Function.
> --
>
> Key: DRILL-8354
> URL: https://issues.apache.org/jira/browse/DRILL-8354
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Functions - Drill
>Affects Versions: 1.20.2
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 2.0.0
>
>
> When analyzing data, there is currently no single function to evaluate 
> whether a given field is empty.  With scalar fields, this can be accomplished 
> with the `IS NOT NULL` operator, but with complex fields, this is more 
> challenging as complex fields are never null. 
> This PR adds a UDF called IS_EMPTY() which accepts any type of field and 
> returns true if the field does not contain data.  
>  
> In the case of scalar fields, if the field is `null` this returns true.  In 
> the case of complex fields, which can never be `null`, in the case of lists, 
> the function returns true if the list is empty.  In the case of maps, it 
> returns true if all of the map's fields are unpopulated. 



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


[jira] [Commented] (DRILL-8351) UserRemoteException : SYSTEM ERROR: NullPointerException: Schema is currently null. You must call buildSchema(SelectionVectorMode) before this container can return a

2022-11-09 Thread James Turton (Jira)


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

James Turton commented on DRILL-8351:
-

[~gundark] are you able to use 1.17 until 2.0 is released?

>  UserRemoteException :SYSTEM ERROR: NullPointerException: Schema is 
> currently null.  You must call buildSchema(SelectionVectorMode) before this 
> container can return a schema.
> 
>
> Key: DRILL-8351
> URL: https://issues.apache.org/jira/browse/DRILL-8351
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Client - Java
> Environment: version 1.19 and 1.20.2
>Reporter: Ravi Kiran
>Priority: Critical
> Attachments: SUPPLIERS-20220720082618924.csv, 
> SUPPLIERS-20220720082618936-2.csv, SUPPLIERS-20220720082618946-1.csv, 
> SUPPLIERS-20220720082618958-2.csv, SUPPLIERS-2022072008261930.csv
>
>
> Hi Team,
> I have more than 100k records in my directory, but I am able to fetch only 
> 100k records, not able to fetch after 100k records by using limit and offset.
> I am attaching files also.
>  
> if i use 1.17 or 1.14 able to fetch all records.
>  
> SELECT * FROM dfs. `C:\Users\ravik\Downloads\test_folder` LIMIT 1 OFFSET 
> 9



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


[jira] [Created] (DRILL-8355) Embedded drill unable to start with security configuration

2022-11-09 Thread Nitul (Jira)
Nitul created DRILL-8355:


 Summary: Embedded drill unable to start with security 
configuration 
 Key: DRILL-8355
 URL: https://issues.apache.org/jira/browse/DRILL-8355
 Project: Apache Drill
  Issue Type: Bug
  Components:  Server, Security
Affects Versions: 1.17.0
Reporter: Nitul


Security is enabled in drill in drill-override.conf:

drill.exec: {
cluster-id: "drillbits1",
 zk.connect: "host.docker.internal:2181",
  sys.store.provider.local.path="/home/jiffy/datafolder",
  security.user.auth: {
enabled: true,
packages += "com.app.auth",
impl: "myCustomAuthenticatorType"
  }
}

Error :

Error: Failure in connecting to Drill: 
org.apache.drill.exec.rpc.NonTransientRpcException: 
javax.security.sasl.SaslException: Server requires authentication using 
[PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
MaxWrappedSize: 65536 , WrapSizeLimit: 0]. (state=,code=0)
java.sql.SQLNonTransientConnectionException: Failure in connecting to Drill: 
org.apache.drill.exec.rpc.NonTransientRpcException: 
javax.security.sasl.SaslException: Server requires authentication using 
[PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
at 
org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:178)
at 
org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:67)
at 
org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:67)
at 
org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
at org.apache.drill.jdbc.Driver.connect(Driver.java:75)
at sqlline.DatabaseConnection.connect(DatabaseConnection.java:135)
at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:192)
at sqlline.Commands.connect(Commands.java:1364)
at sqlline.Commands.connect(Commands.java:1244)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at 
sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
at sqlline.SqlLine.dispatch(SqlLine.java:730)
at sqlline.SqlLine.initArgs(SqlLine.java:410)
at sqlline.SqlLine.begin(SqlLine.java:515)
at sqlline.SqlLine.start(SqlLine.java:267)
at sqlline.SqlLine.main(SqlLine.java:206)
Caused by: org.apache.drill.exec.rpc.NonTransientRpcException: 
javax.security.sasl.SaslException: Server requires authentication using 
[PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
at 
org.apache.drill.exec.rpc.user.UserClient.connect(UserClient.java:207)
at 
org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:458)
at 
org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:402)
at 
org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:169)
... 18 more
Caused by: javax.security.sasl.SaslException: Server requires authentication 
using [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
at 
org.apache.drill.exec.rpc.user.UserClient.getAuthenticatorFactory(UserClient.java:366)
at 
org.apache.drill.exec.rpc.user.UserClient.prepareSaslHandshake(UserClient.java:442)
at 
org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:160)
at 
org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:143)
at 
org.apache.drill.exec.rpc.RequestIdMap$RpcListener.set(RequestIdMap.java:134)
at 
org.apache.drill.exec.rpc.BasicClient$ClientHandshakeHandler.consumeHandshake(BasicClient.java:318)
at 
org.apache.drill.exec.rpc.AbstractHandshakeHandler.decode(AbstractHandshakeHandler.java:57)
at 
org.apache.drill.exec.rpc.AbstractHandshakeHandler.decode(AbstractHandshakeHandler.java:29)
at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at 
io.netty.channel.AbstractChannelHandler

[jira] [Updated] (DRILL-8355) Embedded drill unable to start with security configuration

2022-11-09 Thread Nitul (Jira)


 [ 
https://issues.apache.org/jira/browse/DRILL-8355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nitul updated DRILL-8355:
-
Description: 
Security is enabled in drill in drill-override.conf:

drill.exec: {
cluster-id: "drillbits1",
 zk.connect: "host.docker.internal:2181",
  sys.store.provider.local.path="/home/user/datafolder",
  security.user.auth: {
enabled: true,
packages += "com.app.auth",
impl: "myCustomAuthenticatorType"
  }
}

Error :

Error: Failure in connecting to Drill: 
org.apache.drill.exec.rpc.NonTransientRpcException: 
javax.security.sasl.SaslException: Server requires authentication using 
[PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
MaxWrappedSize: 65536 , WrapSizeLimit: 0]. (state=,code=0)
java.sql.SQLNonTransientConnectionException: Failure in connecting to Drill: 
org.apache.drill.exec.rpc.NonTransientRpcException: 
javax.security.sasl.SaslException: Server requires authentication using 
[PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
at 
org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:178)
at 
org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:67)
at 
org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:67)
at 
org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
at org.apache.drill.jdbc.Driver.connect(Driver.java:75)
at sqlline.DatabaseConnection.connect(DatabaseConnection.java:135)
at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:192)
at sqlline.Commands.connect(Commands.java:1364)
at sqlline.Commands.connect(Commands.java:1244)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at 
sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
at sqlline.SqlLine.dispatch(SqlLine.java:730)
at sqlline.SqlLine.initArgs(SqlLine.java:410)
at sqlline.SqlLine.begin(SqlLine.java:515)
at sqlline.SqlLine.start(SqlLine.java:267)
at sqlline.SqlLine.main(SqlLine.java:206)
Caused by: org.apache.drill.exec.rpc.NonTransientRpcException: 
javax.security.sasl.SaslException: Server requires authentication using 
[PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
at 
org.apache.drill.exec.rpc.user.UserClient.connect(UserClient.java:207)
at 
org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:458)
at 
org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:402)
at 
org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:169)
... 18 more
Caused by: javax.security.sasl.SaslException: Server requires authentication 
using [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
at 
org.apache.drill.exec.rpc.user.UserClient.getAuthenticatorFactory(UserClient.java:366)
at 
org.apache.drill.exec.rpc.user.UserClient.prepareSaslHandshake(UserClient.java:442)
at 
org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:160)
at 
org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:143)
at 
org.apache.drill.exec.rpc.RequestIdMap$RpcListener.set(RequestIdMap.java:134)
at 
org.apache.drill.exec.rpc.BasicClient$ClientHandshakeHandler.consumeHandshake(BasicClient.java:318)
at 
org.apache.drill.exec.rpc.AbstractHandshakeHandler.decode(AbstractHandshakeHandler.java:57)
at 
org.apache.drill.exec.rpc.AbstractHandshakeHandler.decode(AbstractHandshakeHandler.java:29)
at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
at 
io.netty.c

[jira] [Commented] (DRILL-8355) Embedded drill unable to start with security configuration

2022-11-09 Thread James Turton (Jira)


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

James Turton commented on DRILL-8355:
-

Please specify a username and password on the embedded Drill command line and 
let us know there is still a problem.
{code:java}
drill-embedded -n alice -p topsecret{code}

> Embedded drill unable to start with security configuration 
> ---
>
> Key: DRILL-8355
> URL: https://issues.apache.org/jira/browse/DRILL-8355
> Project: Apache Drill
>  Issue Type: Bug
>  Components:  Server, Security
>Affects Versions: 1.17.0
>Reporter: Nitul
>Priority: Major
>
> Security is enabled in drill in drill-override.conf:
> drill.exec: {
> cluster-id: "drillbits1",
>  zk.connect: "host.docker.internal:2181",
>   sys.store.provider.local.path="/home/user/datafolder",
>   security.user.auth: {
> enabled: true,
> packages += "com.app.auth",
> impl: "myCustomAuthenticatorType"
>   }
> }
> Error :
> Error: Failure in connecting to Drill: 
> org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. (state=,code=0)
> java.sql.SQLNonTransientConnectionException: Failure in connecting to Drill: 
> org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:178)
> at 
> org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:67)
> at 
> org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:67)
> at 
> org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
> at org.apache.drill.jdbc.Driver.connect(Driver.java:75)
> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:135)
> at 
> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:192)
> at sqlline.Commands.connect(Commands.java:1364)
> at sqlline.Commands.connect(Commands.java:1244)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:730)
> at sqlline.SqlLine.initArgs(SqlLine.java:410)
> at sqlline.SqlLine.begin(SqlLine.java:515)
> at sqlline.SqlLine.start(SqlLine.java:267)
> at sqlline.SqlLine.main(SqlLine.java:206)
> Caused by: org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.exec.rpc.user.UserClient.connect(UserClient.java:207)
> at 
> org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:458)
> at 
> org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:402)
> at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:169)
> ... 18 more
> Caused by: javax.security.sasl.SaslException: Server requires authentication 
> using [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.exec.rpc.user.UserClient.getAuthenticatorFactory(UserClient.java:366)
> at 
> org.apache.drill.exec.rpc.user.UserClient.prepareSaslHandshake(UserClient.java:442)
> at 
> org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:160)
> at 
> org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:143)
> at 
> org.apache.drill.exec.rpc.RequestIdMap$RpcListener.set(RequestIdMap.java:134)
> at 
> org.apache.drill.exec.rpc.BasicClient$ClientHandshakeHandler.consumeHandshake(BasicClient.java:318)
> at 
> org.apache.drill.exec.rpc.AbstractHandshakeHandler.decode(AbstractHandshakeHandler.java:57)
> at 
> org.apache.drill.exec.rpc.AbstractHandshakeHandler.decode(AbstractHandshakeHandler.java:29)
>

[jira] [Comment Edited] (DRILL-8355) Embedded drill unable to start with security configuration

2022-11-09 Thread James Turton (Jira)


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

James Turton edited comment on DRILL-8355 at 11/9/22 2:21 PM:
--

Please specify a username and password on the embedded Drill command line and 
let us know if there is still a problem.
{code:java}
drill-embedded -n alice -p topsecret{code}


was (Author: dzamo):
Please specify a username and password on the embedded Drill command line and 
let us know there is still a problem.
{code:java}
drill-embedded -n alice -p topsecret{code}

> Embedded drill unable to start with security configuration 
> ---
>
> Key: DRILL-8355
> URL: https://issues.apache.org/jira/browse/DRILL-8355
> Project: Apache Drill
>  Issue Type: Bug
>  Components:  Server, Security
>Affects Versions: 1.17.0
>Reporter: Nitul
>Priority: Major
>
> Security is enabled in drill in drill-override.conf:
> drill.exec: {
> cluster-id: "drillbits1",
>  zk.connect: "host.docker.internal:2181",
>   sys.store.provider.local.path="/home/user/datafolder",
>   security.user.auth: {
> enabled: true,
> packages += "com.app.auth",
> impl: "myCustomAuthenticatorType"
>   }
> }
> Error :
> Error: Failure in connecting to Drill: 
> org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. (state=,code=0)
> java.sql.SQLNonTransientConnectionException: Failure in connecting to Drill: 
> org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:178)
> at 
> org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:67)
> at 
> org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:67)
> at 
> org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
> at org.apache.drill.jdbc.Driver.connect(Driver.java:75)
> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:135)
> at 
> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:192)
> at sqlline.Commands.connect(Commands.java:1364)
> at sqlline.Commands.connect(Commands.java:1244)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:730)
> at sqlline.SqlLine.initArgs(SqlLine.java:410)
> at sqlline.SqlLine.begin(SqlLine.java:515)
> at sqlline.SqlLine.start(SqlLine.java:267)
> at sqlline.SqlLine.main(SqlLine.java:206)
> Caused by: org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.exec.rpc.user.UserClient.connect(UserClient.java:207)
> at 
> org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:458)
> at 
> org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:402)
> at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:169)
> ... 18 more
> Caused by: javax.security.sasl.SaslException: Server requires authentication 
> using [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.exec.rpc.user.UserClient.getAuthenticatorFactory(UserClient.java:366)
> at 
> org.apache.drill.exec.rpc.user.UserClient.prepareSaslHandshake(UserClient.java:442)
> at 
> org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:160)
> at 
> org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:143)
> at 
> org.apache.drill.exec.rpc.RequestIdMap$RpcListener.set(RequestIdMap.java:134)
> at 
> org.apache.drill.exec.rpc.BasicClient$ClientHandshakeHandler.consumeHa

[jira] [Commented] (DRILL-8355) Embedded drill unable to start with security configuration

2022-11-09 Thread Nitul (Jira)


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

Nitul commented on DRILL-8355:
--

Let say, this is working but in this way password is visible and not secure.



> Embedded drill unable to start with security configuration 
> ---
>
> Key: DRILL-8355
> URL: https://issues.apache.org/jira/browse/DRILL-8355
> Project: Apache Drill
>  Issue Type: Bug
>  Components:  Server, Security
>Affects Versions: 1.17.0
>Reporter: Nitul
>Priority: Major
>
> Security is enabled in drill in drill-override.conf:
> drill.exec: {
>   sys.store.provider.local.path="/home/user/somedatafolder",
>   security.user.auth: {
> enabled: true,
> packages += "com.app",
> impl: "myCustomAuthenticatorType"
>   }
> },
> // below properties are used by the custom authenticator to fetch the 
> password from external service
> drill.username: "username",
> drill.password.key: "passkey",
> drill.password.sentry.url: "https://somehost/api";,
> drill.exec.options: {
> security.admin.users: "username"
> }
> Error :
> Error: Failure in connecting to Drill: 
> org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. (state=,code=0)
> java.sql.SQLNonTransientConnectionException: Failure in connecting to Drill: 
> org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:178)
> at 
> org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:67)
> at 
> org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:67)
> at 
> org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
> at org.apache.drill.jdbc.Driver.connect(Driver.java:75)
> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:135)
> at 
> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:192)
> at sqlline.Commands.connect(Commands.java:1364)
> at sqlline.Commands.connect(Commands.java:1244)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:730)
> at sqlline.SqlLine.initArgs(SqlLine.java:410)
> at sqlline.SqlLine.begin(SqlLine.java:515)
> at sqlline.SqlLine.start(SqlLine.java:267)
> at sqlline.SqlLine.main(SqlLine.java:206)
> Caused by: org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.exec.rpc.user.UserClient.connect(UserClient.java:207)
> at 
> org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:458)
> at 
> org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:402)
> at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:169)
> ... 18 more
> Caused by: javax.security.sasl.SaslException: Server requires authentication 
> using [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.exec.rpc.user.UserClient.getAuthenticatorFactory(UserClient.java:366)
> at 
> org.apache.drill.exec.rpc.user.UserClient.prepareSaslHandshake(UserClient.java:442)
> at 
> org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:160)
> at 
> org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:143)
> at 
> org.apache.drill.exec.rpc.RequestIdMap$RpcListener.set(RequestIdMap.java:134)
> at 
> org.apache.drill.exec.rpc.BasicClient$ClientHandshakeHandler.consumeHandshake(BasicClient.java:318)
> at 
> org.apache.drill.exec.rpc.AbstractHandshakeHandler.decode(AbstractHandshakeHandler.java:57

[jira] [Updated] (DRILL-8355) Embedded drill unable to start with security configuration

2022-11-09 Thread Nitul (Jira)


 [ 
https://issues.apache.org/jira/browse/DRILL-8355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nitul updated DRILL-8355:
-
Description: 
Security is enabled in drill in drill-override.conf:

drill.exec: {
  sys.store.provider.local.path="/home/user/somedatafolder",
  security.user.auth: {
enabled: true,
packages += "com.app",
impl: "myCustomAuthenticatorType"
  }
},
// below properties are used by the custom authenticator to fetch the password 
from external service
drill.username: "username",
drill.password.key: "passkey",
drill.password.sentry.url: "https://somehost/api";,

drill.exec.options: {
security.admin.users: "username"
}

Error :

Error: Failure in connecting to Drill: 
org.apache.drill.exec.rpc.NonTransientRpcException: 
javax.security.sasl.SaslException: Server requires authentication using 
[PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
MaxWrappedSize: 65536 , WrapSizeLimit: 0]. (state=,code=0)
java.sql.SQLNonTransientConnectionException: Failure in connecting to Drill: 
org.apache.drill.exec.rpc.NonTransientRpcException: 
javax.security.sasl.SaslException: Server requires authentication using 
[PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
at 
org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:178)
at 
org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:67)
at 
org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:67)
at 
org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
at org.apache.drill.jdbc.Driver.connect(Driver.java:75)
at sqlline.DatabaseConnection.connect(DatabaseConnection.java:135)
at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:192)
at sqlline.Commands.connect(Commands.java:1364)
at sqlline.Commands.connect(Commands.java:1244)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at 
sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
at sqlline.SqlLine.dispatch(SqlLine.java:730)
at sqlline.SqlLine.initArgs(SqlLine.java:410)
at sqlline.SqlLine.begin(SqlLine.java:515)
at sqlline.SqlLine.start(SqlLine.java:267)
at sqlline.SqlLine.main(SqlLine.java:206)
Caused by: org.apache.drill.exec.rpc.NonTransientRpcException: 
javax.security.sasl.SaslException: Server requires authentication using 
[PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
at 
org.apache.drill.exec.rpc.user.UserClient.connect(UserClient.java:207)
at 
org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:458)
at 
org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:402)
at 
org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:169)
... 18 more
Caused by: javax.security.sasl.SaslException: Server requires authentication 
using [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
at 
org.apache.drill.exec.rpc.user.UserClient.getAuthenticatorFactory(UserClient.java:366)
at 
org.apache.drill.exec.rpc.user.UserClient.prepareSaslHandshake(UserClient.java:442)
at 
org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:160)
at 
org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:143)
at 
org.apache.drill.exec.rpc.RequestIdMap$RpcListener.set(RequestIdMap.java:134)
at 
org.apache.drill.exec.rpc.BasicClient$ClientHandshakeHandler.consumeHandshake(BasicClient.java:318)
at 
org.apache.drill.exec.rpc.AbstractHandshakeHandler.decode(AbstractHandshakeHandler.java:57)
at 
org.apache.drill.exec.rpc.AbstractHandshakeHandler.decode(AbstractHandshakeHandler.java:29)
at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at 
io.netty.channel.AbstractChannelHandl

[jira] [Commented] (DRILL-8355) Embedded drill unable to start with security configuration

2022-11-09 Thread Nitul (Jira)


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

Nitul commented on DRILL-8355:
--

Specifically we are fetching password with custom authentication provider and 
that will fetch the password from secured service.

drill.exec: {
  sys.store.provider.local.path="/home/user/somedatafolder",
  security.user.auth: {
enabled: true,
packages += "com.app",
impl: "myCustomAuthenticatorType" // custom auth provider
  }
},
// below properties are used by the custom authenticator to fetch the password 
from external service
drill.username: "username",
drill.password.key: "passkey",
drill.password.sentry.url: "https://somehost/api";,

drill.exec.options: {
security.admin.users: "username"
}

> Embedded drill unable to start with security configuration 
> ---
>
> Key: DRILL-8355
> URL: https://issues.apache.org/jira/browse/DRILL-8355
> Project: Apache Drill
>  Issue Type: Bug
>  Components:  Server, Security
>Affects Versions: 1.17.0
>Reporter: Nitul
>Priority: Major
>
> Security is enabled in drill in drill-override.conf:
> drill.exec: {
>   sys.store.provider.local.path="/home/user/somedatafolder",
>   security.user.auth: {
> enabled: true,
> packages += "com.app",
> impl: "myCustomAuthenticatorType"
>   }
> },
> // below properties are used by the custom authenticator to fetch the 
> password from external service
> drill.username: "username",
> drill.password.key: "passkey",
> drill.password.sentry.url: "https://somehost/api";,
> drill.exec.options: {
> security.admin.users: "username"
> }
> Error :
> Error: Failure in connecting to Drill: 
> org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. (state=,code=0)
> java.sql.SQLNonTransientConnectionException: Failure in connecting to Drill: 
> org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:178)
> at 
> org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:67)
> at 
> org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:67)
> at 
> org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
> at org.apache.drill.jdbc.Driver.connect(Driver.java:75)
> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:135)
> at 
> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:192)
> at sqlline.Commands.connect(Commands.java:1364)
> at sqlline.Commands.connect(Commands.java:1244)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:730)
> at sqlline.SqlLine.initArgs(SqlLine.java:410)
> at sqlline.SqlLine.begin(SqlLine.java:515)
> at sqlline.SqlLine.start(SqlLine.java:267)
> at sqlline.SqlLine.main(SqlLine.java:206)
> Caused by: org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.exec.rpc.user.UserClient.connect(UserClient.java:207)
> at 
> org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:458)
> at 
> org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:402)
> at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:169)
> ... 18 more
> Caused by: javax.security.sasl.SaslException: Server requires authentication 
> using [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.exec.rpc.user.UserClient.getAuthenticatorFactory(UserClient.java:366)
> at 
> org.apache.drill.exec.rpc.user.UserClient.prepareSaslHandshake(UserClient.java:442)
> at 
> org.a

[jira] [Commented] (DRILL-8355) Embedded drill unable to start with security configuration

2022-11-09 Thread Nitul (Jira)


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

Nitul commented on DRILL-8355:
--

Same error, run with same custom configuration and command line options.

> Embedded drill unable to start with security configuration 
> ---
>
> Key: DRILL-8355
> URL: https://issues.apache.org/jira/browse/DRILL-8355
> Project: Apache Drill
>  Issue Type: Bug
>  Components:  Server, Security
>Affects Versions: 1.17.0
>Reporter: Nitul
>Priority: Major
>
> Security is enabled in drill in drill-override.conf:
> drill.exec: {
>   sys.store.provider.local.path="/home/user/somedatafolder",
>   security.user.auth: {
> enabled: true,
> packages += "com.app",
> impl: "myCustomAuthenticatorType"
>   }
> },
> // below properties are used by the custom authenticator to fetch the 
> password from external service
> drill.username: "username",
> drill.password.key: "passkey",
> drill.password.sentry.url: "https://somehost/api";,
> drill.exec.options: {
> security.admin.users: "username"
> }
> Error :
> Error: Failure in connecting to Drill: 
> org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. (state=,code=0)
> java.sql.SQLNonTransientConnectionException: Failure in connecting to Drill: 
> org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:178)
> at 
> org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:67)
> at 
> org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:67)
> at 
> org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
> at org.apache.drill.jdbc.Driver.connect(Driver.java:75)
> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:135)
> at 
> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:192)
> at sqlline.Commands.connect(Commands.java:1364)
> at sqlline.Commands.connect(Commands.java:1244)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:730)
> at sqlline.SqlLine.initArgs(SqlLine.java:410)
> at sqlline.SqlLine.begin(SqlLine.java:515)
> at sqlline.SqlLine.start(SqlLine.java:267)
> at sqlline.SqlLine.main(SqlLine.java:206)
> Caused by: org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.exec.rpc.user.UserClient.connect(UserClient.java:207)
> at 
> org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:458)
> at 
> org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:402)
> at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:169)
> ... 18 more
> Caused by: javax.security.sasl.SaslException: Server requires authentication 
> using [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.exec.rpc.user.UserClient.getAuthenticatorFactory(UserClient.java:366)
> at 
> org.apache.drill.exec.rpc.user.UserClient.prepareSaslHandshake(UserClient.java:442)
> at 
> org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:160)
> at 
> org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:143)
> at 
> org.apache.drill.exec.rpc.RequestIdMap$RpcListener.set(RequestIdMap.java:134)
> at 
> org.apache.drill.exec.rpc.BasicClient$ClientHandshakeHandler.consumeHandshake(BasicClient.java:318)
> at 
> org.apache.drill.exec.rpc.AbstractHandshakeHandler.decode(AbstractHandshakeHandler.java:57)
>   

[jira] [Commented] (DRILL-8354) Add IS_EMPTY Function.

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


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

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

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




> Add IS_EMPTY Function.
> --
>
> Key: DRILL-8354
> URL: https://issues.apache.org/jira/browse/DRILL-8354
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Functions - Drill
>Affects Versions: 1.20.2
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 2.0.0
>
>
> When analyzing data, there is currently no single function to evaluate 
> whether a given field is empty.  With scalar fields, this can be accomplished 
> with the `IS NOT NULL` operator, but with complex fields, this is more 
> challenging as complex fields are never null. 
> This PR adds a UDF called IS_EMPTY() which accepts any type of field and 
> returns true if the field does not contain data.  
>  
> In the case of scalar fields, if the field is `null` this returns true.  In 
> the case of complex fields, which can never be `null`, in the case of lists, 
> the function returns true if the list is empty.  In the case of maps, it 
> returns true if all of the map's fields are unpopulated. 



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


[jira] [Created] (DRILL-8356) Add File Name to GoogleSheets Plugin

2022-11-09 Thread Charles Givre (Jira)
Charles Givre created DRILL-8356:


 Summary: Add File Name to GoogleSheets Plugin
 Key: DRILL-8356
 URL: https://issues.apache.org/jira/browse/DRILL-8356
 Project: Apache Drill
  Issue Type: Improvement
  Components: Storage - GoogleSheets
Affects Versions: 2.0.0
Reporter: Charles Givre
Assignee: Charles Givre
 Fix For: 2.0.0


GoogleSheets uses tokens to identify the individual files.  These tokens are 
not human readable and will make it difficult for a user to know which file 
they are accessing.  

This PR adds a metadata field called `_title` which identifies the document 
they are working with.



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


[jira] [Commented] (DRILL-8356) Add File Name to GoogleSheets Plugin

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


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

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

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

   # [DRILL-8356](https://issues.apache.org/jira/browse/DRILL-): Add File 
Name to GoogleSheets Plugin
   
   ## Description
   
   GoogleSheets uses tokens to identify the individual files.  These tokens are 
not human readable and will make it difficult for a user to know which file 
they are accessing.  
   This PR adds a metadata field called `_title` which identifies the document 
they are working with.
   
   ## Documentation
   Updated README.
   
   ## Testing
   Added unit test.




> Add File Name to GoogleSheets Plugin
> 
>
> Key: DRILL-8356
> URL: https://issues.apache.org/jira/browse/DRILL-8356
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - GoogleSheets
>Affects Versions: 2.0.0
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Minor
> Fix For: 2.0.0
>
>
> GoogleSheets uses tokens to identify the individual files.  These tokens are 
> not human readable and will make it difficult for a user to know which file 
> they are accessing.  
> This PR adds a metadata field called `_title` which identifies the document 
> they are working with.



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


[jira] [Commented] (DRILL-8351) UserRemoteException : SYSTEM ERROR: NullPointerException: Schema is currently null. You must call buildSchema(SelectionVectorMode) before this container can return a

2022-11-09 Thread Ravi Kiran (Jira)


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

Ravi Kiran commented on DRILL-8351:
---

[~dzamo] checking with client.

>  UserRemoteException :SYSTEM ERROR: NullPointerException: Schema is 
> currently null.  You must call buildSchema(SelectionVectorMode) before this 
> container can return a schema.
> 
>
> Key: DRILL-8351
> URL: https://issues.apache.org/jira/browse/DRILL-8351
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Client - Java
> Environment: version 1.19 and 1.20.2
>Reporter: Ravi Kiran
>Priority: Critical
> Attachments: SUPPLIERS-20220720082618924.csv, 
> SUPPLIERS-20220720082618936-2.csv, SUPPLIERS-20220720082618946-1.csv, 
> SUPPLIERS-20220720082618958-2.csv, SUPPLIERS-2022072008261930.csv
>
>
> Hi Team,
> I have more than 100k records in my directory, but I am able to fetch only 
> 100k records, not able to fetch after 100k records by using limit and offset.
> I am attaching files also.
>  
> if i use 1.17 or 1.14 able to fetch all records.
>  
> SELECT * FROM dfs. `C:\Users\ravik\Downloads\test_folder` LIMIT 1 OFFSET 
> 9



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


[jira] [Commented] (DRILL-8355) Embedded drill unable to start with security configuration

2022-11-09 Thread Nitul (Jira)


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

Nitul commented on DRILL-8355:
--

If we run with this command - drill-embedded -n alice -p topsecret it is 
working. But it is not asking for passwords any more.

> Embedded drill unable to start with security configuration 
> ---
>
> Key: DRILL-8355
> URL: https://issues.apache.org/jira/browse/DRILL-8355
> Project: Apache Drill
>  Issue Type: Bug
>  Components:  Server, Security
>Affects Versions: 1.17.0
>Reporter: Nitul
>Priority: Major
>
> Security is enabled in drill in drill-override.conf:
> drill.exec: {
>   sys.store.provider.local.path="/home/user/somedatafolder",
>   security.user.auth: {
> enabled: true,
> packages += "com.app",
> impl: "myCustomAuthenticatorType"
>   }
> },
> // below properties are used by the custom authenticator to fetch the 
> password from external service
> drill.username: "username",
> drill.password.key: "passkey",
> drill.password.sentry.url: "https://somehost/api";,
> drill.exec.options: {
> security.admin.users: "username"
> }
> Error :
> Error: Failure in connecting to Drill: 
> org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. (state=,code=0)
> java.sql.SQLNonTransientConnectionException: Failure in connecting to Drill: 
> org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:178)
> at 
> org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:67)
> at 
> org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:67)
> at 
> org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
> at org.apache.drill.jdbc.Driver.connect(Driver.java:75)
> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:135)
> at 
> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:192)
> at sqlline.Commands.connect(Commands.java:1364)
> at sqlline.Commands.connect(Commands.java:1244)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:730)
> at sqlline.SqlLine.initArgs(SqlLine.java:410)
> at sqlline.SqlLine.begin(SqlLine.java:515)
> at sqlline.SqlLine.start(SqlLine.java:267)
> at sqlline.SqlLine.main(SqlLine.java:206)
> Caused by: org.apache.drill.exec.rpc.NonTransientRpcException: 
> javax.security.sasl.SaslException: Server requires authentication using 
> [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.exec.rpc.user.UserClient.connect(UserClient.java:207)
> at 
> org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:458)
> at 
> org.apache.drill.exec.client.DrillClient.connect(DrillClient.java:402)
> at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.(DrillConnectionImpl.java:169)
> ... 18 more
> Caused by: javax.security.sasl.SaslException: Server requires authentication 
> using [PLAIN]. Insufficient credentials?. [Details: Encryption: disabled , 
> MaxWrappedSize: 65536 , WrapSizeLimit: 0]. 
> at 
> org.apache.drill.exec.rpc.user.UserClient.getAuthenticatorFactory(UserClient.java:366)
> at 
> org.apache.drill.exec.rpc.user.UserClient.prepareSaslHandshake(UserClient.java:442)
> at 
> org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:160)
> at 
> org.apache.drill.exec.rpc.ConnectionMultiListener$HandshakeSendHandler.success(ConnectionMultiListener.java:143)
> at 
> org.apache.drill.exec.rpc.RequestIdMap$RpcListener.set(RequestIdMap.java:134)
> at 
> org.apache.drill.exec.rpc.BasicClient$ClientHandshakeHandler.consumeHandshake(BasicClient.java:318)
> at 
> org.apache.drill.exec.rpc.AbstractHandsha