I have tested the new snapshot against Hive.
We get some regressions in the tests, but I'm still figuring out what's
going on.
In particular, we get the following exception when we create a Project
operator copy:
junit.framework.AssertionFailedError: Unexpected exception
java.lang.AssertionError
at
org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveProject.copy(H
iveProject.java:169)
at org.apache.calcite.rel.core.Project.copy(Project.java:110)
at
org.apache.calcite.plan.hep.HepPlanner.addRelToGraph(HepPlanner.java:770)
at
org.apache.calcite.plan.hep.HepPlanner.addRelToGraph(HepPlanner.java:764)
at
org.apache.calcite.plan.hep.HepPlanner.addRelToGraph(HepPlanner.java:764)
at
org.apache.calcite.plan.hep.HepPlanner.addRelToGraph(HepPlanner.java:764)
at org.apache.calcite.plan.hep.HepPlanner.setRoot(HepPlanner.java:150)
at
org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.hepPlan
(CalcitePlanner.java:994)
at
org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.applyPr
eJoinOrderingTransforms(CalcitePlanner.java:951)
at
org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.apply(C
alcitePlanner.java:820)
at
org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.apply(C
alcitePlanner.java:768)
at org.apache.calcite.tools.Frameworks$1.apply(Frameworks.java:109)
at
org.apache.calcite.prepare.CalcitePrepareImpl.perform(CalcitePrepareImpl.ja
va:741)
at org.apache.calcite.tools.Frameworks.withPrepare(Frameworks.java:145)
at org.apache.calcite.tools.Frameworks.withPlanner(Frameworks.java:105)
at
org.apache.hadoop.hive.ql.parse.CalcitePlanner.getOptimizedAST(CalcitePlann
er.java:607)
at
org.apache.hadoop.hive.ql.parse.CalcitePlanner.genOPTree(CalcitePlanner.jav
a:244)
at
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAn
alyzer.java:10051)
at
org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlann
er.java:207)
at
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAn
alyzer.java:227)
at
org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(Exp
lainSemanticAnalyzer.java:74)
at
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAn
alyzer.java:227)
...
The assertion that is not met is the following:
@Override
public Project copy(RelTraitSet traitSet, RelNode input, List<RexNode>
exps,
RelDataType rowType) {
assert traitSet.containsIfApplicable(HiveRelNode.CONVENTION);
return new HiveProject(getCluster(), traitSet, input, exps, rowType,
getFlags());
}
Any ideas on which change might have caused this?
Thanks,
Jesús
On 5/9/15, 2:35 AM, "Julian Hyde" <[email protected]> wrote:
>It's May 8th, so that means we're entering the stabilization phase for
>release 1.3. This means:
>* If you are a committer, don't check in changes that might break
>something. Cosmetic changes are OK, and bug fixes are OK, as long as
>they are reviewed.
>* If you have a project that depends on Calcite, or otherwise have
>some tough tests you can run, now is a great time to validate the
>release. Download and build from master, and log bugs if you encounter
>problems.
>
>Once we've fixed the important issues discovered from that testing,
>we'll create the first release candidate and a vote. If people do some
>testing during the stabilization period, there is a good chance that
>the RC1 will pass muster. Let's aim for Tue 12th for RC1.
>
>Julian
>
>
>On Wed, Apr 29, 2015 at 4:45 PM, Julian Hyde <[email protected]> wrote:
>> When would be a good time for to make 1.3? Calcite 1.2 was baked on
>> April 7th and announced on April 17th. How about we aim for this:
>>
>> * May 8th (Friday) - enter stabilization (see below)
>> * May 12th (Tuesday) - first release candidate
>> * May 22nd (Friday) - release announcement
>>
>> If dependent projects would like a different schedule, please speak up.
>>
>> I'd like to try a different QA process this release. Recall that last
>> time, Vladimir discovered an issue with time zones on the first
>> release candidate. I'd like to discover issues like that before we
>> move to an RC vote.
>>
>> I propose that we have a stabilization period, during which, each
>> stakeholder would validate the release and log any issues they find as
>> jira cases. For example, Vladimir would pull the latest and run the
>> test suite in the Moscow time zone. Nick would run through Phoenix
>> tests. And so forth. I'd push a new snapshot at the start of the
>> stabilization period, but people can test on any commit that happens
>> after that.
>>
>> I propose that we enter stabilization on Friday May 8th.
>>
>> Would anyone like to be release manager? (He asked with a sigh.)
>>
>> Let's hear +1 or -1 for this schedule and the proposed stabilization
>>process.
>>
>> Julian