[jira] [Commented] (DRILL-7657) Invalid internal link

2020-03-24 Thread Aaron-Mhs (Jira)


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

Aaron-Mhs commented on DRILL-7657:
--

[~volodymyr] , I am thinking about a question, how do I open this new pull 
request on the branch you 
mentioned([https://github.com/apache/drill/tree/gh-pages]), because my current 
problem is that I cannot open the link address in the document, but I do n’t 
know what the content of the link really is.

> Invalid internal link
> -
>
> Key: DRILL-7657
> URL: https://issues.apache.org/jira/browse/DRILL-7657
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Security
>Affects Versions: 1.17.0
>Reporter: Aaron-Mhs
>Assignee: Aaron-Mhs
>Priority: Major
> Attachments: image-2020-03-24-14-57-53-568.png, 
> image-2020-03-24-14-58-17-865.png
>
>
> There is an invalid link (Prerequisites-> See Enabling Authentication and 
> Encryption.) In the Configuring Kerberos Security module in the document. 
> After opening, it displays 404 (The requested URL was not found on this 
> server.), And I hope to fix it as soon as possible.
> !image-2020-03-24-14-57-53-568.png!
> !image-2020-03-24-14-58-17-865.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (DRILL-7660) Modify Drill Dockerfiles

2020-03-24 Thread Abhishek Girish (Jira)
Abhishek Girish created DRILL-7660:
--

 Summary: Modify Drill Dockerfiles
 Key: DRILL-7660
 URL: https://issues.apache.org/jira/browse/DRILL-7660
 Project: Apache Drill
  Issue Type: Sub-task
Reporter: Abhishek Girish
Assignee: Abhishek Girish






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (DRILL-7659) Add support for Helm Charts based deployment on Kubernetes

2020-03-24 Thread Abhishek Girish (Jira)
Abhishek Girish created DRILL-7659:
--

 Summary: Add support for Helm Charts based deployment on Kubernetes
 Key: DRILL-7659
 URL: https://issues.apache.org/jira/browse/DRILL-7659
 Project: Apache Drill
  Issue Type: Sub-task
Reporter: Abhishek Girish
Assignee: Abhishek Girish






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (DRILL-7658) Vector allocateNew() has poor error reporting

2020-03-24 Thread Paul Rogers (Jira)
Paul Rogers created DRILL-7658:
--

 Summary: Vector allocateNew() has poor error reporting
 Key: DRILL-7658
 URL: https://issues.apache.org/jira/browse/DRILL-7658
 Project: Apache Drill
  Issue Type: Bug
Affects Versions: 1.17.0
Reporter: Paul Rogers


See posting by Charles on 2020-03-24 on the user and dev lists of a message 
forwarded from another user where a query ran out of memory. Stack trace:

{noformat}
Caused by: org.apache.drill.exec.exception.OutOfMemoryException: null
    at 
org.apache.drill.exec.vector.complex.AbstractContainerVector.allocateNew(AbstractContainerVector.java:59)
    at 
org.apache.drill.exec.test.generated.PartitionerGen5$OutgoingRecordBatch.allocateOutgoingRecordBatch(PartitionerTemplate.
{noformat}

Notice the complete lack of context. The method in question:

{code:java}
  public void allocateNew() throws OutOfMemoryException {
   if (!allocateNewSafe()) {
 throw new OutOfMemoryException();
 }
   }
{code}

A generated implementation of the {{allocateNewSafe()}} method:

{code:java}
  @Override
  public boolean allocateNewSafe() {
long curAllocationSize = allocationSizeInBytes;
if (allocationMonitor > 10) {
  curAllocationSize = Math.max(8, curAllocationSize / 2);
  allocationMonitor = 0;
} else if (allocationMonitor < -2) {
  curAllocationSize = allocationSizeInBytes * 2L;
  allocationMonitor = 0;
}

try{
  allocateBytes(curAllocationSize);
} catch (DrillRuntimeException ex) {
  return false;
}
return true;
  }
{code}

Note that the {{allocateNew()}} method is not "safe" (it throws an exception), 
but it does so by discarding the underlying exception. What should happen is 
that the "non-safe" {{allocateNew()}} should call the {{allocateBytes()}} 
method and simply forward the {{DrillRuntimeException}}. It probably does not 
do so because the author wanted to reuse the extra size calcs in 
{{allocateNewSafe()}}.

The solution is to put the calcs and the call to {{allocateBytes()}} in a 
"non-safe" method, and call that entire method from {{allocateNew()}} and 
{{allocateNewSafe()}}.  Or, better, generate {{allocateNew()}} using the above 
code, but have the base class define {{allocateNewSafe()}} as a wrapper.

Note an extra complexity: although the base class provides the method shown 
above, each generated vector also provides:

{code:java}
  @Override
  public void allocateNew() {
if (!allocateNewSafe()) {
  throw new OutOfMemoryException("Failure while allocating buffer.");
}
  }
{code}

Which is both redundant and inconsistent (one has a message, the other does 
not.)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-7641) Convert Excel Reader to Use Streaming Reader

2020-03-24 Thread Arina Ielchiieva (Jira)


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

Arina Ielchiieva commented on DRILL-7641:
-

[~cgivre] sorry made this by mistake.

> Convert Excel Reader to Use Streaming Reader
> 
>
> Key: DRILL-7641
> URL: https://issues.apache.org/jira/browse/DRILL-7641
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - Text  CSV
>Affects Versions: 1.17.0
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 1.18.0
>
>
> The current implementation of the Excel reader uses the Apache POI reader, 
> which uses excessive amounts of memory. As a result, attempting to read large 
> Excel files will cause out of memory errors. 
> This PR converts the format plugin to use a streaming reader, based still on 
> the POI library.  The documentation for the streaming reader can be found 
> here. [1]
> All unit tests pass and I tested the plugin with some large Excel files on my 
> computer.
> [1]: [https://github.com/pjfanning/excel-streaming-reader]
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (DRILL-7641) Convert Excel Reader to Use Streaming Reader

2020-03-24 Thread Arina Ielchiieva (Jira)


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

Arina Ielchiieva updated DRILL-7641:

Fix Version/s: 1.18.0

> Convert Excel Reader to Use Streaming Reader
> 
>
> Key: DRILL-7641
> URL: https://issues.apache.org/jira/browse/DRILL-7641
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - Text  CSV
>Affects Versions: 1.17.0
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
> Fix For: 1.18.0
>
>
> The current implementation of the Excel reader uses the Apache POI reader, 
> which uses excessive amounts of memory. As a result, attempting to read large 
> Excel files will cause out of memory errors. 
> This PR converts the format plugin to use a streaming reader, based still on 
> the POI library.  The documentation for the streaming reader can be found 
> here. [1]
> All unit tests pass and I tested the plugin with some large Excel files on my 
> computer.
> [1]: [https://github.com/pjfanning/excel-streaming-reader]
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-7641) Convert Excel Reader to Use Streaming Reader

2020-03-24 Thread Charles Givre (Jira)


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

Charles Givre commented on DRILL-7641:
--

[~arina], Why was the fix version changed?  I believe this PR is reviewable and 
is not a major change.  I don't think this will be a major task to get this 
into Drill 1.18.

> Convert Excel Reader to Use Streaming Reader
> 
>
> Key: DRILL-7641
> URL: https://issues.apache.org/jira/browse/DRILL-7641
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - Text  CSV
>Affects Versions: 1.17.0
>Reporter: Charles Givre
>Assignee: Charles Givre
>Priority: Major
>
> The current implementation of the Excel reader uses the Apache POI reader, 
> which uses excessive amounts of memory. As a result, attempting to read large 
> Excel files will cause out of memory errors. 
> This PR converts the format plugin to use a streaming reader, based still on 
> the POI library.  The documentation for the streaming reader can be found 
> here. [1]
> All unit tests pass and I tested the plugin with some large Excel files on my 
> computer.
> [1]: [https://github.com/pjfanning/excel-streaming-reader]
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (DRILL-6851) Create Drill Operator for Kubernetes

2020-03-24 Thread Abhishek Girish (Jira)


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

Abhishek Girish updated DRILL-6851:
---
Parent: DRILL-6598
Issue Type: Sub-task  (was: Task)

> Create Drill Operator for Kubernetes
> 
>
> Key: DRILL-6851
> URL: https://issues.apache.org/jira/browse/DRILL-6851
> Project: Apache Drill
>  Issue Type: Sub-task
>Reporter: Abhishek Girish
>Assignee: Abhishek Girish
>Priority: Major
>
> This task is to track creating an initial version of the Drill Operator for 
> Kubernetes. I'll shortly update the JIRA on background, details on Operator, 
> and what's planned for the first version. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-7563) Docker & Kubernetes Drill server container

2020-03-24 Thread Abhishek Girish (Jira)


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

Abhishek Girish commented on DRILL-7563:


[~cgivre], once we get my changes in to Drill GitHub repo, I think we can work 
on the docs / tutorials. I also have some material which can help for it. 

> Docker & Kubernetes Drill server container
> --
>
> Key: DRILL-7563
> URL: https://issues.apache.org/jira/browse/DRILL-7563
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Major
>
> Drill provides two Docker containers:
> * [Build Drill from 
> sources|https://github.com/apache/drill/blob/master/Dockerfile]
> * [Run Drill in interactive embedded 
> mode|https://github.com/apache/drill/blob/master/distribution/Dockerfile]
> User feedback suggests that these are not quite the right solutions to run 
> Drill in a K8s (or OpenShift) cluster. In addition, we need a container to 
> run a Drill server. This ticket summarizes the tasks involved.
> h4. Container Image
> The container image should:
> * Start with the OpenJDK base image with minimal extra packages.
> * Download and install an official Drill release.
> We may then want to provide two derived images:
> The Drillbit image which:
> * Configures Drill for production and as needed in the following steps.
> * Provides entry points for the Drillbit and for Sqlline
> * Exposes Drill's four ports
> * Accept as parameters things like the ZK host IP(s).
> The Sqlline image, meant to be run in interactive mode (like the current 
> embedded image) and which:
> * Accept as parameters the ZK host IP(s).
> Both should be published to the official Drill DockerHub account: 
> https://hub.docker.com/r/apache/drill
> h4. Runtime Environment
> Drill has very few dependencies, but it must have a running ZK.
> * Start a [ZK container|https://hub.docker.com/_/zookeeper/].
> * A place to store logs, which can be in the container by default, stored on 
> the host file system via a volume mount.
> * Access to a data source, which can be configured via a storage plugin 
> stored in ZK.
> * Ensure graceful shutdown integration with the Docker shutdown mechanism.
> h4. Running Drill in Docker
> Users must run at least one Drillbit, and may run more. Users may want to run 
> Sqlline.
> * The Drillbit container requires, at a minimum, the IP address of the ZK 
> instance(s).
> * The Sqlline container requires only the ZK instances, from which it can 
> find the Drillbit.
> Uses will want to customize some parts of Drill: at least memory, perhaps any 
> of the other options. Provide a way to pass this information into the 
> container to avoid the need to rebuild the container to change configuration.
> h4. Running Drill in K8s
> The containers should be usable in "plain" Docker. Today, however, many 
> people use K8s to orchestrate Docker. Thus, the Drillbit (but probably not 
> the Sqlline) container should be designed to work with K8s. An example set of 
> K8s YAML files should illustrate:
> * Create a host-mount file system to capture Drill logs and query profiles.
> * Optionally write Drill logs to stdout, to be captured by {{fluentd}} or 
> similar tools.
> * Pass Drill configuration (both HOCON and envrironment) as config maps.
> * Pass ZK as an environment variable (the value of which would, one presumes, 
> come from some kind of service discovery system.)
> The result is that the user should be able to manually tinker with the YAML 
> files, then use {{kubeadm}} to launch, monitor and stop Drill. The user sets 
> cluster size manually by launching the desired number of Drill pods.
> h4. Helm Chart for Drill
> The next step is to wrap the YAML files in a Helm chart, with parameters 
> exposed for the config options noted above.
> h4. Drill Operator for K8s
>  
> Full K8s integration will require an operator to manage the Drill cluster. 
> K8s operators are often written in Go, though doing so is not necessary. 
> Drill already includes Drill-on-YARN which is, essential a "YARN operator." 
> Repurpose this code to work with K8s as the target cluster manager rather 
> than YARN. Reuse the same operations from DoY: configure, start, resize and 
> stop a cluster.
> h4. Security
> The above steps provide an "MVP": minimum viable project - it will run Drill 
> with standard options in the various environments. Users who chose to run 
> Drill in production will likely require additional security settings. Enable 
> SSL? Control ingress? We need to understand what is needed, what Drill 
> offers, and how to enable Drill's security features in a containerized 
> environment.
> h4. Production Deployments
> With Docker and K8s the old maxim "the devil is in the details" is true 

[jira] [Commented] (DRILL-7563) Docker & Kubernetes Drill server container

2020-03-24 Thread Dobes Vandermeer (Jira)


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

Dobes Vandermeer commented on DRILL-7563:
-

[~cgivre]

I don't have time to write a tutorial, sorry.

[~rjaimes]

Those yaml files were enough to get drill running, but I haven't tested them 
much. A few times I had problems with zookeeper not coming back online, I think 
it was some kind of DNS resolution issue, I tried to fix it but I can't be sure 
I was successful yet. I never reached the point that I was confident that I 
could run a zookeeper & drill setup on kubernetes without worrying it would 
fail on me at an inopportune moment.

 

 

> Docker & Kubernetes Drill server container
> --
>
> Key: DRILL-7563
> URL: https://issues.apache.org/jira/browse/DRILL-7563
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Major
>
> Drill provides two Docker containers:
> * [Build Drill from 
> sources|https://github.com/apache/drill/blob/master/Dockerfile]
> * [Run Drill in interactive embedded 
> mode|https://github.com/apache/drill/blob/master/distribution/Dockerfile]
> User feedback suggests that these are not quite the right solutions to run 
> Drill in a K8s (or OpenShift) cluster. In addition, we need a container to 
> run a Drill server. This ticket summarizes the tasks involved.
> h4. Container Image
> The container image should:
> * Start with the OpenJDK base image with minimal extra packages.
> * Download and install an official Drill release.
> We may then want to provide two derived images:
> The Drillbit image which:
> * Configures Drill for production and as needed in the following steps.
> * Provides entry points for the Drillbit and for Sqlline
> * Exposes Drill's four ports
> * Accept as parameters things like the ZK host IP(s).
> The Sqlline image, meant to be run in interactive mode (like the current 
> embedded image) and which:
> * Accept as parameters the ZK host IP(s).
> Both should be published to the official Drill DockerHub account: 
> https://hub.docker.com/r/apache/drill
> h4. Runtime Environment
> Drill has very few dependencies, but it must have a running ZK.
> * Start a [ZK container|https://hub.docker.com/_/zookeeper/].
> * A place to store logs, which can be in the container by default, stored on 
> the host file system via a volume mount.
> * Access to a data source, which can be configured via a storage plugin 
> stored in ZK.
> * Ensure graceful shutdown integration with the Docker shutdown mechanism.
> h4. Running Drill in Docker
> Users must run at least one Drillbit, and may run more. Users may want to run 
> Sqlline.
> * The Drillbit container requires, at a minimum, the IP address of the ZK 
> instance(s).
> * The Sqlline container requires only the ZK instances, from which it can 
> find the Drillbit.
> Uses will want to customize some parts of Drill: at least memory, perhaps any 
> of the other options. Provide a way to pass this information into the 
> container to avoid the need to rebuild the container to change configuration.
> h4. Running Drill in K8s
> The containers should be usable in "plain" Docker. Today, however, many 
> people use K8s to orchestrate Docker. Thus, the Drillbit (but probably not 
> the Sqlline) container should be designed to work with K8s. An example set of 
> K8s YAML files should illustrate:
> * Create a host-mount file system to capture Drill logs and query profiles.
> * Optionally write Drill logs to stdout, to be captured by {{fluentd}} or 
> similar tools.
> * Pass Drill configuration (both HOCON and envrironment) as config maps.
> * Pass ZK as an environment variable (the value of which would, one presumes, 
> come from some kind of service discovery system.)
> The result is that the user should be able to manually tinker with the YAML 
> files, then use {{kubeadm}} to launch, monitor and stop Drill. The user sets 
> cluster size manually by launching the desired number of Drill pods.
> h4. Helm Chart for Drill
> The next step is to wrap the YAML files in a Helm chart, with parameters 
> exposed for the config options noted above.
> h4. Drill Operator for K8s
>  
> Full K8s integration will require an operator to manage the Drill cluster. 
> K8s operators are often written in Go, though doing so is not necessary. 
> Drill already includes Drill-on-YARN which is, essential a "YARN operator." 
> Repurpose this code to work with K8s as the target cluster manager rather 
> than YARN. Reuse the same operations from DoY: configure, start, resize and 
> stop a cluster.
> h4. Security
> The above steps provide an "MVP": minimum viable project - it will run Drill 
> with standard options in the various environments. Users who chose 

[jira] [Commented] (DRILL-7633) Fixes for union and repeated list accessors

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

paul-rogers commented on issue #2018: DRILL-7633: Fixes for union and repeated 
list accessors
URL: https://github.com/apache/drill/pull/2018#issuecomment-603434987
 
 
   @arina-ielchiieva, thanks for the suggestions, they solved the problem. I 
suspect we have some confusion with those methods based on earlier testing, but 
we'll fix those issues later.
   
   Squashed commits and reran all unit tests. We should be good to go. Thanks 
again for your help.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Fixes for union and repeated list accessors
> ---
>
> Key: DRILL-7633
> URL: https://issues.apache.org/jira/browse/DRILL-7633
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Minor
> Fix For: 1.18.0
>
>
> Minor fixes for repeated list and Union type support in column accessors



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-7563) Docker & Kubernetes Drill server container

2020-03-24 Thread Abhishek Girish (Jira)


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

Abhishek Girish commented on DRILL-7563:


I've added support for  auto-scaling and I've tested that it works well. Please 
see: https://github.com/Agirish/drill-helm-charts#autoscaling-drill-clusters

I  have a script to test this: 
https://github.com/Agirish/drill-helm-charts/blob/master/scripts/runCPULoadTest.sh

> Docker & Kubernetes Drill server container
> --
>
> Key: DRILL-7563
> URL: https://issues.apache.org/jira/browse/DRILL-7563
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Major
>
> Drill provides two Docker containers:
> * [Build Drill from 
> sources|https://github.com/apache/drill/blob/master/Dockerfile]
> * [Run Drill in interactive embedded 
> mode|https://github.com/apache/drill/blob/master/distribution/Dockerfile]
> User feedback suggests that these are not quite the right solutions to run 
> Drill in a K8s (or OpenShift) cluster. In addition, we need a container to 
> run a Drill server. This ticket summarizes the tasks involved.
> h4. Container Image
> The container image should:
> * Start with the OpenJDK base image with minimal extra packages.
> * Download and install an official Drill release.
> We may then want to provide two derived images:
> The Drillbit image which:
> * Configures Drill for production and as needed in the following steps.
> * Provides entry points for the Drillbit and for Sqlline
> * Exposes Drill's four ports
> * Accept as parameters things like the ZK host IP(s).
> The Sqlline image, meant to be run in interactive mode (like the current 
> embedded image) and which:
> * Accept as parameters the ZK host IP(s).
> Both should be published to the official Drill DockerHub account: 
> https://hub.docker.com/r/apache/drill
> h4. Runtime Environment
> Drill has very few dependencies, but it must have a running ZK.
> * Start a [ZK container|https://hub.docker.com/_/zookeeper/].
> * A place to store logs, which can be in the container by default, stored on 
> the host file system via a volume mount.
> * Access to a data source, which can be configured via a storage plugin 
> stored in ZK.
> * Ensure graceful shutdown integration with the Docker shutdown mechanism.
> h4. Running Drill in Docker
> Users must run at least one Drillbit, and may run more. Users may want to run 
> Sqlline.
> * The Drillbit container requires, at a minimum, the IP address of the ZK 
> instance(s).
> * The Sqlline container requires only the ZK instances, from which it can 
> find the Drillbit.
> Uses will want to customize some parts of Drill: at least memory, perhaps any 
> of the other options. Provide a way to pass this information into the 
> container to avoid the need to rebuild the container to change configuration.
> h4. Running Drill in K8s
> The containers should be usable in "plain" Docker. Today, however, many 
> people use K8s to orchestrate Docker. Thus, the Drillbit (but probably not 
> the Sqlline) container should be designed to work with K8s. An example set of 
> K8s YAML files should illustrate:
> * Create a host-mount file system to capture Drill logs and query profiles.
> * Optionally write Drill logs to stdout, to be captured by {{fluentd}} or 
> similar tools.
> * Pass Drill configuration (both HOCON and envrironment) as config maps.
> * Pass ZK as an environment variable (the value of which would, one presumes, 
> come from some kind of service discovery system.)
> The result is that the user should be able to manually tinker with the YAML 
> files, then use {{kubeadm}} to launch, monitor and stop Drill. The user sets 
> cluster size manually by launching the desired number of Drill pods.
> h4. Helm Chart for Drill
> The next step is to wrap the YAML files in a Helm chart, with parameters 
> exposed for the config options noted above.
> h4. Drill Operator for K8s
>  
> Full K8s integration will require an operator to manage the Drill cluster. 
> K8s operators are often written in Go, though doing so is not necessary. 
> Drill already includes Drill-on-YARN which is, essential a "YARN operator." 
> Repurpose this code to work with K8s as the target cluster manager rather 
> than YARN. Reuse the same operations from DoY: configure, start, resize and 
> stop a cluster.
> h4. Security
> The above steps provide an "MVP": minimum viable project - it will run Drill 
> with standard options in the various environments. Users who chose to run 
> Drill in production will likely require additional security settings. Enable 
> SSL? Control ingress? We need to understand what is needed, what Drill 
> offers, and how to enable Drill's security features in a containerized 

[jira] [Closed] (DRILL-7648) Scrypt j_security_check works without security headers

2020-03-24 Thread Dmytro Kondriukov (Jira)


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

Dmytro Kondriukov closed DRILL-7648.


verified. fixed

> Scrypt j_security_check works without security headers 
> ---
>
> Key: DRILL-7648
> URL: https://issues.apache.org/jira/browse/DRILL-7648
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.17.0
>Reporter: Dmytro Kondriukov
>Assignee: Igor Guzenko
>Priority: Major
>  Labels: ready-to-commit
> Fix For: 1.18.0
>
>
> *Preconditions:*
> drill-override.conf
> {noformat}
> drill.exec: {
>   cluster-id: "drillbits1",
>   zk.connect: "localhost:5181"
>   impersonation: {
> enabled: true,
> max_chained_user_hops: 3
> },
> security: {
> auth.mechanisms : ["PLAIN"],
> },
> security.user.auth: {
> enabled: true,
> packages += "org.apache.drill.exec.rpc.user.security",
> impl: "pam4j",
> pam_profiles: [ "sudo", "login" ]
> }
>   http: {
> ssl_enabled: true,.
> jetty.server.response.headers: {
>   "X-XSS-Protection": "1; mode=block",
>   "X-Content-Type-Options": "nosniff",
>   "Strict-Transport-Security": "max-age=31536000;includeSubDomains",
>   "Content-Security-Policy": "default-src https:; script-src 
> 'unsafe-inline' https:; style-src 'unsafe-inline' https:; font-src data: 
> https:; img-src data: https:"
> }
>   }
> }
> {noformat}
> *Steps:*
> 1. Perform login to drillbit webUI
> 2. Check in browser console in tab "network" headers of resource 
> https://node1.cluster.com:8047/j_security_check
> 3. Check section "response headers"
> *Expected result:* security headers are present
> *Actual result:* security headers are absent
> 4. Check section "Form Data"
> *Expected result:* parameter "j_password" content is hidden
> *Actual result:* parameter "j_password" content is visible



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-7648) Scrypt j_security_check works without security headers

2020-03-24 Thread Dmytro Kondriukov (Jira)


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

Dmytro Kondriukov commented on DRILL-7648:
--

tested on
apache-drill-1.18.0-SNAPSHOT commit 3b3c4af39fdc26f255cc17d66c55eb7565552a7d
fixed
security headers are added

> Scrypt j_security_check works without security headers 
> ---
>
> Key: DRILL-7648
> URL: https://issues.apache.org/jira/browse/DRILL-7648
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.17.0
>Reporter: Dmytro Kondriukov
>Assignee: Igor Guzenko
>Priority: Major
>  Labels: ready-to-commit
> Fix For: 1.18.0
>
>
> *Preconditions:*
> drill-override.conf
> {noformat}
> drill.exec: {
>   cluster-id: "drillbits1",
>   zk.connect: "localhost:5181"
>   impersonation: {
> enabled: true,
> max_chained_user_hops: 3
> },
> security: {
> auth.mechanisms : ["PLAIN"],
> },
> security.user.auth: {
> enabled: true,
> packages += "org.apache.drill.exec.rpc.user.security",
> impl: "pam4j",
> pam_profiles: [ "sudo", "login" ]
> }
>   http: {
> ssl_enabled: true,.
> jetty.server.response.headers: {
>   "X-XSS-Protection": "1; mode=block",
>   "X-Content-Type-Options": "nosniff",
>   "Strict-Transport-Security": "max-age=31536000;includeSubDomains",
>   "Content-Security-Policy": "default-src https:; script-src 
> 'unsafe-inline' https:; style-src 'unsafe-inline' https:; font-src data: 
> https:; img-src data: https:"
> }
>   }
> }
> {noformat}
> *Steps:*
> 1. Perform login to drillbit webUI
> 2. Check in browser console in tab "network" headers of resource 
> https://node1.cluster.com:8047/j_security_check
> 3. Check section "response headers"
> *Expected result:* security headers are present
> *Actual result:* security headers are absent
> 4. Check section "Form Data"
> *Expected result:* parameter "j_password" content is hidden
> *Actual result:* parameter "j_password" content is visible



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-7563) Docker & Kubernetes Drill server container

2020-03-24 Thread Rafael Jaimes (Jira)


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

Rafael Jaimes commented on DRILL-7563:
--

Dobes - thanks. I am looking through your work now. Have you tested this with 
scaling up drillbit pods?

> Docker & Kubernetes Drill server container
> --
>
> Key: DRILL-7563
> URL: https://issues.apache.org/jira/browse/DRILL-7563
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Major
>
> Drill provides two Docker containers:
> * [Build Drill from 
> sources|https://github.com/apache/drill/blob/master/Dockerfile]
> * [Run Drill in interactive embedded 
> mode|https://github.com/apache/drill/blob/master/distribution/Dockerfile]
> User feedback suggests that these are not quite the right solutions to run 
> Drill in a K8s (or OpenShift) cluster. In addition, we need a container to 
> run a Drill server. This ticket summarizes the tasks involved.
> h4. Container Image
> The container image should:
> * Start with the OpenJDK base image with minimal extra packages.
> * Download and install an official Drill release.
> We may then want to provide two derived images:
> The Drillbit image which:
> * Configures Drill for production and as needed in the following steps.
> * Provides entry points for the Drillbit and for Sqlline
> * Exposes Drill's four ports
> * Accept as parameters things like the ZK host IP(s).
> The Sqlline image, meant to be run in interactive mode (like the current 
> embedded image) and which:
> * Accept as parameters the ZK host IP(s).
> Both should be published to the official Drill DockerHub account: 
> https://hub.docker.com/r/apache/drill
> h4. Runtime Environment
> Drill has very few dependencies, but it must have a running ZK.
> * Start a [ZK container|https://hub.docker.com/_/zookeeper/].
> * A place to store logs, which can be in the container by default, stored on 
> the host file system via a volume mount.
> * Access to a data source, which can be configured via a storage plugin 
> stored in ZK.
> * Ensure graceful shutdown integration with the Docker shutdown mechanism.
> h4. Running Drill in Docker
> Users must run at least one Drillbit, and may run more. Users may want to run 
> Sqlline.
> * The Drillbit container requires, at a minimum, the IP address of the ZK 
> instance(s).
> * The Sqlline container requires only the ZK instances, from which it can 
> find the Drillbit.
> Uses will want to customize some parts of Drill: at least memory, perhaps any 
> of the other options. Provide a way to pass this information into the 
> container to avoid the need to rebuild the container to change configuration.
> h4. Running Drill in K8s
> The containers should be usable in "plain" Docker. Today, however, many 
> people use K8s to orchestrate Docker. Thus, the Drillbit (but probably not 
> the Sqlline) container should be designed to work with K8s. An example set of 
> K8s YAML files should illustrate:
> * Create a host-mount file system to capture Drill logs and query profiles.
> * Optionally write Drill logs to stdout, to be captured by {{fluentd}} or 
> similar tools.
> * Pass Drill configuration (both HOCON and envrironment) as config maps.
> * Pass ZK as an environment variable (the value of which would, one presumes, 
> come from some kind of service discovery system.)
> The result is that the user should be able to manually tinker with the YAML 
> files, then use {{kubeadm}} to launch, monitor and stop Drill. The user sets 
> cluster size manually by launching the desired number of Drill pods.
> h4. Helm Chart for Drill
> The next step is to wrap the YAML files in a Helm chart, with parameters 
> exposed for the config options noted above.
> h4. Drill Operator for K8s
>  
> Full K8s integration will require an operator to manage the Drill cluster. 
> K8s operators are often written in Go, though doing so is not necessary. 
> Drill already includes Drill-on-YARN which is, essential a "YARN operator." 
> Repurpose this code to work with K8s as the target cluster manager rather 
> than YARN. Reuse the same operations from DoY: configure, start, resize and 
> stop a cluster.
> h4. Security
> The above steps provide an "MVP": minimum viable project - it will run Drill 
> with standard options in the various environments. Users who chose to run 
> Drill in production will likely require additional security settings. Enable 
> SSL? Control ingress? We need to understand what is needed, what Drill 
> offers, and how to enable Drill's security features in a containerized 
> environment.
> h4. Production Deployments
> With Docker and K8s the old maxim "the devil is in the details" is true in 
> spades. There are dozens of ways that Drill can 

[jira] [Commented] (DRILL-7563) Docker & Kubernetes Drill server container

2020-03-24 Thread Charles Givre (Jira)


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

Charles Givre commented on DRILL-7563:
--

@Dobes, 
Would you be willing to write up a tutorial or something that we could post on 
the documentation on the main Drill website?
Thanks,
-- C




> Docker & Kubernetes Drill server container
> --
>
> Key: DRILL-7563
> URL: https://issues.apache.org/jira/browse/DRILL-7563
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Major
>
> Drill provides two Docker containers:
> * [Build Drill from 
> sources|https://github.com/apache/drill/blob/master/Dockerfile]
> * [Run Drill in interactive embedded 
> mode|https://github.com/apache/drill/blob/master/distribution/Dockerfile]
> User feedback suggests that these are not quite the right solutions to run 
> Drill in a K8s (or OpenShift) cluster. In addition, we need a container to 
> run a Drill server. This ticket summarizes the tasks involved.
> h4. Container Image
> The container image should:
> * Start with the OpenJDK base image with minimal extra packages.
> * Download and install an official Drill release.
> We may then want to provide two derived images:
> The Drillbit image which:
> * Configures Drill for production and as needed in the following steps.
> * Provides entry points for the Drillbit and for Sqlline
> * Exposes Drill's four ports
> * Accept as parameters things like the ZK host IP(s).
> The Sqlline image, meant to be run in interactive mode (like the current 
> embedded image) and which:
> * Accept as parameters the ZK host IP(s).
> Both should be published to the official Drill DockerHub account: 
> https://hub.docker.com/r/apache/drill
> h4. Runtime Environment
> Drill has very few dependencies, but it must have a running ZK.
> * Start a [ZK container|https://hub.docker.com/_/zookeeper/].
> * A place to store logs, which can be in the container by default, stored on 
> the host file system via a volume mount.
> * Access to a data source, which can be configured via a storage plugin 
> stored in ZK.
> * Ensure graceful shutdown integration with the Docker shutdown mechanism.
> h4. Running Drill in Docker
> Users must run at least one Drillbit, and may run more. Users may want to run 
> Sqlline.
> * The Drillbit container requires, at a minimum, the IP address of the ZK 
> instance(s).
> * The Sqlline container requires only the ZK instances, from which it can 
> find the Drillbit.
> Uses will want to customize some parts of Drill: at least memory, perhaps any 
> of the other options. Provide a way to pass this information into the 
> container to avoid the need to rebuild the container to change configuration.
> h4. Running Drill in K8s
> The containers should be usable in "plain" Docker. Today, however, many 
> people use K8s to orchestrate Docker. Thus, the Drillbit (but probably not 
> the Sqlline) container should be designed to work with K8s. An example set of 
> K8s YAML files should illustrate:
> * Create a host-mount file system to capture Drill logs and query profiles.
> * Optionally write Drill logs to stdout, to be captured by {{fluentd}} or 
> similar tools.
> * Pass Drill configuration (both HOCON and envrironment) as config maps.
> * Pass ZK as an environment variable (the value of which would, one presumes, 
> come from some kind of service discovery system.)
> The result is that the user should be able to manually tinker with the YAML 
> files, then use {{kubeadm}} to launch, monitor and stop Drill. The user sets 
> cluster size manually by launching the desired number of Drill pods.
> h4. Helm Chart for Drill
> The next step is to wrap the YAML files in a Helm chart, with parameters 
> exposed for the config options noted above.
> h4. Drill Operator for K8s
>  
> Full K8s integration will require an operator to manage the Drill cluster. 
> K8s operators are often written in Go, though doing so is not necessary. 
> Drill already includes Drill-on-YARN which is, essential a "YARN operator." 
> Repurpose this code to work with K8s as the target cluster manager rather 
> than YARN. Reuse the same operations from DoY: configure, start, resize and 
> stop a cluster.
> h4. Security
> The above steps provide an "MVP": minimum viable project - it will run Drill 
> with standard options in the various environments. Users who chose to run 
> Drill in production will likely require additional security settings. Enable 
> SSL? Control ingress? We need to understand what is needed, what Drill 
> offers, and how to enable Drill's security features in a containerized 
> environment.
> h4. Production Deployments
> With Docker and K8s the old maxim "the devil is in the details" is true in 
> 

[jira] [Commented] (DRILL-7563) Docker & Kubernetes Drill server container

2020-03-24 Thread Dobes Vandermeer (Jira)


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

Dobes Vandermeer commented on DRILL-7563:
-

I have been able to get drill to run in kubernetes using the existing drill 
docker images currently published.

 

See here for example configs:

[https://gist.github.com/dobesv/98d85b18ee8566891c5122e2b990f0c5]

[https://gist.github.com/dobesv/be5aa3e6e5830e54c0e77b73884333cc]

 

 

 

> Docker & Kubernetes Drill server container
> --
>
> Key: DRILL-7563
> URL: https://issues.apache.org/jira/browse/DRILL-7563
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Major
>
> Drill provides two Docker containers:
> * [Build Drill from 
> sources|https://github.com/apache/drill/blob/master/Dockerfile]
> * [Run Drill in interactive embedded 
> mode|https://github.com/apache/drill/blob/master/distribution/Dockerfile]
> User feedback suggests that these are not quite the right solutions to run 
> Drill in a K8s (or OpenShift) cluster. In addition, we need a container to 
> run a Drill server. This ticket summarizes the tasks involved.
> h4. Container Image
> The container image should:
> * Start with the OpenJDK base image with minimal extra packages.
> * Download and install an official Drill release.
> We may then want to provide two derived images:
> The Drillbit image which:
> * Configures Drill for production and as needed in the following steps.
> * Provides entry points for the Drillbit and for Sqlline
> * Exposes Drill's four ports
> * Accept as parameters things like the ZK host IP(s).
> The Sqlline image, meant to be run in interactive mode (like the current 
> embedded image) and which:
> * Accept as parameters the ZK host IP(s).
> Both should be published to the official Drill DockerHub account: 
> https://hub.docker.com/r/apache/drill
> h4. Runtime Environment
> Drill has very few dependencies, but it must have a running ZK.
> * Start a [ZK container|https://hub.docker.com/_/zookeeper/].
> * A place to store logs, which can be in the container by default, stored on 
> the host file system via a volume mount.
> * Access to a data source, which can be configured via a storage plugin 
> stored in ZK.
> * Ensure graceful shutdown integration with the Docker shutdown mechanism.
> h4. Running Drill in Docker
> Users must run at least one Drillbit, and may run more. Users may want to run 
> Sqlline.
> * The Drillbit container requires, at a minimum, the IP address of the ZK 
> instance(s).
> * The Sqlline container requires only the ZK instances, from which it can 
> find the Drillbit.
> Uses will want to customize some parts of Drill: at least memory, perhaps any 
> of the other options. Provide a way to pass this information into the 
> container to avoid the need to rebuild the container to change configuration.
> h4. Running Drill in K8s
> The containers should be usable in "plain" Docker. Today, however, many 
> people use K8s to orchestrate Docker. Thus, the Drillbit (but probably not 
> the Sqlline) container should be designed to work with K8s. An example set of 
> K8s YAML files should illustrate:
> * Create a host-mount file system to capture Drill logs and query profiles.
> * Optionally write Drill logs to stdout, to be captured by {{fluentd}} or 
> similar tools.
> * Pass Drill configuration (both HOCON and envrironment) as config maps.
> * Pass ZK as an environment variable (the value of which would, one presumes, 
> come from some kind of service discovery system.)
> The result is that the user should be able to manually tinker with the YAML 
> files, then use {{kubeadm}} to launch, monitor and stop Drill. The user sets 
> cluster size manually by launching the desired number of Drill pods.
> h4. Helm Chart for Drill
> The next step is to wrap the YAML files in a Helm chart, with parameters 
> exposed for the config options noted above.
> h4. Drill Operator for K8s
>  
> Full K8s integration will require an operator to manage the Drill cluster. 
> K8s operators are often written in Go, though doing so is not necessary. 
> Drill already includes Drill-on-YARN which is, essential a "YARN operator." 
> Repurpose this code to work with K8s as the target cluster manager rather 
> than YARN. Reuse the same operations from DoY: configure, start, resize and 
> stop a cluster.
> h4. Security
> The above steps provide an "MVP": minimum viable project - it will run Drill 
> with standard options in the various environments. Users who chose to run 
> Drill in production will likely require additional security settings. Enable 
> SSL? Control ingress? We need to understand what is needed, what Drill 
> offers, and how to enable Drill's security features in 

[jira] [Updated] (DRILL-7602) Possibility to force repartition on read/select

2020-03-24 Thread benj (Jira)


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

benj updated DRILL-7602:

Description: 
It will be nice and usefull in certain situations to have the capacity to do 
repartition like in spark 
([https://spark.apache.org/docs/latest/rdd-programming-guide.html])

either an automatically repartition in certain limit or possibility to indicate 
the desired repartition or both options.

The only way (that I know now) to do that with Drill is to change 
_store.parquet.block-size_ and regenerate the input file then do the request 
(but it will be nice to have the ability to do that on read)

illustration : with 2 Parquets files _file1_ of 50Mo (1 million rows) and 
_file2_ of 1Mo (5000 rows)
{code:sql}
CREATE TABLE dfs.test.`result_from_1_parquet` AS 
(SELECT * FROM dfs.test.`file2` INNER JOIN dfs.test.`file1` ON ...)
=> ~ 50min

-- Today we have to change the parquet block size to force multiple parquet 
files
ALTER SESSION SET `store.parquet.block-size` = 1048576;
-- Repartition data
CREATE TABLE dfs.test.`file1_bis` AS (SELECT * FROM dfs.test.`file1`);
-- then Launch the request
CREATE TABLE dfs.test.`result_from_1_parquet` AS 
(SELECT * FROM dfs.test.`file2` INNER JOIN dfs.test.`file1_bis` ON ...)
=> ~ 1min
{code}
So it's possible to save a lot of time (depending of configuration of cluster) 
by simply forcing more input file.
 it would be useful not to have to regenerate the files with the ideal 
fragmentation before request.

This situation easily appears when making inequality JOIN (to lookup ip in ip 
range for example) on not so big dataset:
{code:java}
ALTER SESSION SET `planner.enable_nljoin_for_scalar_only` = false;
SELECT  * 
FROM dfs.test.`a_pqt` AS a
INNER JOIN dfs.test.`b_pqt` AS b
ON inet_aton(b.ip) >= inet_aton(a.ip_first) AND inet_aton(b.ip) <= 
inet_aton(a.ip_last);
{code}

  was:
It will be nice and usefull ion certain situations to have the capacity to do 
repartition like in spark  
(https://spark.apache.org/docs/latest/rdd-programming-guide.html)

either an automatically repartition in certain limit or possibility to indicate 
the desired repartition or both options.

The only way (that I know now) to do that with Drill is to change 
_store.parquet.block-size_ and regenerate the input file then do the request 
(but it will be nice to have the ability to do that on read)

illustration : with 2 Parquets files _file1_ of 50Mo (1 million rows) and 
_file2_ of 1Mo (5000 rows)
{code:sql}
CREATE TABLE dfs.test.`result_from_1_parquet` AS 
(SELECT * FROM dfs.test.`file2` INNER JOIN dfs.test.`file1` ON ...)
=> ~ 50min

-- Tody we have to change the parquet block size to force multiple parquet files
ALTER SESSION SET `store.parquet.block-size` = 1048576;
-- Repartition data
CREATE TABLE dfs.test.`file1_bis` AS (SELECT * FROM dfs.test.`file1`);
-- then Launch the request
CREATE TABLE dfs.test.`result_from_1_parquet` AS 
(SELECT * FROM dfs.test.`file2` INNER JOIN dfs.test.`file1_bis` ON ...)
=> ~ 1min
{code}

So it's possible to save a lot of time (depending of configuration of cluster) 
by simply forcing more input file.
it would be useful not to have to regenerate the files with the ideal 
fragmentation before request.

 




> Possibility to force repartition on read/select
> ---
>
> Key: DRILL-7602
> URL: https://issues.apache.org/jira/browse/DRILL-7602
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Execution - Flow, Query Planning  Optimization
>Affects Versions: 1.17.0
>Reporter: benj
>Priority: Major
>
> It will be nice and usefull in certain situations to have the capacity to do 
> repartition like in spark 
> ([https://spark.apache.org/docs/latest/rdd-programming-guide.html])
> either an automatically repartition in certain limit or possibility to 
> indicate the desired repartition or both options.
> The only way (that I know now) to do that with Drill is to change 
> _store.parquet.block-size_ and regenerate the input file then do the request 
> (but it will be nice to have the ability to do that on read)
> illustration : with 2 Parquets files _file1_ of 50Mo (1 million rows) and 
> _file2_ of 1Mo (5000 rows)
> {code:sql}
> CREATE TABLE dfs.test.`result_from_1_parquet` AS 
> (SELECT * FROM dfs.test.`file2` INNER JOIN dfs.test.`file1` ON ...)
> => ~ 50min
> -- Today we have to change the parquet block size to force multiple parquet 
> files
> ALTER SESSION SET `store.parquet.block-size` = 1048576;
> -- Repartition data
> CREATE TABLE dfs.test.`file1_bis` AS (SELECT * FROM dfs.test.`file1`);
> -- then Launch the request
> CREATE TABLE dfs.test.`result_from_1_parquet` AS 
> (SELECT * FROM dfs.test.`file2` INNER JOIN dfs.test.`file1_bis` ON ...)
> => ~ 1min
> {code}
> So it's possible to save a lot of time (depending of configuration of 
> 

[jira] [Commented] (DRILL-6604) Upgrade Drill Hive client to Hive3.1 version

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

cgivre commented on issue #2038: DRILL-6604: Upgrade Drill Hive client to 
Hive3.1 version
URL: https://github.com/apache/drill/pull/2038#issuecomment-603251228
 
 
   @vvysotskyi 
   Thanks for the response. The reason I ask is that for many enterprises, they 
are at the mercy of IT teams and in many cases they are forced to use older 
versions of tools like Hive.  Often, the upgrade schedules are years behind the 
most current version.  (I'm speaking from experience here..;-))
   
   Obviously we should do our best to support the most current version of 
common platforms like Hive, however, I think you would be surprised at how many 
large enterprises still use very old versions of these tools.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Upgrade Drill Hive client to Hive3.1 version
> 
>
> Key: DRILL-6604
> URL: https://issues.apache.org/jira/browse/DRILL-6604
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.14.0
>Reporter: Vitalii Diravka
>Assignee: Vova Vysotskyi
>Priority: Major
> Fix For: 1.18.0
>
>
> Recently the Hive3.1 version is released.
>  3.1 versions of {{hive-exec}} and {{hive-metastore}} (main Drill Hive client 
> libraries) are the last available artifacts in maven repo for now:
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-exec/3.1.0]
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-metastore/3.1.0]
> It is necessary to investigate what impact of update onto the newer major 
> Hive client version.
> The initial conflicts after changing the {{hive.version}} in Drill root pom 
> file from 2.3.2 to 3.1.0 are:
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[58,39]
>  error: cannot find symbol
> [ERROR]   symbol:   class MetaStoreUtils
>   location: package org.apache.hadoop.hive.metastore
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveMetadataProvider.java:[34,39]
>  error: cannot find symbol
> [INFO] 2 errors
> {code}
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[575,15]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTransactionalTableScan(JobConf,boolean)
>   location: class AcidUtils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[216,92]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Timestamp 
> cannot be converted to java.sql.Timestamp
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[225,82]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Date cannot be 
> converted to java.sql.Date
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/DrillHiveMetaStoreClient.java:[100,17]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTokenStr(UserGroupInformation,String,String)
>   location: class Utils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[29,16]
>  error: Required is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[35,30]
>  error: getPrimitiveJavaObject(Object) in Required cannot implement 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR]   return type java.sql.Timestamp is not compatible with 
> org.apache.hadoop.hive.common.type.Timestamp
> 

[jira] [Commented] (DRILL-6604) Upgrade Drill Hive client to Hive3.1 version

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

vvysotskyi commented on issue #2038: DRILL-6604: Upgrade Drill Hive client to 
Hive3.1 version
URL: https://github.com/apache/drill/pull/2038#issuecomment-603237847
 
 
   @cgivre,
   1. Info about building Drill for different Hive versions is a workaround, we 
shouldn't recommend doing it for users if other alternatives available, so I 
don't think that we should document it. Also, when all supported profiles are 
moved to this version of Hive, code will be cleaned up to remove hacks which 
allowed using older versions.
   2. I don't see a way to achieve this. The issue here is in the interaction 
between Hive Jars with different versions. I assume besides API changes, also 
thrift format updates.
   3. I don't think so. For updating versions to 2.3.2, code was changed, so I 
think it still incompatible.
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Upgrade Drill Hive client to Hive3.1 version
> 
>
> Key: DRILL-6604
> URL: https://issues.apache.org/jira/browse/DRILL-6604
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.14.0
>Reporter: Vitalii Diravka
>Assignee: Vova Vysotskyi
>Priority: Major
> Fix For: 1.18.0
>
>
> Recently the Hive3.1 version is released.
>  3.1 versions of {{hive-exec}} and {{hive-metastore}} (main Drill Hive client 
> libraries) are the last available artifacts in maven repo for now:
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-exec/3.1.0]
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-metastore/3.1.0]
> It is necessary to investigate what impact of update onto the newer major 
> Hive client version.
> The initial conflicts after changing the {{hive.version}} in Drill root pom 
> file from 2.3.2 to 3.1.0 are:
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[58,39]
>  error: cannot find symbol
> [ERROR]   symbol:   class MetaStoreUtils
>   location: package org.apache.hadoop.hive.metastore
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveMetadataProvider.java:[34,39]
>  error: cannot find symbol
> [INFO] 2 errors
> {code}
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[575,15]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTransactionalTableScan(JobConf,boolean)
>   location: class AcidUtils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[216,92]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Timestamp 
> cannot be converted to java.sql.Timestamp
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[225,82]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Date cannot be 
> converted to java.sql.Date
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/DrillHiveMetaStoreClient.java:[100,17]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTokenStr(UserGroupInformation,String,String)
>   location: class Utils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[29,16]
>  error: Required is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[35,30]
>  error: getPrimitiveJavaObject(Object) in Required cannot implement 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR]   return type java.sql.Timestamp is not compatible with 
> org.apache.hadoop.hive.common.type.Timestamp
> 

[jira] [Updated] (DRILL-6604) Upgrade Drill Hive client to Hive3.1 version

2020-03-24 Thread Arina Ielchiieva (Jira)


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

Arina Ielchiieva updated DRILL-6604:

Reviewer: Igor Guzenko

> Upgrade Drill Hive client to Hive3.1 version
> 
>
> Key: DRILL-6604
> URL: https://issues.apache.org/jira/browse/DRILL-6604
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.14.0
>Reporter: Vitalii Diravka
>Assignee: Vova Vysotskyi
>Priority: Major
> Fix For: 1.18.0
>
>
> Recently the Hive3.1 version is released.
>  3.1 versions of {{hive-exec}} and {{hive-metastore}} (main Drill Hive client 
> libraries) are the last available artifacts in maven repo for now:
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-exec/3.1.0]
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-metastore/3.1.0]
> It is necessary to investigate what impact of update onto the newer major 
> Hive client version.
> The initial conflicts after changing the {{hive.version}} in Drill root pom 
> file from 2.3.2 to 3.1.0 are:
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[58,39]
>  error: cannot find symbol
> [ERROR]   symbol:   class MetaStoreUtils
>   location: package org.apache.hadoop.hive.metastore
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveMetadataProvider.java:[34,39]
>  error: cannot find symbol
> [INFO] 2 errors
> {code}
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[575,15]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTransactionalTableScan(JobConf,boolean)
>   location: class AcidUtils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[216,92]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Timestamp 
> cannot be converted to java.sql.Timestamp
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[225,82]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Date cannot be 
> converted to java.sql.Date
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/DrillHiveMetaStoreClient.java:[100,17]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTokenStr(UserGroupInformation,String,String)
>   location: class Utils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[29,16]
>  error: Required is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[35,30]
>  error: getPrimitiveJavaObject(Object) in Required cannot implement 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR]   return type java.sql.Timestamp is not compatible with 
> org.apache.hadoop.hive.common.type.Timestamp
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[44,29]
>  error: getPrimitiveWritableObject(Object) in Required cannot implement 
> getPrimitiveWritableObject(Object) in TimestampObjectInspector
> [ERROR]   return type TimestampWritable is not compatible with 
> TimestampWritableV2
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[54,16]
>  error: Optional is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[60,30]
>  error: getPrimitiveJavaObject(Object) in Optional cannot implement 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR]   return type java.sql.Timestamp is not compatible with 
> org.apache.hadoop.hive.common.type.Timestamp
> 

[jira] [Commented] (DRILL-6604) Upgrade Drill Hive client to Hive3.1 version

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

cgivre commented on issue #2038: DRILL-6604: Upgrade Drill Hive client to 
Hive3.1 version
URL: https://github.com/apache/drill/pull/2038#issuecomment-603223087
 
 
   @vvysotskyi 
   Thanks for submitting this.  A few questions:
   1.  Can we please include the bit about building Drill for different Hive 
versions in the documentation?
   2.  Is there any way to write this such that the users will not have to 
build a dedicated version of Drill for each version of Hive or are the Hive 
APIs so different that it is not practical?  
   3.  If we are requiring that Drill is built specially for a given version of 
Hive, is it possible to support older versions than `2.3.2`?  
   
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Upgrade Drill Hive client to Hive3.1 version
> 
>
> Key: DRILL-6604
> URL: https://issues.apache.org/jira/browse/DRILL-6604
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.14.0
>Reporter: Vitalii Diravka
>Assignee: Vova Vysotskyi
>Priority: Major
> Fix For: 1.18.0
>
>
> Recently the Hive3.1 version is released.
>  3.1 versions of {{hive-exec}} and {{hive-metastore}} (main Drill Hive client 
> libraries) are the last available artifacts in maven repo for now:
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-exec/3.1.0]
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-metastore/3.1.0]
> It is necessary to investigate what impact of update onto the newer major 
> Hive client version.
> The initial conflicts after changing the {{hive.version}} in Drill root pom 
> file from 2.3.2 to 3.1.0 are:
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[58,39]
>  error: cannot find symbol
> [ERROR]   symbol:   class MetaStoreUtils
>   location: package org.apache.hadoop.hive.metastore
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveMetadataProvider.java:[34,39]
>  error: cannot find symbol
> [INFO] 2 errors
> {code}
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[575,15]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTransactionalTableScan(JobConf,boolean)
>   location: class AcidUtils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[216,92]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Timestamp 
> cannot be converted to java.sql.Timestamp
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[225,82]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Date cannot be 
> converted to java.sql.Date
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/DrillHiveMetaStoreClient.java:[100,17]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTokenStr(UserGroupInformation,String,String)
>   location: class Utils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[29,16]
>  error: Required is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[35,30]
>  error: getPrimitiveJavaObject(Object) in Required cannot implement 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR]   return type java.sql.Timestamp is not compatible with 
> org.apache.hadoop.hive.common.type.Timestamp
> 

[jira] [Commented] (DRILL-7633) Fixes for union and repeated list accessors

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

arina-ielchiieva commented on issue #2018: DRILL-7633: Fixes for union and 
repeated list accessors
URL: https://github.com/apache/drill/pull/2018#issuecomment-603206563
 
 
   @paul-rogers thanks for addressing code review comment, I have left comment 
how to fix unit test failures, please apply them and squash the commits.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Fixes for union and repeated list accessors
> ---
>
> Key: DRILL-7633
> URL: https://issues.apache.org/jira/browse/DRILL-7633
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Minor
> Fix For: 1.18.0
>
>
> Minor fixes for repeated list and Union type support in column accessors



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-7633) Fixes for union and repeated list accessors

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

arina-ielchiieva commented on pull request #2018: DRILL-7633: Fixes for union 
and repeated list accessors
URL: https://github.com/apache/drill/pull/2018#discussion_r397109112
 
 

 ##
 File path: 
exec/vector/src/main/java/org/apache/drill/exec/record/metadata/AbstractColumnMetadata.java
 ##
 @@ -295,12 +295,6 @@ public String toString() {
 .toString();
   }
 
-  @JsonProperty("type")
-  @Override
-  public String typeString() {
-return majorType().toString();
-  }
-
 
 Review comment:
   Please don't remove this method but leave it as abstract with json property 
annotation:
   ```
 @JsonProperty("type")
 @Override
 public abstract String typeString();
   ```
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Fixes for union and repeated list accessors
> ---
>
> Key: DRILL-7633
> URL: https://issues.apache.org/jira/browse/DRILL-7633
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Minor
> Fix For: 1.18.0
>
>
> Minor fixes for repeated list and Union type support in column accessors



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-7633) Fixes for union and repeated list accessors

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

arina-ielchiieva commented on issue #2018: DRILL-7633: Fixes for union and 
repeated list accessors
URL: https://github.com/apache/drill/pull/2018#issuecomment-603206563
 
 
   @paul-rogers thanks for addressing code review comment, I have left comments 
how to fix unit test failures, please apply them and squash the commits.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Fixes for union and repeated list accessors
> ---
>
> Key: DRILL-7633
> URL: https://issues.apache.org/jira/browse/DRILL-7633
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Minor
> Fix For: 1.18.0
>
>
> Minor fixes for repeated list and Union type support in column accessors



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-7633) Fixes for union and repeated list accessors

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

arina-ielchiieva commented on pull request #2018: DRILL-7633: Fixes for union 
and repeated list accessors
URL: https://github.com/apache/drill/pull/2018#discussion_r397109336
 
 

 ##
 File path: 
exec/vector/src/main/java/org/apache/drill/exec/record/metadata/VariantColumnMetadata.java
 ##
 @@ -145,16 +147,28 @@ public ColumnMetadata cloneEmpty() {
 
   @Override
   public ColumnMetadata copy() {
-// TODO Auto-generated method stub
-assert false;
-return null;
+return new VariantColumnMetadata(name, type, mode, variantSchema.copy());
   }
 
   @Override
   public VariantMetadata variantSchema() {
 return variantSchema;
   }
 
+  @JsonProperty("type")
 
 Review comment:
   Remove json property annotation as it will be present in parent class. 
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Fixes for union and repeated list accessors
> ---
>
> Key: DRILL-7633
> URL: https://issues.apache.org/jira/browse/DRILL-7633
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Minor
> Fix For: 1.18.0
>
>
> Minor fixes for repeated list and Union type support in column accessors



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-6604) Upgrade Drill Hive client to Hive3.1 version

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

cgivre commented on issue #2038: DRILL-6604: Upgrade Drill Hive client to 
Hive3.1 version
URL: https://github.com/apache/drill/pull/2038#issuecomment-603219947
 
 
   @vvysotskyi 
   Thank you for submitting this!  I am wondering whether we test for backwards 
compatibility with older versions of Hive as we upgrade?  What is the earliest 
version we currently support?
   Thanks!
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Upgrade Drill Hive client to Hive3.1 version
> 
>
> Key: DRILL-6604
> URL: https://issues.apache.org/jira/browse/DRILL-6604
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.14.0
>Reporter: Vitalii Diravka
>Assignee: Vova Vysotskyi
>Priority: Major
> Fix For: 1.18.0
>
>
> Recently the Hive3.1 version is released.
>  3.1 versions of {{hive-exec}} and {{hive-metastore}} (main Drill Hive client 
> libraries) are the last available artifacts in maven repo for now:
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-exec/3.1.0]
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-metastore/3.1.0]
> It is necessary to investigate what impact of update onto the newer major 
> Hive client version.
> The initial conflicts after changing the {{hive.version}} in Drill root pom 
> file from 2.3.2 to 3.1.0 are:
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[58,39]
>  error: cannot find symbol
> [ERROR]   symbol:   class MetaStoreUtils
>   location: package org.apache.hadoop.hive.metastore
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveMetadataProvider.java:[34,39]
>  error: cannot find symbol
> [INFO] 2 errors
> {code}
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[575,15]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTransactionalTableScan(JobConf,boolean)
>   location: class AcidUtils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[216,92]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Timestamp 
> cannot be converted to java.sql.Timestamp
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[225,82]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Date cannot be 
> converted to java.sql.Date
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/DrillHiveMetaStoreClient.java:[100,17]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTokenStr(UserGroupInformation,String,String)
>   location: class Utils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[29,16]
>  error: Required is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[35,30]
>  error: getPrimitiveJavaObject(Object) in Required cannot implement 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR]   return type java.sql.Timestamp is not compatible with 
> org.apache.hadoop.hive.common.type.Timestamp
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[44,29]
>  error: getPrimitiveWritableObject(Object) in Required cannot implement 
> getPrimitiveWritableObject(Object) in TimestampObjectInspector
> [ERROR]   return type TimestampWritable is not compatible with 
> TimestampWritableV2
> 

[jira] [Commented] (DRILL-6604) Upgrade Drill Hive client to Hive3.1 version

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

cgivre commented on issue #2038: DRILL-6604: Upgrade Drill Hive client to 
Hive3.1 version
URL: https://github.com/apache/drill/pull/2038#issuecomment-603219947
 
 
   @vvysotskyi 
   Thank you for submitting this!  I am wondering whether we test for backwards 
compatibility with older versions of Hive as we upgrade?  What is the earliest 
version we currently support?
   Thanks!
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Upgrade Drill Hive client to Hive3.1 version
> 
>
> Key: DRILL-6604
> URL: https://issues.apache.org/jira/browse/DRILL-6604
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.14.0
>Reporter: Vitalii Diravka
>Assignee: Vova Vysotskyi
>Priority: Major
> Fix For: 1.18.0
>
>
> Recently the Hive3.1 version is released.
>  3.1 versions of {{hive-exec}} and {{hive-metastore}} (main Drill Hive client 
> libraries) are the last available artifacts in maven repo for now:
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-exec/3.1.0]
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-metastore/3.1.0]
> It is necessary to investigate what impact of update onto the newer major 
> Hive client version.
> The initial conflicts after changing the {{hive.version}} in Drill root pom 
> file from 2.3.2 to 3.1.0 are:
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[58,39]
>  error: cannot find symbol
> [ERROR]   symbol:   class MetaStoreUtils
>   location: package org.apache.hadoop.hive.metastore
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveMetadataProvider.java:[34,39]
>  error: cannot find symbol
> [INFO] 2 errors
> {code}
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[575,15]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTransactionalTableScan(JobConf,boolean)
>   location: class AcidUtils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[216,92]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Timestamp 
> cannot be converted to java.sql.Timestamp
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[225,82]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Date cannot be 
> converted to java.sql.Date
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/DrillHiveMetaStoreClient.java:[100,17]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTokenStr(UserGroupInformation,String,String)
>   location: class Utils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[29,16]
>  error: Required is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[35,30]
>  error: getPrimitiveJavaObject(Object) in Required cannot implement 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR]   return type java.sql.Timestamp is not compatible with 
> org.apache.hadoop.hive.common.type.Timestamp
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[44,29]
>  error: getPrimitiveWritableObject(Object) in Required cannot implement 
> getPrimitiveWritableObject(Object) in TimestampObjectInspector
> [ERROR]   return type TimestampWritable is not compatible with 
> TimestampWritableV2
> 

[jira] [Commented] (DRILL-6604) Upgrade Drill Hive client to Hive3.1 version

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

vvysotskyi commented on pull request #2038: DRILL-6604: Upgrade Drill Hive 
client to Hive3.1 version
URL: https://github.com/apache/drill/pull/2038
 
 
   # [DRILL-6604](https://issues.apache.org/jira/browse/DRILL-6604): Upgrade 
Drill Hive client to Hive3.1 version
   
   ## Description
   
   One of the major changes in this PR is cleaning up the output for Hive 
tests. Now, almost all hive-related stuff is not printed to the stdout.
   
   Additionally, the Hive version was updated to the latest (at the current 
time) version 3.1.2.
   New Hive version introduced new `ObjectInspector` classes for date and 
timestamp values, so to be able to compile with other versions, code was 
updated to use correct class names (see changes in `tdd` files and related 
changes.
   
   As for any other Hive update, Dill wouldn't be able to work with previous 
Hive versions, but for users, who still want to do it, it is possible to 
compile manually Drill with setting the following properties:
   `hive.version=2.3.2` (or any other version in range [2.3.2-3.1.2]), 
`freemarker.conf.file=src/main/codegen/config.fmpp` (or 
`src/main/codegen/configHive3.fmpp` for versions where new date / timestamp 
classes were introduced).
   Example of usage:
   ```
   mvn clean install -DskipTests -Dhive.version=2.3.2 
-Dfreemarker.conf.file=src/main/codegen/config.fmpp
   ```
   
   ## Documentation
   A new supported Hive version should be documented.
   
   ## Testing
   Ran all tests suite, checked manually that Drill is able to select from new 
Hive.
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Upgrade Drill Hive client to Hive3.1 version
> 
>
> Key: DRILL-6604
> URL: https://issues.apache.org/jira/browse/DRILL-6604
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.14.0
>Reporter: Vitalii Diravka
>Assignee: Vova Vysotskyi
>Priority: Major
> Fix For: 1.18.0
>
>
> Recently the Hive3.1 version is released.
>  3.1 versions of {{hive-exec}} and {{hive-metastore}} (main Drill Hive client 
> libraries) are the last available artifacts in maven repo for now:
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-exec/3.1.0]
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-metastore/3.1.0]
> It is necessary to investigate what impact of update onto the newer major 
> Hive client version.
> The initial conflicts after changing the {{hive.version}} in Drill root pom 
> file from 2.3.2 to 3.1.0 are:
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[58,39]
>  error: cannot find symbol
> [ERROR]   symbol:   class MetaStoreUtils
>   location: package org.apache.hadoop.hive.metastore
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveMetadataProvider.java:[34,39]
>  error: cannot find symbol
> [INFO] 2 errors
> {code}
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[575,15]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTransactionalTableScan(JobConf,boolean)
>   location: class AcidUtils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[216,92]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Timestamp 
> cannot be converted to java.sql.Timestamp
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[225,82]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Date cannot be 
> converted to java.sql.Date
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/DrillHiveMetaStoreClient.java:[100,17]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTokenStr(UserGroupInformation,String,String)
>   location: class Utils
> 

[jira] [Assigned] (DRILL-7657) Invalid internal link

2020-03-24 Thread Vova Vysotskyi (Jira)


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

Vova Vysotskyi reassigned DRILL-7657:
-

Assignee: Aaron-Mhs

> Invalid internal link
> -
>
> Key: DRILL-7657
> URL: https://issues.apache.org/jira/browse/DRILL-7657
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Security
>Affects Versions: 1.17.0
>Reporter: Aaron-Mhs
>Assignee: Aaron-Mhs
>Priority: Major
> Attachments: image-2020-03-24-14-57-53-568.png, 
> image-2020-03-24-14-58-17-865.png
>
>
> There is an invalid link (Prerequisites-> See Enabling Authentication and 
> Encryption.) In the Configuring Kerberos Security module in the document. 
> After opening, it displays 404 (The requested URL was not found on this 
> server.), And I hope to fix it as soon as possible.
> !image-2020-03-24-14-57-53-568.png!
> !image-2020-03-24-14-58-17-865.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-7657) Invalid internal link

2020-03-24 Thread Aaron-Mhs (Jira)


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

Aaron-Mhs commented on DRILL-7657:
--

[~volodymyr] , thanks for your prompt reply, I will submit a pull request on 
this branch later...

> Invalid internal link
> -
>
> Key: DRILL-7657
> URL: https://issues.apache.org/jira/browse/DRILL-7657
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Security
>Affects Versions: 1.17.0
>Reporter: Aaron-Mhs
>Priority: Major
> Attachments: image-2020-03-24-14-57-53-568.png, 
> image-2020-03-24-14-58-17-865.png
>
>
> There is an invalid link (Prerequisites-> See Enabling Authentication and 
> Encryption.) In the Configuring Kerberos Security module in the document. 
> After opening, it displays 404 (The requested URL was not found on this 
> server.), And I hope to fix it as soon as possible.
> !image-2020-03-24-14-57-53-568.png!
> !image-2020-03-24-14-58-17-865.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-7648) Scrypt j_security_check works without security headers

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

arina-ielchiieva commented on pull request #2037: DRILL-7648: Scrypt 
j_security_check works without security headers
URL: https://github.com/apache/drill/pull/2037
 
 
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Scrypt j_security_check works without security headers 
> ---
>
> Key: DRILL-7648
> URL: https://issues.apache.org/jira/browse/DRILL-7648
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.17.0
>Reporter: Dmytro Kondriukov
>Assignee: Igor Guzenko
>Priority: Major
>  Labels: ready-to-commit
> Fix For: 1.18.0
>
>
> *Preconditions:*
> drill-override.conf
> {noformat}
> drill.exec: {
>   cluster-id: "drillbits1",
>   zk.connect: "localhost:5181"
>   impersonation: {
> enabled: true,
> max_chained_user_hops: 3
> },
> security: {
> auth.mechanisms : ["PLAIN"],
> },
> security.user.auth: {
> enabled: true,
> packages += "org.apache.drill.exec.rpc.user.security",
> impl: "pam4j",
> pam_profiles: [ "sudo", "login" ]
> }
>   http: {
> ssl_enabled: true,.
> jetty.server.response.headers: {
>   "X-XSS-Protection": "1; mode=block",
>   "X-Content-Type-Options": "nosniff",
>   "Strict-Transport-Security": "max-age=31536000;includeSubDomains",
>   "Content-Security-Policy": "default-src https:; script-src 
> 'unsafe-inline' https:; style-src 'unsafe-inline' https:; font-src data: 
> https:; img-src data: https:"
> }
>   }
> }
> {noformat}
> *Steps:*
> 1. Perform login to drillbit webUI
> 2. Check in browser console in tab "network" headers of resource 
> https://node1.cluster.com:8047/j_security_check
> 3. Check section "response headers"
> *Expected result:* security headers are present
> *Actual result:* security headers are absent
> 4. Check section "Form Data"
> *Expected result:* parameter "j_password" content is hidden
> *Actual result:* parameter "j_password" content is visible



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (DRILL-6604) Upgrade Drill Hive client to Hive3.1 version

2020-03-24 Thread Vova Vysotskyi (Jira)


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

Vova Vysotskyi updated DRILL-6604:
--
Fix Version/s: (was: Future)
   1.18.0

> Upgrade Drill Hive client to Hive3.1 version
> 
>
> Key: DRILL-6604
> URL: https://issues.apache.org/jira/browse/DRILL-6604
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.14.0
>Reporter: Vitalii Diravka
>Assignee: Vova Vysotskyi
>Priority: Major
> Fix For: 1.18.0
>
>
> Recently the Hive3.1 version is released.
>  3.1 versions of {{hive-exec}} and {{hive-metastore}} (main Drill Hive client 
> libraries) are the last available artifacts in maven repo for now:
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-exec/3.1.0]
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-metastore/3.1.0]
> It is necessary to investigate what impact of update onto the newer major 
> Hive client version.
> The initial conflicts after changing the {{hive.version}} in Drill root pom 
> file from 2.3.2 to 3.1.0 are:
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[58,39]
>  error: cannot find symbol
> [ERROR]   symbol:   class MetaStoreUtils
>   location: package org.apache.hadoop.hive.metastore
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveMetadataProvider.java:[34,39]
>  error: cannot find symbol
> [INFO] 2 errors
> {code}
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[575,15]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTransactionalTableScan(JobConf,boolean)
>   location: class AcidUtils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[216,92]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Timestamp 
> cannot be converted to java.sql.Timestamp
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[225,82]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Date cannot be 
> converted to java.sql.Date
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/DrillHiveMetaStoreClient.java:[100,17]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTokenStr(UserGroupInformation,String,String)
>   location: class Utils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[29,16]
>  error: Required is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[35,30]
>  error: getPrimitiveJavaObject(Object) in Required cannot implement 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR]   return type java.sql.Timestamp is not compatible with 
> org.apache.hadoop.hive.common.type.Timestamp
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[44,29]
>  error: getPrimitiveWritableObject(Object) in Required cannot implement 
> getPrimitiveWritableObject(Object) in TimestampObjectInspector
> [ERROR]   return type TimestampWritable is not compatible with 
> TimestampWritableV2
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[54,16]
>  error: Optional is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[60,30]
>  error: getPrimitiveJavaObject(Object) in Optional cannot implement 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR]   return type java.sql.Timestamp is not compatible with 
> 

