[jira] [Commented] (DRILL-8228) Drill2288GetColumnsMetadataWhenNoRowsTest regression
[ https://issues.apache.org/jira/browse/DRILL-8228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539924#comment-17539924 ] ASF GitHub Bot commented on DRILL-8228: --- jnturton commented on PR #2554: URL: https://github.com/apache/drill/pull/2554#issuecomment-1132459141 Hi @nielsbasjes don't worry, everyone was a bit mystified by this one! Your PR didn't introduce the bug, it only revealed an existing bug via an accident. It _seems_ like the unit test that @vdiravka fixed here was only ever working because a race condition affecting test initialisation kept turning out in its favour by good luck. We think that by adding some unrelated tests, your PR shifted Maven / Surefire's overall unit test scheduling so that this test's run of luck came to an end and its buggy initialisation was revealed. > Drill2288GetColumnsMetadataWhenNoRowsTest regression > > > Key: DRILL-8228 > URL: https://issues.apache.org/jira/browse/DRILL-8228 > Project: Apache Drill > Issue Type: Sub-task >Reporter: Vitalii Diravka >Assignee: Vitalii Diravka >Priority: Major > Labels: backport-to-stable > > Drill2288GetColumnsMetadataWhenNoRowsTest starts to fail after DRILL-8225 > {code:java} > Error: Failures: > Error:Drill2288GetColumnsMetadataWhenNoRowsTest Multiple Failures (2 > failures) > java.lang.NullPointerException: Cannot invoke > "java.io.File.getAbsolutePath()" because the return value of > "org.apache.drill.test.BaseDirTestWatcher.getTmpDir()" is null > java.lang.NullPointerException: Cannot invoke > "java.sql.Connection.close()" because > "org.apache.drill.jdbc.test.Drill2288GetColumnsMetadataWhenNoRowsTest.connection" > is null > {code} > https://github.com/apache/drill/runs/6499401042?check_suite_focus=true -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8229) Add Parameter to Skip Malformed Records to HTTP UDF
[ https://issues.apache.org/jira/browse/DRILL-8229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539792#comment-17539792 ] ASF GitHub Bot commented on DRILL-8229: --- cgivre merged PR #2553: URL: https://github.com/apache/drill/pull/2553 > Add Parameter to Skip Malformed Records to HTTP UDF > > > Key: DRILL-8229 > URL: https://issues.apache.org/jira/browse/DRILL-8229 > Project: Apache Drill > Issue Type: Improvement > Components: Functions - Drill >Affects Versions: 1.20.1 >Reporter: Charles Givre >Assignee: Charles Givre >Priority: Minor > Fix For: 1.20.2 > > > The http_get and http_request UDFs were not using the JSON parameter to skip > malformed records. This PR fixes that. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8228) Drill2288GetColumnsMetadataWhenNoRowsTest regression
[ https://issues.apache.org/jira/browse/DRILL-8228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539777#comment-17539777 ] ASF GitHub Bot commented on DRILL-8228: --- nielsbasjes commented on PR #2554: URL: https://github.com/apache/drill/pull/2554#issuecomment-1132163226 > @nielsbasjes the test fails after #2549. Therefore could you please review the fix I had a look at the fix and I do not understand how my changed and this problem are related. > Drill2288GetColumnsMetadataWhenNoRowsTest regression > > > Key: DRILL-8228 > URL: https://issues.apache.org/jira/browse/DRILL-8228 > Project: Apache Drill > Issue Type: Sub-task >Reporter: Vitalii Diravka >Assignee: Vitalii Diravka >Priority: Major > Labels: backport-to-stable > > Drill2288GetColumnsMetadataWhenNoRowsTest starts to fail after DRILL-8225 > {code:java} > Error: Failures: > Error:Drill2288GetColumnsMetadataWhenNoRowsTest Multiple Failures (2 > failures) > java.lang.NullPointerException: Cannot invoke > "java.io.File.getAbsolutePath()" because the return value of > "org.apache.drill.test.BaseDirTestWatcher.getTmpDir()" is null > java.lang.NullPointerException: Cannot invoke > "java.sql.Connection.close()" because > "org.apache.drill.jdbc.test.Drill2288GetColumnsMetadataWhenNoRowsTest.connection" > is null > {code} > https://github.com/apache/drill/runs/6499401042?check_suite_focus=true -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8228) Drill2288GetColumnsMetadataWhenNoRowsTest regression
[ https://issues.apache.org/jira/browse/DRILL-8228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539727#comment-17539727 ] ASF GitHub Bot commented on DRILL-8228: --- cgivre merged PR #2554: URL: https://github.com/apache/drill/pull/2554 > Drill2288GetColumnsMetadataWhenNoRowsTest regression > > > Key: DRILL-8228 > URL: https://issues.apache.org/jira/browse/DRILL-8228 > Project: Apache Drill > Issue Type: Sub-task >Reporter: Vitalii Diravka >Assignee: Vitalii Diravka >Priority: Major > Labels: backport-to-stable > > Drill2288GetColumnsMetadataWhenNoRowsTest starts to fail after DRILL-8225 > {code:java} > Error: Failures: > Error:Drill2288GetColumnsMetadataWhenNoRowsTest Multiple Failures (2 > failures) > java.lang.NullPointerException: Cannot invoke > "java.io.File.getAbsolutePath()" because the return value of > "org.apache.drill.test.BaseDirTestWatcher.getTmpDir()" is null > java.lang.NullPointerException: Cannot invoke > "java.sql.Connection.close()" because > "org.apache.drill.jdbc.test.Drill2288GetColumnsMetadataWhenNoRowsTest.connection" > is null > {code} > https://github.com/apache/drill/runs/6499401042?check_suite_focus=true -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8209) Introduce rule for converting join with distinct input to semi-join
[ https://issues.apache.org/jira/browse/DRILL-8209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539694#comment-17539694 ] ASF GitHub Bot commented on DRILL-8209: --- cgivre merged PR #2533: URL: https://github.com/apache/drill/pull/2533 > Introduce rule for converting join with distinct input to semi-join > --- > > Key: DRILL-8209 > URL: https://issues.apache.org/jira/browse/DRILL-8209 > Project: Apache Drill > Issue Type: Sub-task >Reporter: Vova Vysotskyi >Assignee: Vova Vysotskyi >Priority: Major > > Newer Calcite changed the order of applying rules. AggregateRemoveRule is > applied before SemiJoinRule, so SemiJoinRule cannot be applied later, since > aggregate is pruned from planning. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8228) Drill2288GetColumnsMetadataWhenNoRowsTest regression
[ https://issues.apache.org/jira/browse/DRILL-8228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539682#comment-17539682 ] ASF GitHub Bot commented on DRILL-8228: --- vdiravka commented on PR #2554: URL: https://github.com/apache/drill/pull/2554#issuecomment-1131968772 @nielsbasjes the test fails after #2549. Therefore could you please review the fix > Drill2288GetColumnsMetadataWhenNoRowsTest regression > > > Key: DRILL-8228 > URL: https://issues.apache.org/jira/browse/DRILL-8228 > Project: Apache Drill > Issue Type: Sub-task >Reporter: Vitalii Diravka >Assignee: Vitalii Diravka >Priority: Major > Labels: backport-to-stable > > Drill2288GetColumnsMetadataWhenNoRowsTest starts to fail after DRILL-8225 > {code:java} > Error: Failures: > Error:Drill2288GetColumnsMetadataWhenNoRowsTest Multiple Failures (2 > failures) > java.lang.NullPointerException: Cannot invoke > "java.io.File.getAbsolutePath()" because the return value of > "org.apache.drill.test.BaseDirTestWatcher.getTmpDir()" is null > java.lang.NullPointerException: Cannot invoke > "java.sql.Connection.close()" because > "org.apache.drill.jdbc.test.Drill2288GetColumnsMetadataWhenNoRowsTest.connection" > is null > {code} > https://github.com/apache/drill/runs/6499401042?check_suite_focus=true -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8228) Drill2288GetColumnsMetadataWhenNoRowsTest regression
[ https://issues.apache.org/jira/browse/DRILL-8228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539681#comment-17539681 ] ASF GitHub Bot commented on DRILL-8228: --- vdiravka opened a new pull request, #2554: URL: https://github.com/apache/drill/pull/2554 # [DRILL-8228](https://issues.apache.org/jira/browse/DRILL-8228): Drill2288GetColumnsMetadataWhenNoRowsTest regression ## Description The order of initializing static context is broken while using static `#getDefaultProperties` method and `dirTestWatcher` `@ClassRule` from `JdbcTestBase` without extending `JdbcTestBase`. ## Documentation NA ## Testing It fixes tests > Drill2288GetColumnsMetadataWhenNoRowsTest regression > > > Key: DRILL-8228 > URL: https://issues.apache.org/jira/browse/DRILL-8228 > Project: Apache Drill > Issue Type: Sub-task >Reporter: Vitalii Diravka >Assignee: Vitalii Diravka >Priority: Major > Labels: backport-to-stable > > Drill2288GetColumnsMetadataWhenNoRowsTest starts to fail after DRILL-8225 > {code:java} > Error: Failures: > Error:Drill2288GetColumnsMetadataWhenNoRowsTest Multiple Failures (2 > failures) > java.lang.NullPointerException: Cannot invoke > "java.io.File.getAbsolutePath()" because the return value of > "org.apache.drill.test.BaseDirTestWatcher.getTmpDir()" is null > java.lang.NullPointerException: Cannot invoke > "java.sql.Connection.close()" because > "org.apache.drill.jdbc.test.Drill2288GetColumnsMetadataWhenNoRowsTest.connection" > is null > {code} > https://github.com/apache/drill/runs/6499401042?check_suite_focus=true -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8229) Add Parameter to Skip Malformed Records to HTTP UDF
[ https://issues.apache.org/jira/browse/DRILL-8229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539667#comment-17539667 ] ASF GitHub Bot commented on DRILL-8229: --- cgivre commented on code in PR #2553: URL: https://github.com/apache/drill/pull/2553#discussion_r877300626 ## contrib/storage-http/src/main/java/org/apache/drill/exec/store/http/udfs/HttpHelperFunctions.java: ## @@ -65,6 +65,9 @@ public void setup() { .allTextMode(options.getOption(org.apache.drill.exec.ExecConstants.JSON_ALL_TEXT_MODE).bool_val) .enableNanInf(options.getOption(org.apache.drill.exec.ExecConstants.JSON_READER_NAN_INF_NUMBERS).bool_val) .build(); + + jsonReader.setIgnoreJSONParseErrors( + options.getOption(org.apache.drill.exec.ExecConstants.JSON_READER_SKIP_INVALID_RECORDS_FLAG).bool_val); Review Comment: Fixed! Thanks! ## contrib/storage-http/src/main/java/org/apache/drill/exec/store/http/udfs/HttpHelperFunctions.java: ## @@ -151,6 +154,9 @@ public void setup() { .enableNanInf(options.getOption(org.apache.drill.exec.ExecConstants.JSON_READER_NAN_INF_NUMBERS).bool_val) .build(); + jsonReader.setIgnoreJSONParseErrors( + options.getOption(org.apache.drill.exec.ExecConstants.JSON_READER_SKIP_INVALID_RECORDS_FLAG).bool_val); Review Comment: Fixed here as well. > Add Parameter to Skip Malformed Records to HTTP UDF > > > Key: DRILL-8229 > URL: https://issues.apache.org/jira/browse/DRILL-8229 > Project: Apache Drill > Issue Type: Improvement > Components: Functions - Drill >Affects Versions: 1.20.1 >Reporter: Charles Givre >Assignee: Charles Givre >Priority: Minor > Fix For: 1.20.2 > > > The http_get and http_request UDFs were not using the JSON parameter to skip > malformed records. This PR fixes that. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8229) Add Parameter to Skip Malformed Records to HTTP UDF
[ https://issues.apache.org/jira/browse/DRILL-8229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539665#comment-17539665 ] ASF GitHub Bot commented on DRILL-8229: --- vdiravka commented on code in PR #2553: URL: https://github.com/apache/drill/pull/2553#discussion_r877299007 ## contrib/storage-http/src/main/java/org/apache/drill/exec/store/http/udfs/HttpHelperFunctions.java: ## @@ -65,6 +65,9 @@ public void setup() { .allTextMode(options.getOption(org.apache.drill.exec.ExecConstants.JSON_ALL_TEXT_MODE).bool_val) .enableNanInf(options.getOption(org.apache.drill.exec.ExecConstants.JSON_READER_NAN_INF_NUMBERS).bool_val) .build(); + + jsonReader.setIgnoreJSONParseErrors( + options.getOption(org.apache.drill.exec.ExecConstants.JSON_READER_SKIP_INVALID_RECORDS_FLAG).bool_val); Review Comment: ```suggestion options.getBoolean(org.apache.drill.exec.ExecConstants.JSON_READER_SKIP_INVALID_RECORDS_FLAG); ``` ## contrib/storage-http/src/main/java/org/apache/drill/exec/store/http/udfs/HttpHelperFunctions.java: ## @@ -151,6 +154,9 @@ public void setup() { .enableNanInf(options.getOption(org.apache.drill.exec.ExecConstants.JSON_READER_NAN_INF_NUMBERS).bool_val) .build(); + jsonReader.setIgnoreJSONParseErrors( + options.getOption(org.apache.drill.exec.ExecConstants.JSON_READER_SKIP_INVALID_RECORDS_FLAG).bool_val); Review Comment: same here > Add Parameter to Skip Malformed Records to HTTP UDF > > > Key: DRILL-8229 > URL: https://issues.apache.org/jira/browse/DRILL-8229 > Project: Apache Drill > Issue Type: Improvement > Components: Functions - Drill >Affects Versions: 1.20.1 >Reporter: Charles Givre >Assignee: Charles Givre >Priority: Minor > Fix For: 1.20.2 > > > The http_get and http_request UDFs were not using the JSON parameter to skip > malformed records. This PR fixes that. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8229) Add Parameter to Skip Malformed Records to HTTP UDF
[ https://issues.apache.org/jira/browse/DRILL-8229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539661#comment-17539661 ] ASF GitHub Bot commented on DRILL-8229: --- cgivre opened a new pull request, #2553: URL: https://github.com/apache/drill/pull/2553 # [DRILL-8229](https://issues.apache.org/jira/browse/DRILL-8229): Add Parameter to Skip Malformed Records to HTTP UDF ## Description The `http_get` and `http_request` UDFs were not using the JSON parameter to skip malformed records. This PR fixes that. ## Documentation N/A ## Testing Manually tested. > Add Parameter to Skip Malformed Records to HTTP UDF > > > Key: DRILL-8229 > URL: https://issues.apache.org/jira/browse/DRILL-8229 > Project: Apache Drill > Issue Type: Improvement > Components: Functions - Drill >Affects Versions: 1.20.1 >Reporter: Charles Givre >Assignee: Charles Givre >Priority: Minor > Fix For: 1.20.2 > > > The http_get and http_request UDFs were not using the JSON parameter to skip > malformed records. This PR fixes that. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Created] (DRILL-8229) Add Parameter to Skip Malformed Records to HTTP UDF
Charles Givre created DRILL-8229: Summary: Add Parameter to Skip Malformed Records to HTTP UDF Key: DRILL-8229 URL: https://issues.apache.org/jira/browse/DRILL-8229 Project: Apache Drill Issue Type: Improvement Components: Functions - Drill Affects Versions: 1.20.1 Reporter: Charles Givre Assignee: Charles Givre Fix For: 1.20.2 The http_get and http_request UDFs were not using the JSON parameter to skip malformed records. This PR fixes that. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Created] (DRILL-8228) Drill2288GetColumnsMetadataWhenNoRowsTest regression
Vitalii Diravka created DRILL-8228: -- Summary: Drill2288GetColumnsMetadataWhenNoRowsTest regression Key: DRILL-8228 URL: https://issues.apache.org/jira/browse/DRILL-8228 Project: Apache Drill Issue Type: Sub-task Reporter: Vitalii Diravka Assignee: Vitalii Diravka Drill2288GetColumnsMetadataWhenNoRowsTest starts to fail after DRILL-8225 {code:java} Error: Failures: Error:Drill2288GetColumnsMetadataWhenNoRowsTest Multiple Failures (2 failures) java.lang.NullPointerException: Cannot invoke "java.io.File.getAbsolutePath()" because the return value of "org.apache.drill.test.BaseDirTestWatcher.getTmpDir()" is null java.lang.NullPointerException: Cannot invoke "java.sql.Connection.close()" because "org.apache.drill.jdbc.test.Drill2288GetColumnsMetadataWhenNoRowsTest.connection" is null {code} https://github.com/apache/drill/runs/6499401042?check_suite_focus=true -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Resolved] (DRILL-8225) Update LogParser and Yauaa dependencies
[ https://issues.apache.org/jira/browse/DRILL-8225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vitalii Diravka resolved DRILL-8225. Resolution: Fixed > Update LogParser and Yauaa dependencies > --- > > Key: DRILL-8225 > URL: https://issues.apache.org/jira/browse/DRILL-8225 > Project: Apache Drill > Issue Type: Improvement >Reporter: Niels Basjes >Assignee: Niels Basjes >Priority: Minor > > This also includes making the new support for Client Hints available (and > related tests). -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8227) JConnect and jTDS JDBC drivers do not implement Connection::getSchema
[ https://issues.apache.org/jira/browse/DRILL-8227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539619#comment-17539619 ] ASF GitHub Bot commented on DRILL-8227: --- jnturton merged PR #2551: URL: https://github.com/apache/drill/pull/2551 > JConnect and jTDS JDBC drivers do not implement Connection::getSchema > - > > Key: DRILL-8227 > URL: https://issues.apache.org/jira/browse/DRILL-8227 > Project: Apache Drill > Issue Type: Bug > Components: 1.19 >Affects Versions: 1.19.0 > Environment: Apache drill - 1.19.0 , jdk1.8.0_121 , jre1.8.0_121 , > Windows 10 Enterprise >Reporter: Nishanthi >Assignee: James Turton >Priority: Major > Fix For: 1.20.2 > > Attachments: Sybase_Exception.png, jTDS_Error.png, sqlline_log.png > > > Hi , > In Apache drill - 1.19.0 not able to execute a Sybase ASE related query > getting exception as org.apache.drill.common.exceptions.UserRemoteException: > SYSTEM ERROR: AbstractMethodError: > com.sybase.jdbc4.jdbc.SybConnection.getSchema()Ljava/lang/String > jar - jconn4, > "driver": "com.sybase.jdbc4.jdbc.SybDriver" , > "url": "jdbc:sybase:Tds:?:/" > Query : > select * from .. > Able to execute the query for same configuration with same jar and driver in > apache drill 1.17.0 but not in apache drill 1.19.0. > Kindly, look into it as it is coming as a blocker while trying to query with > sybase ase -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8227) JConnect and jTDS JDBC drivers do not implement Connection::getSchema
[ https://issues.apache.org/jira/browse/DRILL-8227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539618#comment-17539618 ] ASF GitHub Bot commented on DRILL-8227: --- jnturton commented on PR #2551: URL: https://github.com/apache/drill/pull/2551#issuecomment-1131864136 @cgivre and all, the final force push removed the commit to fix an unrelated unit test failure that looks like it might be a concurrency bug in the test code itself that was revealed by #2549. There's a simple fix that will be sent in a separate PR. > JConnect and jTDS JDBC drivers do not implement Connection::getSchema > - > > Key: DRILL-8227 > URL: https://issues.apache.org/jira/browse/DRILL-8227 > Project: Apache Drill > Issue Type: Bug > Components: 1.19 >Affects Versions: 1.19.0 > Environment: Apache drill - 1.19.0 , jdk1.8.0_121 , jre1.8.0_121 , > Windows 10 Enterprise >Reporter: Nishanthi >Assignee: James Turton >Priority: Major > Fix For: 1.20.2 > > Attachments: Sybase_Exception.png, jTDS_Error.png, sqlline_log.png > > > Hi , > In Apache drill - 1.19.0 not able to execute a Sybase ASE related query > getting exception as org.apache.drill.common.exceptions.UserRemoteException: > SYSTEM ERROR: AbstractMethodError: > com.sybase.jdbc4.jdbc.SybConnection.getSchema()Ljava/lang/String > jar - jconn4, > "driver": "com.sybase.jdbc4.jdbc.SybDriver" , > "url": "jdbc:sybase:Tds:?:/" > Query : > select * from .. > Able to execute the query for same configuration with same jar and driver in > apache drill 1.17.0 but not in apache drill 1.19.0. > Kindly, look into it as it is coming as a blocker while trying to query with > sybase ase -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8209) Introduce rule for converting join with distinct input to semi-join
[ https://issues.apache.org/jira/browse/DRILL-8209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539605#comment-17539605 ] ASF GitHub Bot commented on DRILL-8209: --- vvysotskyi commented on PR #2533: URL: https://github.com/apache/drill/pull/2533#issuecomment-1131838377 No, with the current version of the Calcite it cannot be checked in the unit test. > Introduce rule for converting join with distinct input to semi-join > --- > > Key: DRILL-8209 > URL: https://issues.apache.org/jira/browse/DRILL-8209 > Project: Apache Drill > Issue Type: Sub-task >Reporter: Vova Vysotskyi >Assignee: Vova Vysotskyi >Priority: Major > > Newer Calcite changed the order of applying rules. AggregateRemoveRule is > applied before SemiJoinRule, so SemiJoinRule cannot be applied later, since > aggregate is pruned from planning. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8209) Introduce rule for converting join with distinct input to semi-join
[ https://issues.apache.org/jira/browse/DRILL-8209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539608#comment-17539608 ] ASF GitHub Bot commented on DRILL-8209: --- vvysotskyi commented on code in PR #2533: URL: https://github.com/apache/drill/pull/2533#discussion_r877182691 ## exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillDistinctJoinToSemiJoinRule.java: ## @@ -0,0 +1,77 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.drill.exec.planner.logical; + +import org.apache.calcite.plan.RelOptRule; +import org.apache.calcite.plan.RelOptRuleCall; +import org.apache.calcite.plan.RelOptUtil; +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.core.Join; +import org.apache.calcite.rel.core.JoinInfo; +import org.apache.calcite.rel.core.Project; +import org.apache.calcite.rel.metadata.RelMetadataQuery; +import org.apache.calcite.runtime.SqlFunctions; +import org.apache.calcite.tools.RelBuilder; +import org.apache.calcite.util.ImmutableBitSet; +import org.apache.drill.exec.physical.impl.join.JoinUtils; + +/** + * Converts join with distinct right input to semi-join. + */ +public class DrillDistinctJoinToSemiJoinRule extends RelOptRule { Review Comment: Calcite rules related to semi-join rely on aggregate presence, but this one can create it only by ensuring that the input is distinct. > Introduce rule for converting join with distinct input to semi-join > --- > > Key: DRILL-8209 > URL: https://issues.apache.org/jira/browse/DRILL-8209 > Project: Apache Drill > Issue Type: Sub-task >Reporter: Vova Vysotskyi >Assignee: Vova Vysotskyi >Priority: Major > > Newer Calcite changed the order of applying rules. AggregateRemoveRule is > applied before SemiJoinRule, so SemiJoinRule cannot be applied later, since > aggregate is pruned from planning. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8209) Introduce rule for converting join with distinct input to semi-join
[ https://issues.apache.org/jira/browse/DRILL-8209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539603#comment-17539603 ] ASF GitHub Bot commented on DRILL-8209: --- vvysotskyi commented on code in PR #2533: URL: https://github.com/apache/drill/pull/2533#discussion_r877178392 ## exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillDistinctJoinToSemiJoinRule.java: ## @@ -0,0 +1,77 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.drill.exec.planner.logical; + +import org.apache.calcite.plan.RelOptRule; +import org.apache.calcite.plan.RelOptRuleCall; +import org.apache.calcite.plan.RelOptUtil; +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.core.Join; +import org.apache.calcite.rel.core.JoinInfo; +import org.apache.calcite.rel.core.Project; +import org.apache.calcite.rel.metadata.RelMetadataQuery; +import org.apache.calcite.runtime.SqlFunctions; +import org.apache.calcite.tools.RelBuilder; +import org.apache.calcite.util.ImmutableBitSet; +import org.apache.drill.exec.physical.impl.join.JoinUtils; + +/** + * Converts join with distinct right input to semi-join. + */ +public class DrillDistinctJoinToSemiJoinRule extends RelOptRule { Review Comment: It is a new one > Introduce rule for converting join with distinct input to semi-join > --- > > Key: DRILL-8209 > URL: https://issues.apache.org/jira/browse/DRILL-8209 > Project: Apache Drill > Issue Type: Sub-task >Reporter: Vova Vysotskyi >Assignee: Vova Vysotskyi >Priority: Major > > Newer Calcite changed the order of applying rules. AggregateRemoveRule is > applied before SemiJoinRule, so SemiJoinRule cannot be applied later, since > aggregate is pruned from planning. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8209) Introduce rule for converting join with distinct input to semi-join
[ https://issues.apache.org/jira/browse/DRILL-8209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539586#comment-17539586 ] ASF GitHub Bot commented on DRILL-8209: --- vdiravka commented on code in PR #2533: URL: https://github.com/apache/drill/pull/2533#discussion_r877147033 ## exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillDistinctJoinToSemiJoinRule.java: ## @@ -0,0 +1,77 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.drill.exec.planner.logical; + +import org.apache.calcite.plan.RelOptRule; +import org.apache.calcite.plan.RelOptRuleCall; +import org.apache.calcite.plan.RelOptUtil; +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.core.Join; +import org.apache.calcite.rel.core.JoinInfo; +import org.apache.calcite.rel.core.Project; +import org.apache.calcite.rel.metadata.RelMetadataQuery; +import org.apache.calcite.runtime.SqlFunctions; +import org.apache.calcite.tools.RelBuilder; +import org.apache.calcite.util.ImmutableBitSet; +import org.apache.drill.exec.physical.impl.join.JoinUtils; + +/** + * Converts join with distinct right input to semi-join. + */ +public class DrillDistinctJoinToSemiJoinRule extends RelOptRule { Review Comment: Is this a new rule or the similar one is present in Calcite? > Introduce rule for converting join with distinct input to semi-join > --- > > Key: DRILL-8209 > URL: https://issues.apache.org/jira/browse/DRILL-8209 > Project: Apache Drill > Issue Type: Sub-task >Reporter: Vova Vysotskyi >Assignee: Vova Vysotskyi >Priority: Major > > Newer Calcite changed the order of applying rules. AggregateRemoveRule is > applied before SemiJoinRule, so SemiJoinRule cannot be applied later, since > aggregate is pruned from planning. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (DRILL-8227) JConnect and jTDS JDBC drivers do not implement Connection::getSchema
[ https://issues.apache.org/jira/browse/DRILL-8227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539486#comment-17539486 ] ASF GitHub Bot commented on DRILL-8227: --- jnturton commented on PR #2551: URL: https://github.com/apache/drill/pull/2551#issuecomment-1131585616 @cgivre I've added a new unit test class based on the mssql container from testcontainers and the jTDS JDBC driver. That combination has an unimplemented Connection::getSchema method as originally fixed by this PR. A couple of other unrelated bugs have also been revealed. > JConnect and jTDS JDBC drivers do not implement Connection::getSchema > - > > Key: DRILL-8227 > URL: https://issues.apache.org/jira/browse/DRILL-8227 > Project: Apache Drill > Issue Type: Bug > Components: 1.19 >Affects Versions: 1.19.0 > Environment: Apache drill - 1.19.0 , jdk1.8.0_121 , jre1.8.0_121 , > Windows 10 Enterprise >Reporter: Nishanthi >Assignee: James Turton >Priority: Major > Fix For: 1.20.2 > > Attachments: Sybase_Exception.png, jTDS_Error.png, sqlline_log.png > > > Hi , > In Apache drill - 1.19.0 not able to execute a Sybase ASE related query > getting exception as org.apache.drill.common.exceptions.UserRemoteException: > SYSTEM ERROR: AbstractMethodError: > com.sybase.jdbc4.jdbc.SybConnection.getSchema()Ljava/lang/String > jar - jconn4, > "driver": "com.sybase.jdbc4.jdbc.SybDriver" , > "url": "jdbc:sybase:Tds:?:/" > Query : > select * from .. > Able to execute the query for same configuration with same jar and driver in > apache drill 1.17.0 but not in apache drill 1.19.0. > Kindly, look into it as it is coming as a blocker while trying to query with > sybase ase -- This message was sent by Atlassian Jira (v8.20.7#820007)