[jira] [Commented] (DRILL-8354) Add IS_EMPTY Function.
[ 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.
[ 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.
[ 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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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.
[ 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
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
[ 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
[ 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
[ 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