[
https://issues.apache.org/jira/browse/DRILL-5842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16227812#comment-16227812
]
ASF GitHub Bot commented on DRILL-5842:
---------------------------------------
Github user sohami commented on a diff in the pull request:
https://github.com/apache/drill/pull/978#discussion_r148150382
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/ops/BaseOperatorContext.java
---
@@ -0,0 +1,201 @@
+/*
+ * 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.ops;
+
+import java.io.IOException;
+import java.util.concurrent.ExecutorService;
+
+import org.apache.drill.common.exceptions.UserException;
+import org.apache.drill.exec.memory.BufferAllocator;
+import org.apache.drill.exec.physical.base.PhysicalOperator;
+import org.apache.drill.exec.store.dfs.DrillFileSystem;
+import org.apache.drill.exec.testing.ControlsInjector;
+import org.apache.drill.exec.testing.ExecutionControls;
+import org.apache.hadoop.conf.Configuration;
+
+import com.google.common.base.Preconditions;
+
+import io.netty.buffer.DrillBuf;
+
+/**
+ * Implementation of {@link OperatorExecContext} that provides services
--- End diff --
`OperatorContext` instead of _OperatorExecContext_
> Refactor and simplify the fragment, operator contexts for testing
> -----------------------------------------------------------------
>
> Key: DRILL-5842
> URL: https://issues.apache.org/jira/browse/DRILL-5842
> Project: Apache Drill
> Issue Type: Improvement
> Affects Versions: 1.12.0
> Reporter: Paul Rogers
> Assignee: Paul Rogers
> Fix For: 1.12.0
>
>
> Drill's execution engine has a "fragment context" that provides state for a
> fragment as a whole, and an "operator context" which provides state for a
> single operator. Historically, these have both been concrete classes that
> make generous references to the Drillbit context, and hence need a full Drill
> server in order to operate.
> Drill has historically made extensive use of system-level testing: build the
> entire server and fire queries at it to test each component. Over time, we
> are augmenting that approach with unit tests: the ability to test each
> operator (or parts of an operator) in isolation.
> Since each operator requires access to both the operator and fragment
> context, the fact that the contexts depend on the overall server creates a
> large barrier to unit testing. An earlier checkin started down the path of
> defining the contexts as interfaces that can have different run-time and
> test-time implementations to enable testing.
> This ticket asks to refactor those interfaces: simplifying the operator
> context and introducing an interface for the fragment context. New code will
> use these new interfaces, while older code continues to use the concrete
> implementations. Over time, as operators are enhanced, they can be modified
> to allow unit-level testing.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)