[jira] [Assigned] (DRILL-6604) Upgrade Drill Hive client to Hive3.1 version

2020-03-24 Thread Vova Vysotskyi (Jira)


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

Vova Vysotskyi reassigned DRILL-6604:
-

Assignee: Vova Vysotskyi  (was: Vitalii Diravka)

> Upgrade Drill Hive client to Hive3.1 version
> 
>
> Key: DRILL-6604
> URL: https://issues.apache.org/jira/browse/DRILL-6604
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.14.0
>Reporter: Vitalii Diravka
>Assignee: Vova Vysotskyi
>Priority: Major
> Fix For: Future
>
>
> Recently the Hive3.1 version is released.
>  3.1 versions of {{hive-exec}} and {{hive-metastore}} (main Drill Hive client 
> libraries) are the last available artifacts in maven repo for now:
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-exec/3.1.0]
>  [https://mvnrepository.com/artifact/org.apache.hive/hive-metastore/3.1.0]
> It is necessary to investigate what impact of update onto the newer major 
> Hive client version.
> The initial conflicts after changing the {{hive.version}} in Drill root pom 
> file from 2.3.2 to 3.1.0 are:
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[58,39]
>  error: cannot find symbol
> [ERROR]   symbol:   class MetaStoreUtils
>   location: package org.apache.hadoop.hive.metastore
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveMetadataProvider.java:[34,39]
>  error: cannot find symbol
> [INFO] 2 errors
> {code}
> {code}
> [ERROR] COMPILATION ERROR : 
> [INFO] -
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveUtilities.java:[575,15]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTransactionalTableScan(JobConf,boolean)
>   location: class AcidUtils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[216,92]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Timestamp 
> cannot be converted to java.sql.Timestamp
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveFieldConverter.java:[225,82]
>  error: incompatible types: org.apache.hadoop.hive.common.type.Date cannot be 
> converted to java.sql.Date
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/DrillHiveMetaStoreClient.java:[100,17]
>  error: cannot find symbol
> [ERROR]   symbol:   method setTokenStr(UserGroupInformation,String,String)
>   location: class Utils
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[29,16]
>  error: Required is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[35,30]
>  error: getPrimitiveJavaObject(Object) in Required cannot implement 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR]   return type java.sql.Timestamp is not compatible with 
> org.apache.hadoop.hive.common.type.Timestamp
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[44,29]
>  error: getPrimitiveWritableObject(Object) in Required cannot implement 
> getPrimitiveWritableObject(Object) in TimestampObjectInspector
> [ERROR]   return type TimestampWritable is not compatible with 
> TimestampWritableV2
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[54,16]
>  error: Optional is not abstract and does not override abstract method 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR] 
> /home/vitalii/IdeaProjects/drill-fork/contrib/storage-hive/core/target/generated-sources/org/apache/drill/exec/expr/fn/impl/hive/DrillTimeStampTimestampObjectInspector.java:[60,30]
>  error: getPrimitiveJavaObject(Object) in Optional cannot implement 
> getPrimitiveJavaObject(Object) in TimestampObjectInspector
> [ERROR]   return type java.sql.Timestamp is not compatible with 
> org.apache.hadoop.hive.common.type.Timestamp

