Re: Re: Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-31 Thread Haisheng Yuan
prio=31 tid=0x7ff81900a800 nid=0x2a03 runnable "GC task thread#2 (ParallelGC)" os_prio=31 tid=0x7ff81900b000 nid=0x5403 runnable "GC task thread#3 (ParallelGC)" os_prio=31 tid=0x7ff81900b800 nid=0x5203 runnable "VM Periodic Task Thread" os_prio=31 tid=0x7ff81a058800 nid=0x3903 waiting on cond

Re: Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-31 Thread Ruben Q L
es on my machine if run it separately. mvn clean install can >>> repro every time. >>> >>> >>> >>> >>> >>> Thanks~ >>> Haisheng >>> Yuan------ >>> 发件人:Ruben Q L >>> 日 期:

Re: Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-31 Thread Stamatis Zampetakis
t; >> >> >> >> >> Thanks~ >> Haisheng >> Yuan-- >> 发件人:Ruben Q L >> 日 期:2019年05月31日 14:03:44 >> 收件人: >> 抄 送:Stamatis Zampetakis >> 主 题:Re: Re: CyclicMetadataException in >> testPushDownJoinConditionsWithE

Re: Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-31 Thread Ruben Q L
> > > > Thanks~ > Haisheng > Yuan-- > 发件人:Ruben Q L > 日 期:2019年05月31日 14:03:44 > 收件人: > 抄 送:Stamatis Zampetakis > 主 题:Re: Re: CyclicMetadataException in > testPushDownJoinConditionsWithExpandedIsNotDisti

回复: Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-31 Thread Haisheng Yuan
Zampetakis 主 题:Re: Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase Thanks for the info. I'm running EnumerableRepeatUnionHierarchyTest, and in my local environment (macOS 10.14.5, JDK 8) it ends successfully. I'll continue digging into it... Le ven. 31 mai 2019

Re: Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-31 Thread Ruben Q L
K 8. > Ignoring test case EnumerableRepeatUnionHierarchyTest makes the whole test > pass again. > > Thanks ~ > Haisheng Yuan > -- > 发件人:Stamatis Zampetakis > 日 期:2019年05月30日 22:49:22 > 收件人: >

Re: Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-30 Thread Haisheng Yuan
: 主 题:Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase Thanks for noticing Laurent! The last builds were successful so I guess we have to do with another intermittent failure. If the problem persists, I will create a JIRA and follow up there  On Thu

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-30 Thread Stamatis Zampetakis
Thanks for noticing Laurent! The last builds were successful so I guess we have to do with another intermittent failure. If the problem persists, I will create a JIRA and follow up there  On Thu, May 30, 2019, 6:43 AM Laurent Goujon wrote: > Looks like Jenkins started to timeout with the

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-29 Thread Laurent Goujon
Looks like Jenkins started to timeout with the following change: https://github.com/apache/calcite/commit/73e6d05fa65f16485caca80571d1fe4fda5c7468 . Ruben, Stamatis: any idea? On Wed, May 29, 2019 at 8:22 PM Laurent Goujon wrote: > It looks like Jenkins build with JDK8 now takes more than

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-29 Thread Laurent Goujon
It looks like Jenkins build with JDK8 now takes more than 40min and is being aborted, with the core module taking something like 38min and being stopped during tests. It seems to be independent of my test change since RelOptUtilTest shows to be running successfully in 1second. That said, I don't

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-29 Thread Stamatis Zampetakis
Makes sense, I was expecting something like that. +1 for the PR. Even if we are not 100% that will resolve the problem, getting rid of the statics seems like a good idea and beneficial in any case. On Thu, May 30, 2019 at 12:02 AM Laurent Goujon wrote: > Unfortunately, not locally, so I ended

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-29 Thread Laurent Goujon
I actually did the change from using a static relbuilder to a mix of static (to create the scans) and per test because of concurrency issues :( Maybe the test should only been using a per test-case relbuilder instead, but it would mean that there's some code relying on the static relbuilder (by

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-29 Thread Laurent Goujon
Unfortunately, not locally, so I ended in crude debugging and code analysis to understand where the static reloptcluster created for the static relbuilder was used in a context which would cause issue in a multithreaded context. Once I saw several rel nodes getting the parent cluster (the static

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-29 Thread Stamatis Zampetakis
Thanks a lot Laurent, much appreciated! BTW, were you able to reproduce the problem? On Wed, May 29, 2019 at 11:29 PM Laurent Goujon wrote: > Here's the pull request: https://github.com/apache/calcite/pull/1240 > > On Wed, May 29, 2019 at 1:58 PM Laurent Goujon wrote: > > > Looks like most

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-29 Thread Laurent Goujon
Looks like most {{RelNode#create()}} access the RelOptCluster/RelBuilder instance from their child, and some then, perform metadata operation, which would cause CyclicMetadataException for example. I'll create a fixup patch. On Wed, May 29, 2019 at 9:00 AM Laurent Goujon wrote: > I actually did

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-29 Thread Laurent Goujon
Here's the pull request: https://github.com/apache/calcite/pull/1240 On Wed, May 29, 2019 at 1:58 PM Laurent Goujon wrote: > Looks like most {{RelNode#create()}} access the RelOptCluster/RelBuilder > instance from their child, and some then, perform metadata operation, which > would cause

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-29 Thread Francis Chuang
In Go, there's a built in race detector that can be used when running tests using `go test`. There's RacerD [1] from Facebook that can detect races in Java. Perhaps this is something that can be looked in to to find the race. [1] https://fbinfer.com/docs/racerd.html On 29/05/2019 9:52 pm,

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-29 Thread Stamatis Zampetakis
Good insights, Ruben, Danny! Assuming that is indeed a concurrency problem, it will be difficult to identify since many parts in Calcite are not thread safe. Not being able to reproduce the problem makes the things even worse. Given that intermittent test failures occur often on Jenkins, how

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-29 Thread Yuzhao Chen
Thanks Ruben for your good analysis. What I’m confused is that isn’t the static REL_BUILDER more prone to have concurrency problems ? And the pushed scans(EMP_SCAN and DEPT_SCAN) are all nodes(immutable), how could this be a problem ? Best, Danny Chan 在 2019年5月29日 +0800 PM5:37,Ruben Q L ,写道: >

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-29 Thread Ruben Q L
I'm checking the commit [1] and I see something strange in RelOptUtilTest. Maybe I'm wrong and it is nothing, but just in case it may help: With the latest modification, it seems that we have two RelBuilder(s) in place: - A static one that is created ad-hoc on a static block to generate the

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-28 Thread Julian Hyde
It’s a tough call. It is probable that the problem existed already and the change merely surfaced it. > On May 28, 2019, at 5:17 PM, Stamatis Zampetakis wrote: > > It is not the only test that is failing after commit [1] but all the new > tests that were added. > > I've seen the problem on

Re: CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-28 Thread Stamatis Zampetakis
It is not the only test that is failing after commit [1] but all the new tests that were added. I've seen the problem on Jenkins on all JDKS but I cannot reproduce it locally. I guess we have to do with a race condition most likely due to the concurrent execution of tests with surefire. Should

CyclicMetadataException in testPushDownJoinConditionsWithExpandedIsNotDistinctUsingCase

2019-05-28 Thread Julian Hyde
I have seen this intermittent failure 3 times in the last week: [INFO] Running org.apache.calcite.plan.RelOptUtilTest [ERROR] Tests run: 11, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.411 s <<< FAILURE! - in org.apache.calcite.plan.RelOptUtilTest [ERROR]