[jira] [Updated] (DRILL-4976) Querying Parquet files on S3 pulls too much data

2016-10-28 Thread Uwe L. Korn (JIRA)

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

Uwe L. Korn updated DRILL-4976:
---
Summary: Querying Parquet files on S3 pulls too much data   (was: Querying 
Parquet files on S3 pulls )

> Querying Parquet files on S3 pulls too much data 
> -
>
> Key: DRILL-4976
> URL: https://issues.apache.org/jira/browse/DRILL-4976
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - Parquet
>Affects Versions: 1.8.0
>Reporter: Uwe L. Korn
>
> Currently (Drill 1.8, Hadoop 2.7.2) when queries are executed on files stored 
> in S3, the underlying implementation of s3a requests magnitudes too much 
> data. Given sufficient seek sizes, the following HTTP pattern is observed:
> * GET bytes=8k-100M
> * GET bytes=2M-100M
> * GET bytes=4M-100M
> Although the HTTP request were normally aborted before all the data was
> send by the server, it was still about 10-15x the size of the input files
> that went over the network, i.e. for a file of the size of 100M, sometimes 1G 
> of data is transferred over the network.
> A fix for this is the newly introduced 
> {{fs.s3a.experimental.input.fadvise=random}} mode which will be introduced 
> with Hadoop 3.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (DRILL-4976) Querying Parquet files on S3 pulls

2016-10-28 Thread Uwe L. Korn (JIRA)
Uwe L. Korn created DRILL-4976:
--

 Summary: Querying Parquet files on S3 pulls 
 Key: DRILL-4976
 URL: https://issues.apache.org/jira/browse/DRILL-4976
 Project: Apache Drill
  Issue Type: Improvement
  Components: Storage - Parquet
Affects Versions: 1.8.0
Reporter: Uwe L. Korn


Currently (Drill 1.8, Hadoop 2.7.2) when queries are executed on files stored 
in S3, the underlying implementation of s3a requests magnitudes too much data. 
Given sufficient seek sizes, the following HTTP pattern is observed:

* GET bytes=8k-100M
* GET bytes=2M-100M
* GET bytes=4M-100M

Although the HTTP request were normally aborted before all the data was
send by the server, it was still about 10-15x the size of the input files
that went over the network, i.e. for a file of the size of 100M, sometimes 1G 
of data is transferred over the network.

A fix for this is the newly introduced 
{{fs.s3a.experimental.input.fadvise=random}} mode which will be introduced with 
Hadoop 3.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (DRILL-4977) Reading parquet metadata cache from S3 with fadvise=random and Hadoop 3 generates a large number of requests

2016-10-28 Thread Uwe L. Korn (JIRA)
Uwe L. Korn created DRILL-4977:
--

 Summary: Reading parquet metadata cache from S3 with 
fadvise=random and Hadoop 3 generates a large number of requests
 Key: DRILL-4977
 URL: https://issues.apache.org/jira/browse/DRILL-4977
 Project: Apache Drill
  Issue Type: Improvement
  Components: Storage - Parquet
Affects Versions: 1.8.0
 Environment: Hadoop 3.0
Reporter: Uwe L. Korn


When using the new {{fs.s3a.experimental.input.fadvise=random}} mode for 
accessing Parquet files stored in S3, we see a significant improvement for the 
query performance but a slowdown on query planning. This is due to the way the 
metadata file is read (each chunk of 8000 bytes generates a new GET request to 
S3). Indicating with {{FSDataInputStream.setReadahead(metadata-filesize)}} that 
we will read the whole file, this behaviour is circumvented. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (DRILL-4978) Parquet metadata cache on S3 is always renewed

2016-10-28 Thread Uwe L. Korn (JIRA)
Uwe L. Korn created DRILL-4978:
--

 Summary: Parquet metadata cache on S3 is always renewed
 Key: DRILL-4978
 URL: https://issues.apache.org/jira/browse/DRILL-4978
 Project: Apache Drill
  Issue Type: Bug
  Components: Storage - Parquet
Affects Versions: 1.8.0
 Environment: Hadoop s3a storage
Reporter: Uwe L. Korn


As dictionary modification times are not tracked by S3 (see 
https://hadoop.apache.org/docs/r3.0.0-alpha1/hadoop-aws/tools/hadoop-aws/index.html#Warning_2:_Because_Object_stores_dont_track_modification_times_of_directories
 ) the Parquet metadata is always renewed on query planning.

This could either be tuned by:
 * for the case of s3a, check the modification times of all Parquet files in 
this directory
 * deactivate the metadata cache for s3a



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (DRILL-4979) Make dataport configurable

2016-10-28 Thread Uwe L. Korn (JIRA)
Uwe L. Korn created DRILL-4979:
--

 Summary: Make dataport configurable
 Key: DRILL-4979
 URL: https://issues.apache.org/jira/browse/DRILL-4979
 Project: Apache Drill
  Issue Type: New Feature
  Components:  Server
Affects Versions: 1.8.0
 Environment: Scheduling drillbits with Apache Mesos+Aurora
Reporter: Uwe L. Korn


