[jira] [Commented] (CALCITE-2970) Performance issue when enabling abstract converter for EnumerableConvertion

2019-10-04 Thread Stamatis Zampetakis (Jira)


[ 
https://issues.apache.org/jira/browse/CALCITE-2970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16944334#comment-16944334
 ] 

Stamatis Zampetakis commented on CALCITE-2970:
--

I'm with you [~hyuan], that was exactly my point. I asked for a profiling just 
to verify that there is not something obvious that we can do. Apart from that 
another way to mitigate the problem would be to restrict the scope of rules 
(especially for rules matching logical and physical operators) and/or organize 
the rule application in phases.

> Performance issue when enabling abstract converter for EnumerableConvertion
> ---
>
> Key: CALCITE-2970
> URL: https://issues.apache.org/jira/browse/CALCITE-2970
> Project: Calcite
>  Issue Type: Bug
>  Components: core
>Reporter: Haisheng Yuan
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> If we enable the use of abstract converter for {{EnumerableConvention}}, by 
> making {{useAbstractConvertersForConversion}} return true, 
> {{JDBCTest.testJoinManyWay}} will not complete. 



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


[jira] [Commented] (CALCITE-2970) Performance issue when enabling abstract converter for EnumerableConvertion

2019-10-03 Thread Haisheng Yuan (Jira)


[ 
https://issues.apache.org/jira/browse/CALCITE-2970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16943729#comment-16943729
 ] 

Haisheng Yuan commented on CALCITE-2970:


The analysis and solution looks valid at first glance, but it actually remove 
the usage of abstract converter by directly adding sort operator for the inputs 
of SortMergeJoin, thus it doesn't solve the issue fundamentally. Even if we 
agree on the solution, what about the distribution? You have to create an 
exchange operator on the inputs of MergeJoin, HashJoin and NestedLoopJoin, as 
well as aggregate. 

> Performance issue when enabling abstract converter for EnumerableConvertion
> ---
>
> Key: CALCITE-2970
> URL: https://issues.apache.org/jira/browse/CALCITE-2970
> Project: Calcite
>  Issue Type: Bug
>  Components: core
>Reporter: Haisheng Yuan
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> If we enable the use of abstract converter for {{EnumerableConvention}}, by 
> making {{useAbstractConvertersForConversion}} return true, 
> {{JDBCTest.testJoinManyWay}} will not complete. 



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


[jira] [Commented] (CALCITE-2970) Performance issue when enabling abstract converter for EnumerableConvertion

2019-10-03 Thread Stamatis Zampetakis (Jira)


[ 
https://issues.apache.org/jira/browse/CALCITE-2970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16943616#comment-16943616
 ] 

Stamatis Zampetakis commented on CALCITE-2970:
--

Hey [~jinxing6...@126.com], thanks for working on this. I've seen that you did 
some analysis to identify the cause of this issue. For the future, it is better 
to include this kind of general information in the Jira rather than in the PR. 

I think an important element that is missing from the analysis is the profiling 
information. I do understand that the change in {{EnumerableMergeJoinRule}} 
greatly improves the performance but how we can be sure that this rule is the 
one (or the only one) that needs fixing. I suppose that you could equally 
reduce the time by restricting matches in other rules. 

> Performance issue when enabling abstract converter for EnumerableConvertion
> ---
>
> Key: CALCITE-2970
> URL: https://issues.apache.org/jira/browse/CALCITE-2970
> Project: Calcite
>  Issue Type: Bug
>  Components: core
>Reporter: Haisheng Yuan
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> If we enable the use of abstract converter for {{EnumerableConvention}}, by 
> making {{useAbstractConvertersForConversion}} return true, 
> {{JDBCTest.testJoinManyWay}} will not complete. 



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


[jira] [Commented] (CALCITE-2970) Performance issue when enabling abstract converter for EnumerableConvertion

2019-04-16 Thread Chunwei Lei (JIRA)


[ 
https://issues.apache.org/jira/browse/CALCITE-2970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16819232#comment-16819232
 ] 

Chunwei Lei commented on CALCITE-2970:
--

{quote}Say we generate a sort merge join, if the child relation is not sorted 
on the join key and abstract converter is not enabled, we won't get a sort 
operator on the child relation, the consequence is: throwing an exception that 
we can't plan it.
{quote}
Makes sense. Thank you for your explanation.

> Performance issue when enabling abstract converter for EnumerableConvertion
> ---
>
> Key: CALCITE-2970
> URL: https://issues.apache.org/jira/browse/CALCITE-2970
> Project: Calcite
>  Issue Type: Bug
>  Components: core
>Reporter: Haisheng Yuan
>Priority: Major
>
> If we enable the use of abstract converter for {{EnumerableConvention}}, by 
> making {{useAbstractConvertersForConversion}} return true, 
> {{JDBCTest.testJoinManyWay}} will not complete. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (CALCITE-2970) Performance issue when enabling abstract converter for EnumerableConvertion

2019-04-16 Thread Haisheng Yuan (JIRA)


[ 
https://issues.apache.org/jira/browse/CALCITE-2970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16819201#comment-16819201
 ] 

Haisheng Yuan commented on CALCITE-2970:


Without enabling abstract converter (property enforcement), it won't be a 
complete optimizer. Say we generate a sort merge join, if the child relation is 
not sorted on the join key and abstract converter is not enabled, we won't get 
a sort operator on the child relation, the consequence is: throwing an 
exception that we can't plan it.

> Performance issue when enabling abstract converter for EnumerableConvertion
> ---
>
> Key: CALCITE-2970
> URL: https://issues.apache.org/jira/browse/CALCITE-2970
> Project: Calcite
>  Issue Type: Bug
>  Components: core
>Reporter: Haisheng Yuan
>Priority: Major
>
> If we enable the use of abstract converter for {{EnumerableConvention}}, by 
> making {{useAbstractConvertersForConversion}} return true, 
> {{JDBCTest.testJoinManyWay}} will not complete. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (CALCITE-2970) Performance issue when enabling abstract converter for EnumerableConvertion

2019-04-13 Thread Chunwei Lei (JIRA)


[ 
https://issues.apache.org/jira/browse/CALCITE-2970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16816963#comment-16816963
 ] 

Chunwei Lei commented on CALCITE-2970:
--

It seems {{checkJoinNWay(6)}} will not complete if enabling the use of abstract 
converter for {{EnumerableConvention.}}

Why do you want to enable it?

> Performance issue when enabling abstract converter for EnumerableConvertion
> ---
>
> Key: CALCITE-2970
> URL: https://issues.apache.org/jira/browse/CALCITE-2970
> Project: Calcite
>  Issue Type: Bug
>  Components: core
>Reporter: Haisheng Yuan
>Priority: Major
>
> If we enable the use of abstract converter for {{EnumerableConvention}}, by 
> making {{useAbstractConvertersForConversion}} return true, 
> {{JDBCTest.testJoinManyWay}} will not complete. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)