[jira] [Commented] (DRILL-7657) Invalid internal link

2020-03-24 Thread Vova Vysotskyi (Jira)


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

Vova Vysotskyi commented on DRILL-7657:
---

[~扎啤], thanks for pointing to this issue.
Sources for Drill Web site are placed in this branch: 
[https://github.com/apache/drill/tree/gh-pages]. Fell free to contribute!

> Invalid internal link
> -
>
> Key: DRILL-7657
> URL: https://issues.apache.org/jira/browse/DRILL-7657
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Security
>Affects Versions: 1.17.0
>Reporter: Aaron-Mhs
>Priority: Major
> Attachments: image-2020-03-24-14-57-53-568.png, 
> image-2020-03-24-14-58-17-865.png
>
>
> There is an invalid link (Prerequisites-> See Enabling Authentication and 
> Encryption.) In the Configuring Kerberos Security module in the document. 
> After opening, it displays 404 (The requested URL was not found on this 
> server.), And I hope to fix it as soon as possible.
> !image-2020-03-24-14-57-53-568.png!
> !image-2020-03-24-14-58-17-865.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-7633) Fixes for union and repeated list accessors

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

paul-rogers commented on issue #2018: DRILL-7633: Fixes for union and repeated 
list accessors
URL: https://github.com/apache/drill/pull/2018#issuecomment-603078801
 
 
   After rebasing I'm seeing a number of metastore test failures:
   ```
   [ERROR] Errors: 
   [ERROR]   TestTableMetadataUnitConversion.testBaseTableMetadata:145 » 
IllegalArgument Un...
   [ERROR]   TestTableMetadataUnitConversion.testFileMetadata:280 » 
IllegalArgument Unable ...
   [ERROR]   TestTableMetadataUnitConversion.testPartitionMetadata:383 » 
IllegalArgument Un...
   [ERROR]   TestTableMetadataUnitConversion.testRowGroupMetadata:332 » 
IllegalArgument Una...
   [ERROR]   TestTableMetadataUnitConversion.testSegmentMetadata:237 » 
IllegalArgument Unab...
   ```
   
   It is not immediately obvious what went wrong; I'll poke around tomorrow to 