Currently the dataport of a Drillbit is fixed to +1 on the control port. In a 
dynamic execution environment like Apache Mesos+Aurora, each port is allocated 
by the scheduler and then passed on to the application process. There is no 
possibility or guarantee to allocate two consecutive ports. Therefore, to run 
Drill in this environment, the dataport of the drillbit also needs to 
configurable by the scheduler. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DRILL-4979) Make dataport configurable

2016-10-28 Thread Uwe L. Korn (JIRA)

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

Uwe L. Korn commented on DRILL-4979:


Implementation-wise it seems like the only point where the {{+1}} is actually 
hardcoded is in 
{{exec/java-exec/src/main/java/org/apache/drill/exec/rpc/data/DataConnectionCreator.java:62}},
 i.e. {{int port = server.bind(partialEndpoint.getControlPort() + 1, 
allowPortHunting)}}. Therefore a fix for this could be to introduce a new 
configuration option {{drill.exec.rpc.bit.server.dataport}} and use this if 
set, otherwise default back to {{controlport + 1}}.

> Make dataport configurable
> --
>
> Key: DRILL-4979
> URL: https://issues.apache.org/jira/browse/DRILL-4979
> Project: Apache Drill
>  Issue Type: New Feature
>  Components:  Server
>Affects Versions: 1.8.0
> Environment: Scheduling drillbits with Apache Mesos+Aurora
>Reporter: Uwe L. Korn
>
> Currently the dataport of a Drillbit is fixed to +1 on the control port. In a 
> dynamic execution environment like Apache Mesos+Aurora, each port is 
> allocated by the scheduler and then passed on to the application process. 
> There is no possibility or guarantee to allocate two consecutive ports. 
> Therefore, to run Drill in this environment, the dataport of the drillbit 
> also needs to configurable by the scheduler. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DRILL-4373) Drill and Hive have incompatible timestamp representations in parquet

2016-10-28 Thread ASF GitHub Bot (JIRA)

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

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

Github user vdiravka commented on a diff in the pull request:

https://github.com/apache/drill/pull/600#discussion_r85522267
  
--- Diff: 
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/writer/TestParquetWriter.java
 ---
@@ -739,30 +741,76 @@ public void runTestAndValidate(String selection, 
String validationSelection, Str
   }
 
   /*
-  Test the reading of an int96 field. Impala encodes timestamps as int96 
fields
+Impala encodes timestamp values as int96 fields. Test the reading of 
an int96 field with two converters:
+the first one converts parquet INT96 into drill VARBINARY and the 
second one (works while
+store.parquet.reader.int96_as_timestamp option is enabled) converts 
parquet INT96 into drill TIMESTAMP.
*/
   @Test
   public void testImpalaParquetInt96() throws Exception {
 compareParquetReadersColumnar("field_impala_ts", 
"cp.`parquet/int96_impala_1.parquet`");
+try {
+  test("alter session set %s = true", 
ExecConstants.PARQUET_READER_INT96_AS_TIMESTAMP);
+  compareParquetReadersColumnar("field_impala_ts", 
"cp.`parquet/int96_impala_1.parquet`");
+} finally {
+  test("alter session reset %s", 
ExecConstants.PARQUET_READER_INT96_AS_TIMESTAMP);
+}
   }
 
   /*
-  Test the reading of a binary field where data is in dicationary _and_ 
non-dictionary encoded pages
+  Test the reading of a binary field as drill varbinary where data is in 
dicationary _and_ non-dictionary encoded pages
*/
   @Test
