[ 
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)

Reply via email to