[
https://issues.apache.org/jira/browse/DRILL-8190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17609309#comment-17609309
]
ASF GitHub Bot commented on DRILL-8190:
---------------------------------------
vvysotskyi commented on code in PR #2652:
URL: https://github.com/apache/drill/pull/2652#discussion_r979588979
##########
exec/java-exec/src/main/java/org/apache/drill/exec/store/enumerable/DynamicTypeResolverBuilder.java:
##########
@@ -0,0 +1,47 @@
+/*
+ * 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.store.enumerable;
+
+import com.fasterxml.jackson.databind.DeserializationConfig;
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.jsontype.NamedType;
+import com.fasterxml.jackson.databind.jsontype.TypeDeserializer;
+import com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder;
+import org.reflections.Reflections;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class DynamicTypeResolverBuilder extends StdTypeResolverBuilder {
Review Comment:
Yes, fixes for Mongo (in the java-exec module) helped to find out that serde
for enumerable plugins is broken, so fixed it here.
##########
exec/java-exec/src/main/java/org/apache/drill/exec/store/plan/rule/PluginIntermediatePrelConverterRule.java:
##########
@@ -53,7 +54,7 @@ public void onMatch(RelOptRuleCall call) {
VertexDrel in = call.rel(0);
RelNode intermediatePrel = new PluginIntermediatePrel(
in.getCluster(),
- in.getTraitSet().replace(outTrait),
+
in.getTraitSet().replace(outTrait).plus(DrillDistributionTrait.SINGLETON),
Review Comment:
In this case, Drill wouldn't add extra exchange operators, since this part
of the plan is executed in a single drillbit.
##########
exec/java-exec/src/main/java/org/apache/drill/exec/store/enumerable/plan/VertexDrel.java:
##########
@@ -51,4 +58,15 @@ protected Object clone() {
public LogicalOperator implement(DrillImplementor implementor) {
throw new UnsupportedOperationException();
}
+
+ @Override
+ public @Nullable RelOptCost computeSelfCost(RelOptPlanner planner,
RelMetadataQuery mq) {
+ double rowCount = estimateRowCount(mq);
+ double columnCount = Utilities.isStarQuery(getRowType()) ?
STAR_COLUMN_COST : getRowType().getFieldCount();
+ double valueCount = rowCount * columnCount;
Review Comment:
I think more queries were affected, but probably it was simpler to reproduce
it on queries with joins.
> Mongo query: "Schema change not currently supported for schemas with complex
> types"
> -----------------------------------------------------------------------------------
>
> Key: DRILL-8190
> URL: https://issues.apache.org/jira/browse/DRILL-8190
> Project: Apache Drill
> Issue Type: Bug
> Components: Server
> Affects Versions: 1.20.0
> Environment: RHEL 7: Linux 3.10.0-1160.59.1.el7.x86_64 #1 SMP Wed
> Feb 16 12:17:35 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
> Reporter: Daniel Clark
> Assignee: Vova Vysotskyi
> Priority: Major
> Fix For: 1.20.3
>
> Attachments: customGrounds.gz, log_4.txt, profile_4.json
>
>
> I'm attempting to run this mongo query that ran successfully in Drill 1.19
> with the 1.21.0-SNAPSHOT build.
>
> SELECT `Elements_Efforts`.`EffortTypeName` AS `EffortTypeName`,
> `Elements`.`ElementSubTypeName` AS `ElementSubTypeName`,
> `Elements`.`ElementTypeName` AS `ElementTypeName`,
> `Elements`.`PlanID` AS `PlanID`
> FROM `mongo.grounds`.`Elements` `Elements`
> INNER JOIN `mongo.grounds`.`Elements_Efforts` `Elements_Efforts` ON
> (`Elements`.`_id` = `Elements_Efforts`.`_id`)
> WHERE (`Elements`.`PlanID` = '1623263140')
> GROUP BY `Elements_Efforts`.`EffortTypeName`,
> `Elements`.`ElementSubTypeName`,
> `Elements`.`ElementTypeName`,
> `Elements`.`PlanID`
>
> I'm getting this error message: UserRemoteException : SYSTEM ERROR:
> RuntimeException: Schema change not currently supported for schemas with
> complex types. I've attached the log, profile, and a mongodb dump containing
> the relevant datasets.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)