-  public void testImpalaParquetVarBinary_DictChange() throws Exception {
+  public void testImpalaParquetBinaryAsVarBinary_DictChange() throws 
Exception {
 compareParquetReadersColumnar("field_impala_ts", 
"cp.`parquet/int96_dict_change.parquet`");
   }
 
   /*
+  Test the reading of a binary field as drill timestamp where data is in 
dicationary _and_ non-dictionary encoded pages
+   */
+  @Test
+  public void testImpalaParquetBinaryAsTimeStamp_DictChange() throws 
Exception {
+final String WORKING_PATH = TestTools.getWorkingPath();
+final String TEST_RES_PATH = WORKING_PATH + "/src/test/resources";
+try {
+  testBuilder()
+  .sqlQuery("select int96_ts from 
dfs_test.`%s/parquet/int96_dict_change`", TEST_RES_PATH)
+  .optionSettingQueriesForTestQuery(
+  "alter session set `%s` = true", 
ExecConstants.PARQUET_READER_INT96_AS_TIMESTAMP)
+  .ordered()
+  
.csvBaselineFile("testframework/testParquetReader/testInt96DictChange/q1.tsv")
+  .baselineTypes(TypeProtos.MinorType.TIMESTAMP)
+  .baselineColumns("int96_ts")
+  .build().run();
+} finally {
+  test("alter system reset `%s`", 
ExecConstants.PARQUET_READER_INT96_AS_TIMESTAMP);
+}
+  }
+
+  /*
  Test the conversion from int96 to impala timestamp
*/
   @Test
-  public void testImpalaParquetTimestampAsInt96() throws Exception {
+  public void testTimestampImpalaConvertFrom() throws Exception {
 compareParquetReadersColumnar("convert_from(field_impala_ts, 
'TIMESTAMP_IMPALA')", "cp.`parquet/int96_impala_1.parquet`");
   }
 
   /*
+ Test reading parquet Int96 as TimeStamp and comparing obtained values 
with the
+ old results (reading the same values as VarBinary and 
convert_fromTIMESTAMP_IMPALA function using)
+   */
+  @Test
+  public void testImpalaParquetTimestampInt96AsTimeStamp() throws 
Exception {
--- End diff --

This test compares the results between new converter (Int96 to TimeStamp) 
and the old one (Int96 to VarBinary) with `convert_fromTIMESTAMP_IMPALA` 
function. 
The issue was in the `ConvertFromImpalaTimestamp` [link to the code

](https://github.com/apache/drill/pull/600/commits/a45490af2dd663168220cc3bda62a2d79170db62#diff-5d8360c5e3cf7d2f6ac7bfe58b6d319aL57)
 Because the timezone changing shouldn't affect on the result timestamp values.
I deleted timezone consideration there, so now all tests passed successfuly 
even across different timezones.


> Drill and Hive have incompatible timestamp representations in parquet
> -
>
> Key: DRILL-4373
> URL: https://issues.apache.org/jira/browse/DRILL-4373
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Storage - Hive, Storage - Parquet
>Affects Versions: 1.8.0
>Reporter: Rahul Challapalli
>Assignee: 

[jira] [Created] (DRILL-4980) Upgrading of the approach of parquet date correctness status detection

2016-10-28 Thread Vitalii Diravka (JIRA)
Vitalii Diravka created DRILL-4980:
--

 Summary: Upgrading of the approach of parquet date correctness 
status detection
 Key: DRILL-4980
 URL: https://issues.apache.org/jira/browse/DRILL-4980
 Project: Apache Drill
  Issue Type: Bug
  Components: Storage - Parquet
Affects Versions: 1.8.0
Reporter: Vitalii Diravka
Assignee: Vitalii Diravka
 Fix For: 1.9.0


This jira is an addition for the 
[DRILL-4203|https://issues.apache.org/jira/browse/DRILL-4203].
The date correctness label for the new generated parquet files should be 
upgraded. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DRILL-4972) Drillbit shuts down immediately after starting if embedded web server is disabled

2016-10-28 Thread ASF GitHub Bot (JIRA)

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

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

Github user sudheeshkatkam commented on a diff in the pull request:

https://github.com/apache/drill/pull/633#discussion_r85552294
  
--- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/work/WorkManager.java ---
@@ -295,7 +295,7 @@ public FragmentExecutor getFragmentRunner(final 
FragmentHandle handle) {
*/
   private class StatusThread extends Thread {
 public StatusThread() {
-  setDaemon(true);
+  setDaemon(false);
--- End diff --

.. but this will make sure that is the case.


> Drillbit shuts down immediately after starting if embedded web server is 
> disabled
> -
>
> Key: DRILL-4972
> URL: https://issues.apache.org/jira/browse/DRILL-4972
> Project: Apache Drill
>  Issue Type: Bug
>  Components:  Server
>Affects Versions: 1.8.0
>Reporter: Sudheesh Katkam
>Assignee: Sorabh Hamirwasia
>Priority: Critical
> Fix For: 1.9.0
>
>
> Disable embedded web server by setting "drill.exec.http.enabled" to false. 
> Now when drillbit is started, it shuts down immediately after starting.
> JVM exits when the only threads running are all daemon threads. Turns out all 
> threads in a drillbit, other than the thread pool started by the web server, 
> are daemon. So I suggest WorkManager#StatusThread be made non-daemon.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DRILL-4972) Drillbit shuts down immediately after starting if embedded web server is disabled

2016-10-28 Thread ASF GitHub Bot (JIRA)

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

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

Github user sohami commented on a diff in the pull request:

https://github.com/apache/drill/pull/633#discussion_r85557510
  
--- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/work/WorkManager.java ---
@@ -295,7 +295,7 @@ public FragmentExecutor getFragmentRunner(final 
FragmentHandle handle) {
*/
   private class StatusThread extends Thread {
 public StatusThread() {
-  setDaemon(true);
+  setDaemon(false);
--- End diff --

Not sure why removing it will not ensure the same. I think it's redundant 
and like overriding a default already set in constructor with default value 
using setter method.


> Drillbit shuts down immediately after starting if embedded web server is 
> disabled
> -
>
> Key: DRILL-4972
> URL: https://issues.apache.org/jira/browse/DRILL-4972
> Project: Apache Drill
>  Issue Type: Bug
>  Components:  Server
>Affects Versions: 1.8.0
>Reporter: Sudheesh Katkam
>Assignee: Sorabh Hamirwasia
>Priority: Critical
> Fix For: 1.9.0
>
>
> Disable embedded web server by setting "drill.exec.http.enabled" to false. 
> Now when drillbit is started, it shuts down immediately after starting.
> JVM exits when the only threads running are all daemon threads. Turns out all 
> threads in a drillbit, other than the thread pool started by the web server, 
> are daemon. So I suggest WorkManager#StatusThread be made non-daemon.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DRILL-4964) Drill fails to connect to hive metastore after hive metastore is restarted unless drillbits are restarted also

2016-10-28 Thread ASF GitHub Bot (JIRA)

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

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

Github user jinfengni commented on the issue:

https://github.com/apache/drill/pull/628
  
+1 

LGTM.



> Drill fails to connect to hive metastore after hive metastore is restarted 
> unless drillbits are restarted also
> --
>
> Key: DRILL-4964
> URL: https://issues.apache.org/jira/browse/DRILL-4964
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.8.0, 1.9.0
>Reporter: Sorabh Hamirwasia
>Assignee: Jinfeng Ni
>
> It is found that if Hive Metastore is restarted then Drillbit also needs to 
> be restarted to further query and connect to hive metastore. 
> Repro Steps:
> ===
> 1) Start HiveMetastore and drillbit.
> 2) Start Drillbit client with Scheman as hive and run a simple query like 
> "show databases"
>Command to start client: sqlline -u 
> "jdbc:drill:schema=hive;drillbit="
> 3) restart hive metastore
> 4) Execute same query "show databases" on existing drillclient or new one. 
> You will see that hive default database is not listed. If you query any hive 
> data then it will fail.
> Log snippet from drillbit.log:
> ==
> 2016-10-25 18:32:00,561 [27eff86e-e8fb-3d91-eb88-4af75ff6d174:foreman] INFO  
> o.a.drill.exec.work.foreman.Foreman - Query text for query id 
> 27eff86e-e8fb-3d91-eb88-4af75ff6d174: show databases
> 2016-10-25 18:32:00,563 [27eff86e-e8fb-3d91-eb88-4af75ff6d174:foreman] DEBUG 
> o.a.d.e.s.h.HBaseStoragePluginConfig - Initializing HBase StoragePlugin 
> configuration with zookeeper quorum 'localhost', port '2181'.
> 2016-10-25 18:32:00,595 [27eff86e-e8fb-3d91-eb88-4af75ff6d174:foreman] WARN  
> o.a.d.e.s.h.schema.HiveSchemaFactory - Failure while attempting to access 
> HiveDatabase 'default'.
> java.util.concurrent.ExecutionException: MetaException(message:Got exception: 
> org.apache.thrift.transport.TTransportException null)
> at 
> com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116) 
> ~[guava-18.0.jar:na]
> at 
> com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:137)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2348)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2320) 
> ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) 
> ~[guava-18.0.jar:na]
> at com.google.common.cache.LocalCache.get(LocalCache.java:3937) 
> ~[guava-18.0.jar:na]
> at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941) 
> ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
>  ~[guava-18.0.jar:na]
> at 
> org.apache.drill.exec.store.hive.DrillHiveMetaStoreClient$HiveClientWithCaching.getDatabases(DrillHiveMetaStoreClient.java:415)
>  ~[drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.schema.HiveSchemaFactory$HiveSchema.getSubSchema(HiveSchemaFactory.java:139)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.schema.HiveSchemaFactory$HiveSchema.(HiveSchemaFactory.java:133)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.schema.HiveSchemaFactory.registerSchemas(HiveSchemaFactory.java:118)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.HiveStoragePlugin.registerSchemas(HiveStoragePlugin.java:100)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.StoragePluginRegistryImpl$DrillSchemaFactory.registerSchemas(StoragePluginRegistryImpl.java:365)
>  [drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.SchemaTreeProvider.createRootSchema(SchemaTreeProvider.java:72)
>  [drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.SchemaTreeProvider.createRootSchema(SchemaTreeProvider.java:61)
>  [drill-java-exec-1.9.

[jira] [Commented] (DRILL-4964) Drill fails to connect to hive metastore after hive metastore is restarted unless drillbits are restarted also

2016-10-28 Thread ASF GitHub Bot (JIRA)

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

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

Github user sohami commented on the issue:

https://github.com/apache/drill/pull/628
  
@jinfengni - Thanks for review.


> Drill fails to connect to hive metastore after hive metastore is restarted 
> unless drillbits are restarted also
> --
>
> Key: DRILL-4964
> URL: https://issues.apache.org/jira/browse/DRILL-4964
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.8.0, 1.9.0
>Reporter: Sorabh Hamirwasia
>Assignee: Jinfeng Ni
>
> It is found that if Hive Metastore is restarted then Drillbit also needs to 
> be restarted to further query and connect to hive metastore. 
> Repro Steps:
> ===
> 1) Start HiveMetastore and drillbit.
> 2) Start Drillbit client with Scheman as hive and run a simple query like 
> "show databases"
>Command to start client: sqlline -u 
> "jdbc:drill:schema=hive;drillbit="
> 3) restart hive metastore
> 4) Execute same query "show databases" on existing drillclient or new one. 
> You will see that hive default database is not listed. If you query any hive 
> data then it will fail.
> Log snippet from drillbit.log:
> ==
> 2016-10-25 18:32:00,561 [27eff86e-e8fb-3d91-eb88-4af75ff6d174:foreman] INFO  
> o.a.drill.exec.work.foreman.Foreman - Query text for query id 
> 27eff86e-e8fb-3d91-eb88-4af75ff6d174: show databases
> 2016-10-25 18:32:00,563 [27eff86e-e8fb-3d91-eb88-4af75ff6d174:foreman] DEBUG 
> o.a.d.e.s.h.HBaseStoragePluginConfig - Initializing HBase StoragePlugin 
> configuration with zookeeper quorum 'localhost', port '2181'.
> 2016-10-25 18:32:00,595 [27eff86e-e8fb-3d91-eb88-4af75ff6d174:foreman] WARN  
> o.a.d.e.s.h.schema.HiveSchemaFactory - Failure while attempting to access 
> HiveDatabase 'default'.
> java.util.concurrent.ExecutionException: MetaException(message:Got exception: 
> org.apache.thrift.transport.TTransportException null)
> at 
> com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116) 
> ~[guava-18.0.jar:na]
> at 
> com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:137)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2348)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2320) 
> ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) 
> ~[guava-18.0.jar:na]
> at com.google.common.cache.LocalCache.get(LocalCache.java:3937) 
> ~[guava-18.0.jar:na]
> at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941) 
> ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
>  ~[guava-18.0.jar:na]
> at 
> org.apache.drill.exec.store.hive.DrillHiveMetaStoreClient$HiveClientWithCaching.getDatabases(DrillHiveMetaStoreClient.java:415)
>  ~[drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.schema.HiveSchemaFactory$HiveSchema.getSubSchema(HiveSchemaFactory.java:139)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.schema.HiveSchemaFactory$HiveSchema.(HiveSchemaFactory.java:133)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.schema.HiveSchemaFactory.registerSchemas(HiveSchemaFactory.java:118)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.HiveStoragePlugin.registerSchemas(HiveStoragePlugin.java:100)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.StoragePluginRegistryImpl$DrillSchemaFactory.registerSchemas(StoragePluginRegistryImpl.java:365)
>  [drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.SchemaTreeProvider.createRootSchema(SchemaTreeProvider.java:72)
>  [drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.SchemaTreeProvider.createRootSchema(SchemaTreeProvider.java:61)
>  [drill-java-

[jira] [Commented] (DRILL-4964) Drill fails to connect to hive metastore after hive metastore is restarted unless drillbits are restarted also

2016-10-28 Thread ASF GitHub Bot (JIRA)

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

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

Github user sohami closed the pull request at:

https://github.com/apache/drill/pull/628


> Drill fails to connect to hive metastore after hive metastore is restarted 
> unless drillbits are restarted also
> --
>
> Key: DRILL-4964
> URL: https://issues.apache.org/jira/browse/DRILL-4964
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.8.0, 1.9.0
>Reporter: Sorabh Hamirwasia
>Assignee: Jinfeng Ni
>
> It is found that if Hive Metastore is restarted then Drillbit also needs to 
> be restarted to further query and connect to hive metastore. 
> Repro Steps:
> ===
> 1) Start HiveMetastore and drillbit.
> 2) Start Drillbit client with Scheman as hive and run a simple query like 
> "show databases"
>Command to start client: sqlline -u 
> "jdbc:drill:schema=hive;drillbit="
> 3) restart hive metastore
> 4) Execute same query "show databases" on existing drillclient or new one. 
> You will see that hive default database is not listed. If you query any hive 
> data then it will fail.
> Log snippet from drillbit.log:
> ==
> 2016-10-25 18:32:00,561 [27eff86e-e8fb-3d91-eb88-4af75ff6d174:foreman] INFO  
> o.a.drill.exec.work.foreman.Foreman - Query text for query id 
> 27eff86e-e8fb-3d91-eb88-4af75ff6d174: show databases
> 2016-10-25 18:32:00,563 [27eff86e-e8fb-3d91-eb88-4af75ff6d174:foreman] DEBUG 
> o.a.d.e.s.h.HBaseStoragePluginConfig - Initializing HBase StoragePlugin 
> configuration with zookeeper quorum 'localhost', port '2181'.
> 2016-10-25 18:32:00,595 [27eff86e-e8fb-3d91-eb88-4af75ff6d174:foreman] WARN  
> o.a.d.e.s.h.schema.HiveSchemaFactory - Failure while attempting to access 
> HiveDatabase 'default'.
> java.util.concurrent.ExecutionException: MetaException(message:Got exception: 
> org.apache.thrift.transport.TTransportException null)
> at 
> com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116) 
> ~[guava-18.0.jar:na]
> at 
> com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:137)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2348)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2320) 
> ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
>  ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) 
> ~[guava-18.0.jar:na]
> at com.google.common.cache.LocalCache.get(LocalCache.java:3937) 
> ~[guava-18.0.jar:na]
> at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941) 
> ~[guava-18.0.jar:na]
> at 
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
>  ~[guava-18.0.jar:na]
> at 
> org.apache.drill.exec.store.hive.DrillHiveMetaStoreClient$HiveClientWithCaching.getDatabases(DrillHiveMetaStoreClient.java:415)
>  ~[drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.schema.HiveSchemaFactory$HiveSchema.getSubSchema(HiveSchemaFactory.java:139)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.schema.HiveSchemaFactory$HiveSchema.(HiveSchemaFactory.java:133)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.schema.HiveSchemaFactory.registerSchemas(HiveSchemaFactory.java:118)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.hive.HiveStoragePlugin.registerSchemas(HiveStoragePlugin.java:100)
>  [drill-storage-hive-core-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.StoragePluginRegistryImpl$DrillSchemaFactory.registerSchemas(StoragePluginRegistryImpl.java:365)
>  [drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.SchemaTreeProvider.createRootSchema(SchemaTreeProvider.java:72)
>  [drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.SchemaTreeProvider.createRootSchema(SchemaTreeProvider.java:61)
>  [drill-java-exec-1.9.0-SNAPSHOT.jar:1.9.0-SNAPS

[jira] [Commented] (DRILL-4972) Drillbit shuts down immediately after starting if embedded web server is disabled

2016-10-28 Thread ASF GitHub Bot (JIRA)

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

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

Github user parthchandra commented on the issue:

https://github.com/apache/drill/pull/633
  
+1. LGTM


> Drillbit shuts down immediately after starting if embedded web server is 
> disabled
> -
>
> Key: DRILL-4972
> URL: https://issues.apache.org/jira/browse/DRILL-4972
> Project: Apache Drill
>  Issue Type: Bug
>  Components:  Server
>Affects Versions: 1.8.0
>Reporter: Sudheesh Katkam
>Assignee: Sorabh Hamirwasia
>Priority: Critical
> Fix For: 1.9.0
>
>
> Disable embedded web server by setting "drill.exec.http.enabled" to false. 
> Now when drillbit is started, it shuts down immediately after starting.
> JVM exits when the only threads running are all daemon threads. Turns out all 
> threads in a drillbit, other than the thread pool started by the web server, 
> are daemon. So I suggest WorkManager#StatusThread be made non-daemon.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DRILL-4967) Adding template_name to source code generated using freemarker template

2016-10-28 Thread ASF GitHub Bot (JIRA)

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

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

Github user amansinha100 commented on the issue:

https://github.com/apache/drill/pull/629
  
+1


> Adding template_name to source code generated using freemarker template
> ---
>
> Key: DRILL-4967
> URL: https://issues.apache.org/jira/browse/DRILL-4967
> Project: Apache Drill
>  Issue Type: Improvement
>Affects Versions: 1.8.0
>Reporter: Jinfeng Ni
>Assignee: Aman Sinha
> Fix For: 1.9.0
>
>
> Drill uses FreeMarker to generate source code in maven build process. It 
> would be helpful if we could put the freemarker template name in the 
> generated source code, so that we could easily locate the template, in case 
> we have to make change to the template.
> Earlier on there was a discussion in the dev list about this idea, and some 
> templates have been doing so. This JIRA is opened to put the template name in 
> all the rest of freemarker templates.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DRILL-4927) Add support for Null Equality Joins

2016-10-28 Thread ASF GitHub Bot (JIRA)

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

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

GitHub user KulykRoman opened a pull request:

https://github.com/apache/drill/pull/635

DRILL-4927 (part 2): Add support for Null Equality Joins (mixed compa…

…rators)

This changes are a subset of the original pull request from DRILL-4539 
(PR-462).
- Added changes to support mixed comparators;
- Added tests for it.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/KulykRoman/drill DRILL-4927

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/drill/pull/635.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #635


commit 47abbd9aa21443d76bb58b001d3f8a2e36511a7f
Author: Roman Kulyk 
Date:   2016-10-28T13:26:53Z

DRILL-4927 (part 2): Add support for Null Equality Joins (mixed comparators)

This changes are a subset of the original pull request from DRILL-4539 
(PR-462).
- Added changes to support mixed comparators;
- Added tests for it.




> Add support for Null Equality Joins
> ---
>
> Key: DRILL-4927
> URL: https://issues.apache.org/jira/browse/DRILL-4927
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Query Planning & Optimization
>Affects Versions: 1.8.0
>Reporter: Roman
>Assignee: Aman Sinha
>  Labels: doc-impacting
> Fix For: 1.9.0
>
>
> Join with an equality condition which allows null=null fails. For example, if 
> we use some of this queries:
> {code:sql}
> select ... FROM t1, t2 WHERE t1.c1 = t2.c2 OR (t1.c1 IS NULL AND t2.c2 IS 
> NULL);
> select ... FROM t1 INNER JOIN  t2 ON  t1.c1 = t2.c2 OR (t1.c1 IS NULL AND 
> t2.c2 IS NULL);
> {code}
> we got "UNSUPPORTED_OPERATION ERROR". We should add support for this option.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (DRILL-4968) Add column size information to ColumnMetadata

2016-10-28 Thread Sudheesh Katkam (JIRA)

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

Sudheesh Katkam resolved DRILL-4968.

   Resolution: Fixed
Fix Version/s: 1.9.0

Fixed in 
[c6dbe6a|https://github.com/apache/drill/commit/c6dbe6a2f7033114d6239a4850a9b5092e684589].

> Add column size information to ColumnMetadata
> -
>
> Key: DRILL-4968
> URL: https://issues.apache.org/jira/browse/DRILL-4968
> Project: Apache Drill
>  Issue Type: Sub-task
>  Components: Metadata
>Reporter: Laurent Goujon
>Assignee: Laurent Goujon
> Fix For: 1.9.0
>
>
> Both ODBC and JDBC needs column size information for the column metadata. 
> Instead of duplicating the logic between C++ and Java (and having to keep in 
> them sync), column size should be computed on the server so that value is 
> kept consistent across clients.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (DRILL-4974) NPE in FindPartitionConditions.analyzeCall() for 'holistic' expressions

2016-10-28 Thread Sudheesh Katkam (JIRA)

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

Sudheesh Katkam updated DRILL-4974:
---
Fix Version/s: (was: 1.8.0)
   1.9.0

> NPE in FindPartitionConditions.analyzeCall() for 'holistic' expressions
> ---
>
> Key: DRILL-4974
> URL: https://issues.apache.org/jira/browse/DRILL-4974
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Execution - Relational Operators
>Affects Versions: 1.6.0, 1.7.0, 1.8.0
>Reporter: Karthikeyan Manivannan
>Assignee: Gautam Kumar Parai
> Fix For: 1.9.0
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> The following query can cause an NPE in FindPartitionConditions.analyzeCall() 
> if the fileSize column is a partitioned column. 
> SELECT  fileSize FROM dfs.`/drill-data/data/` WHERE compoundId LIKE 
> 'FOO-1234567%'
> This is because, the LIKE is treated as a holistic expression in 
> FindPartitionConditions.analyzeCall(), causing opStack to be empty, thus 
> causing opStack.peek() to return a NULL value.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (DRILL-4981) TPC-DS Query 75 fails on MapR-DB JSON Tables

2016-10-28 Thread Abhishek Girish (JIRA)
Abhishek Girish created DRILL-4981:
--

 Summary: TPC-DS Query 75 fails on MapR-DB JSON Tables
 Key: DRILL-4981
 URL: https://issues.apache.org/jira/browse/DRILL-4981
 Project: Apache Drill
  Issue Type: Bug
  Components: Storage - MapRDB
Affects Versions: 1.9.0
Reporter: Abhishek Girish
Assignee: Smidth Panchamia


TPC-DS Query 75 fails on MapR-DB JSON Tables, but succeeds on Text, Parquet & 
JSON File formats. 

I'll work on a simpler repro. Find the original query & error below:

{code}
WITH all_sales 
 AS (SELECT d_year, 
i_brand_id, 
i_class_id, 
i_category_id, 
i_manufact_id, 
Sum(sales_cnt) AS sales_cnt, 
Sum(sales_amt) AS sales_amt 
 FROM   (SELECT d_year, 
i_brand_id, 
i_class_id, 
i_category_id, 
i_manufact_id, 
cs_quantity - COALESCE(cr_return_quantity, 0)AS 
sales_cnt, 
cs_ext_sales_price - COALESCE(cr_return_amount, 0.0) AS 
sales_amt 
 FROM   catalog_sales 
JOIN item 
  ON i_item_sk = cs_item_sk 
JOIN date_dim 
  ON d_date_sk = cs_sold_date_sk 
LEFT JOIN catalog_returns 
   ON ( cs_order_number = cr_order_number 
AND cs_item_sk = cr_item_sk ) 
 WHERE  i_category = 'Men' 
 UNION 
 SELECT d_year, 
i_brand_id, 
i_class_id, 
i_category_id, 
i_manufact_id, 
ss_quantity - COALESCE(sr_return_quantity, 0) AS 
sales_cnt, 
ss_ext_sales_price - COALESCE(sr_return_amt, 0.0) AS 
sales_amt 
 FROM   store_sales 
JOIN item 
  ON i_item_sk = ss_item_sk 
JOIN date_dim 
  ON d_date_sk = ss_sold_date_sk 
LEFT JOIN store_returns 
   ON ( ss_ticket_number = sr_ticket_number 
AND ss_item_sk = sr_item_sk ) 
 WHERE  i_category = 'Men' 
 UNION 
 SELECT d_year, 
i_brand_id, 
i_class_id, 
i_category_id, 
i_manufact_id, 
ws_quantity - COALESCE(wr_return_quantity, 0) AS 
sales_cnt, 
ws_ext_sales_price - COALESCE(wr_return_amt, 0.0) AS 
sales_amt 
 FROM   web_sales 
JOIN item 
  ON i_item_sk = ws_item_sk 
JOIN date_dim 
  ON d_date_sk = ws_sold_date_sk 
LEFT JOIN web_returns 
   ON ( ws_order_number = wr_order_number 
AND ws_item_sk = wr_item_sk ) 
 WHERE  i_category = 'Men') sales_detail 
 GROUP  BY d_year, 
   i_brand_id, 
   i_class_id, 
   i_category_id, 
   i_manufact_id) 
SELECT prev_yr.d_yearAS prev_year, 
   curr_yr.d_yearAS year1, 
   curr_yr.i_brand_id, 
   curr_yr.i_class_id, 
   curr_yr.i_category_id, 
   curr_yr.i_manufact_id, 
   prev_yr.sales_cnt AS prev_yr_cnt, 
   curr_yr.sales_cnt AS curr_yr_cnt, 
   curr_yr.sales_cnt - prev_yr.sales_cnt AS sales_cnt_diff, 
   curr_yr.sales_amt - prev_yr.sales_amt AS sales_amt_diff 
FROM   all_sales curr_yr, 
   all_sales prev_yr 
WHERE  curr_yr.i_brand_id = prev_yr.i_brand_id 
   AND curr_yr.i_class_id = prev_yr.i_class_id 
   AND curr_yr.i_category_id = prev_yr.i_category_id 
   AND curr_yr.i_manufact_id = prev_yr.i_manufact_id 
   AND curr_yr.d_year = 2002 
   AND prev_yr.d_year = 2002 - 1 
   AND Cast(curr_yr.sales_cnt AS DECIMAL(17, 2)) / Cast(prev_yr.sales_cnt 
AS 
DECIMAL(17, 2)) 
   < 0.9 
ORDER  BY sales_cnt_diff
LIMIT 100
{code}

Error:
{code}
Failed with exception
java.sql.SQLException: SYSTEM ERROR: NullPointerException


[Error Id: 128bb62b-a6af-4b8f-90d5-d9f516b9e3d4 on atsqa6c83

[jira] [Commented] (DRILL-4927) Add support for Null Equality Joins

2016-10-28 Thread ASF GitHub Bot (JIRA)

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

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

Github user amansinha100 commented on a diff in the pull request:

https://github.com/apache/drill/pull/635#discussion_r85625856
  
--- Diff: 
exec/java-exec/src/test/java/org/apache/drill/TestJoinNullable.java ---
@@ -493,4 +496,81 @@ public void withNullEqualAdditionFilter() throws 
Exception {
 .go();
   }
 
+  @Test
+  public void withMixedEqualAndIsNotDistinctHashJoin() throws Exception {
--- End diff --

Could you add a test with the predicate of type: 
t1.key = t2.key AND ((t1.data=t2.data) OR (t1.data IS NULL AND t2.data 
IS NULL))
where the right side of the AND gets converted to IS NOT DISTINCT FROM.  


> Add support for Null Equality Joins
> ---
>
> Key: DRILL-4927
> URL: https://issues.apache.org/jira/browse/DRILL-4927
> Project: Apache Drill
>  Issue Type: Improvement
>  Components: Query Planning & Optimization
>Affects Versions: 1.8.0
>Reporter: Roman
>Assignee: Aman Sinha
>  Labels: doc-impacting
> Fix For: 1.9.0
>
>
> Join with an equality condition which allows null=null fails. For example, if 
> we use some of this queries:
> {code:sql}
> select ... FROM t1, t2 WHERE t1.c1 = t2.c2 OR (t1.c1 IS NULL AND t2.c2 IS 
> NULL);
> select ... FROM t1 INNER JOIN  t2 ON  t1.c1 = t2.c2 OR (t1.c1 IS NULL AND 
> t2.c2 IS NULL);
> {code}
> we got "UNSUPPORTED_OPERATION ERROR". We should add support for this option.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DRILL-4420) C client and ODBC driver should move to using the new metadata methods provided by DRILL-4385

2016-10-28 Thread ASF GitHub Bot (JIRA)

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

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

Github user laurentgo commented on the issue:

https://github.com/apache/drill/pull/602
  
Branch updated with only commits associated with a JIRA (everything else 
has been merged into commit for DRILL-4420)


> C client and ODBC driver should move to using the new metadata methods 
> provided by DRILL-4385
> -
>
> Key: DRILL-4420
> URL: https://issues.apache.org/jira/browse/DRILL-4420
> Project: Apache Drill
>  Issue Type: Sub-task
>Reporter: Jacques Nadeau
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (DRILL-4979) Make dataport configurable

2016-10-28 Thread Parth Chandra (JIRA)

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

Parth Chandra commented on DRILL-4979:
--

This seems like a reasonable approach.  (You can follow the pattern used for 
the control port in ControllerImpl.start() )

> Make dataport configurable
> --
>
> Key: DRILL-4979
> URL: https://issues.apache.org/jira/browse/DRILL-4979
> Project: Apache Drill
>  Issue Type: New Feature
>  Components:  Server
>Affects Versions: 1.8.0
> Environment: Scheduling drillbits with Apache Mesos+Aurora
>Reporter: Uwe L. Korn
>
> Currently the dataport of a Drillbit is fixed to +1 on the control port. In a 
> dynamic execution environment like Apache Mesos+Aurora, each port is 
> allocated by the scheduler and then passed on to the application process. 
> There is no possibility or guarantee to allocate two consecutive ports. 
> Therefore, to run Drill in this environment, the dataport of the drillbit 
> also needs to configurable by the scheduler. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)