calcite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Hyde <julianh...@gmail.com>
Subject Re: Exception in CachingRelMetadataProvider
Date Wed, 11 Mar 2015 23:35:29 GMT
You wouldn't be the first, or the last, to do this. If you put in some
asserts/tracing that made it easier to track down, please contribute
them.

On Wed, Mar 11, 2015 at 4:25 PM, Jesus Camachorodriguez
<jcamachorodriguez@hortonworks.com> wrote:
> It seems one of the MD providers was not being initialized properly.
>
> Thanks Julian,
> Jesús
>
>
>
> On 3/11/15, 10:00 AM, "Julian Hyde" <julian@hydromatic.net> wrote:
>
>>It looks as if the metadata field of CachingInvocationHandler is null.
>>I'm pretty sure that it should not be. Can you change its constructor from
>>
>>public CachingInvocationHandler(Metadata metadata) {
>>  this.metadata = metadata;
>>}
>>
>>to
>>
>>public CachingInvocationHandler(Metadata metadata) {
>>  this.metadata = Preconditions.checkNotNull(metadata);
>>}
>>
>>and work backwards to find out who is giving the bad metadata. Probably
>>one of your providers is badly written.
>>
>>Julian
>>
>>
>>> On Mar 10, 2015, at 6:53 PM, Jesus Camachorodriguez
>>><jcamachorodriguez@hortonworks.com> wrote:
>>>
>>> Hello,
>>>
>>> I was doing tests on CBO branch in Hive with the latest Calcite
>>>snapshot, and there is the following Exception that shows up now:
>>>
>>> java.lang.NullPointerException
>>> at
>>>org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocat
>>>ionHandler.invoke(CachingRelMetadataProvider.java:111)
>>> at com.sun.proxy.$Proxy32.rel(Unknown Source)
>>> at
>>>org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocat
>>>ionHandler.invoke(CachingRelMetadataProvider.java:111)
>>> at com.sun.proxy.$Proxy32.distribution(Unknown Source)
>>> at
>>>org.apache.calcite.rel.metadata.RelMetadataQuery.distribution(RelMetadata
>>>Query.java:310)
>>> at
>>>org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveJoin.obtainJ
>>>oinAlgorithms(HiveJoin.java:257)
>>> at
>>>org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveJoin.chooseJ
>>>oinAlgorithmAndGetCost(HiveJoin.java:148)
>>> at
>>>org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveJoin.compute
>>>SelfCost(HiveJoin.java:140)
>>> at
>>>org.apache.calcite.rel.metadata.RelMdPercentageOriginalRows.getNonCumulat
>>>iveCost(RelMdPercentageOriginalRows.java:165)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at
>>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
>>>:57)
>>> at
>>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
>>>mpl.java:43)
>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>> at
>>>org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(
>>>ReflectiveRelMetadataProvider.java:194)
>>> at com.sun.proxy.$Proxy25.getNonCumulativeCost(Unknown Source)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at
>>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
>>>:57)
>>> at
>>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
>>>mpl.java:43)
>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>> at
>>>org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocat
>>>ionHandler.invoke(ChainedRelMetadataProvider.java:109)
>>> at com.sun.proxy.$Proxy25.getNonCumulativeCost(Unknown Source)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at
>>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
>>>:57)
>>> at
>>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
>>>mpl.java:43)
>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>> at
>>>org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocat
>>>ionHandler.invoke(CachingRelMetadataProvider.java:131)
>>> at com.sun.proxy.$Proxy25.getNonCumulativeCost(Unknown Source)
>>> at
>>>org.apache.calcite.rel.metadata.RelMetadataQuery.getNonCumulativeCost(Rel
>>>MetadataQuery.java:115)
>>> ...
>>>
>>> Any feedback on this problem?
>>>
>>> Thanks,
>>> Jesús
>>>
>>
>

Mime
View raw message