see if I can find the cause.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Fixes for union and repeated list accessors
> ---
>
> Key: DRILL-7633
> URL: https://issues.apache.org/jira/browse/DRILL-7633
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Minor
> Fix For: 1.18.0
>
>
> Minor fixes for repeated list and Union type support in column accessors



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-7633) Fixes for union and repeated list accessors

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

paul-rogers commented on issue #2018: DRILL-7633: Fixes for union and repeated 
list accessors
URL: https://github.com/apache/drill/pull/2018#issuecomment-603075717
 
 
   Squashed commits and rebased on the latest master.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Fixes for union and repeated list accessors
> ---
>
> Key: DRILL-7633
> URL: https://issues.apache.org/jira/browse/DRILL-7633
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Minor
> Fix For: 1.18.0
>
>
> Minor fixes for repeated list and Union type support in column accessors



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (DRILL-7633) Fixes for union and repeated list accessors

2020-03-24 Thread ASF GitHub Bot (Jira)


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

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

paul-rogers commented on pull request #2018: DRILL-7633: Fixes for union and 
repeated list accessors
URL: https://github.com/apache/drill/pull/2018#discussion_r396947139
 
 

 ##
 File path: 
exec/vector/src/main/java/org/apache/drill/exec/record/metadata/VariantColumnMetadata.java
 ##
 @@ -96,11 +134,13 @@ public StructureType structureType() {
   public boolean isVariant() { return true; }
 
   @Override
-  public boolean isArray() { return type() == MinorType.LIST; }
+  public boolean isArray() {
+return super.isArray() || type() == MinorType.LIST;
+  }
 
   @Override
   public ColumnMetadata cloneEmpty() {
-return new VariantColumnMetadata(name, type, variantSchema.cloneEmpty());
+return new VariantColumnMetadata(name, type, mode, new VariantSchema());
 
 Review comment:
   @arina-ielchiieva, thanks for the reminder; I did miss your response.
   
   I think I see where we had a misunderstanding. I thought the `typeString()` 
code already worked because I saw this in `AbstractColumnMetadata`:
   
   ```
 public String typeString() {
   return majorType().toString();
 }
   ```
   
`PrimitiveColumnMetadata` uses a different set of type names.
   
   It seems this area has gotten a bit muddled: the  `AbstractColumnMetadata` 
version seems to never be called, except for `VariantColumnMetadata`. (This 
confused the heck out of me on an earlier attempt to clean up this area, but I 
didn't clue into the problem then.)
   
   So, now that I understand what you are asking for, I did this:
   
   * Removed the `AbstractColumnMetadata` version.
   * Added a  `VariantColumnMetadata` that produces either `UNION` or 
`ARRAY`.
   
   Until I see a good reason otherwise, I think we should treat `UNION` (what I 
call a "variant") as an opaque type. I guess I don't see the contents of a 
variant as something we want to specify, either in the metastore or in a 
provided schema. For example, can the metastore compute an NDV across an `INT`, 
`VARCHAR` and `MAP`? Probably not. Nor do the min/max values or other stats 
make sense for a variant. As a result, a variant is an opaque type for the 
metastore.
   
   Similarly, in a provided schema, I can't convince myself that the user wants 
not only to say, "the type of this field can vary", but also that "the type can 
be an `INT`, `DOUBLE` or `VARCHAR`, but not a `BIGINT`.) Just does not seem 
super-useful.
   
   An additional concern, which I think I mentioned somewhere else, is that as 
soon as we start serializing complex types, the SQL-like text format becomes 
far too cumbersome. We'd be much better of with a JSON format that can capture 
the complex tree structure. Compare:
   
   ```
   (A UNION)>)
   ```
   With something like:
   ```
   { schema: [
 {name: "a",
 type: {
name: "UNION",
nullable: true,
subtypes: [
 {name: INT, nullable: false},
 {name: MAP, nullable: false},
 members: [ ...
   ```
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Fixes for union and repeated list accessors
> ---
>
> Key: DRILL-7633
> URL: https://issues.apache.org/jira/browse/DRILL-7633
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.17.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Minor
> Fix For: 1.18.0
>
>
> Minor fixes for repeated list and Union type support in column accessors



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (DRILL-7657) Invalid internal link

2020-03-24 Thread Aaron-Mhs (Jira)
Aaron-Mhs created DRILL-7657:


 Summary: Invalid internal link
 Key: DRILL-7657
 URL: https://issues.apache.org/jira/browse/DRILL-7657
 Project: Apache Drill
  Issue Type: Bug
  Components: Security
Affects Versions: 1.17.0
Reporter: Aaron-Mhs
 Attachments: image-2020-03-24-14-57-53-568.png, 
image-2020-03-24-14-58-17-865.png

There is an invalid link (Prerequisites-> See Enabling Authentication and 
Encryption.) In the Configuring Kerberos Security module in the document. After 
opening, it displays 404 (The requested URL was not found on this server.), And 
I hope to fix it as soon as possible.

!image-2020-03-24-14-57-53-568.png!

!image-2020-03-24-14-58-17-865.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)