You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by bo...@apache.org on 2018/05/24 01:19:26 UTC

[drill] branch master updated: DRILL-6436: Storage Plugin to have name and context moved to AbstractStoragePlugin

This is an automated email from the ASF dual-hosted git repository.

boaz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/drill.git


The following commit(s) were added to refs/heads/master by this push:
     new 814dfbd  DRILL-6436: Storage Plugin to have name and context moved to AbstractStoragePlugin
814dfbd is described below

commit 814dfbd2dfb00e04af64d1e0e64b27398f025750
Author: chunhui-shi <cs...@maprtech.com>
AuthorDate: Thu Feb 15 12:21:33 2018 -0800

    DRILL-6436: Storage Plugin to have name and context moved to AbstractStoragePlugin
    
    closes #1282
---
 .../drill/exec/store/hbase/HBaseStoragePlugin.java |  7 +------
 .../drill/exec/store/hive/HiveStoragePlugin.java   | 18 ++++-------------
 .../drill/exec/store/jdbc/JdbcStoragePlugin.java   | 17 +++-------------
 .../drill/exec/store/kafka/KafkaStoragePlugin.java |  7 +------
 .../drill/exec/store/kudu/KuduStoragePlugin.java   | 12 ++---------
 .../drill/exec/store/mongo/MongoStoragePlugin.java |  7 +------
 .../exec/store/openTSDB/OpenTSDBStoragePlugin.java | 11 +++--------
 .../drill/exec/store/AbstractStoragePlugin.java    | 23 ++++++++++++++++++----
 .../drill/exec/store/dfs/FileSystemPlugin.java     |  4 +++-
 .../store/ischema/InfoSchemaStoragePlugin.java     |  7 ++-----
 .../drill/exec/store/mock/MockStorageEngine.java   |  1 +
 .../drill/exec/store/sys/SystemTablePlugin.java    | 15 +++-----------
 12 files changed, 43 insertions(+), 86 deletions(-)

diff --git a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseStoragePlugin.java b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseStoragePlugin.java
index 62f351c..18428c6 100644
--- a/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseStoragePlugin.java
+++ b/contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/HBaseStoragePlugin.java
@@ -38,7 +38,6 @@ import com.google.common.collect.ImmutableSet;
 public class HBaseStoragePlugin extends AbstractStoragePlugin {
   private static final HBaseConnectionManager hbaseConnectionManager = HBaseConnectionManager.INSTANCE;
 
-  private final DrillbitContext context;
   private final HBaseStoragePluginConfig storeConfig;
   private final HBaseSchemaFactory schemaFactory;
   private final HBaseConnectionKey connectionKey;
@@ -47,17 +46,13 @@ public class HBaseStoragePlugin extends AbstractStoragePlugin {
 
   public HBaseStoragePlugin(HBaseStoragePluginConfig storeConfig, DrillbitContext context, String name)
       throws IOException {
-    this.context = context;
+    super(context, name);
     this.schemaFactory = new HBaseSchemaFactory(this, name);
     this.storeConfig = storeConfig;
     this.name = name;
     this.connectionKey = new HBaseConnectionKey();
   }
 
-  public DrillbitContext getContext() {
-    return this.context;
-  }
-
   @Override
   public boolean supportsRead() {
     return true;
diff --git a/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveStoragePlugin.java b/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveStoragePlugin.java
index 1ac1525..449a6f9 100644
--- a/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveStoragePlugin.java
+++ b/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveStoragePlugin.java
@@ -55,14 +55,12 @@ public class HiveStoragePlugin extends AbstractStoragePlugin {
 
   private final HiveStoragePluginConfig config;
   private HiveSchemaFactory schemaFactory;
-  private final DrillbitContext context;
-  private final String name;
   private final HiveConf hiveConf;
 
-  public HiveStoragePlugin(HiveStoragePluginConfig config, DrillbitContext context, String name) throws ExecutionSetupException {
+  public HiveStoragePlugin(HiveStoragePluginConfig config, DrillbitContext context, String name)
+      throws ExecutionSetupException {
+    super(context, name);
     this.config = config;
-    this.context = context;
-    this.name = name;
     this.hiveConf = createHiveConf(config.getHiveConfigOverride());
     this.schemaFactory = new HiveSchemaFactory(this, name, hiveConf);
   }
@@ -75,14 +73,6 @@ public class HiveStoragePlugin extends AbstractStoragePlugin {
     return config;
   }
 
-  public String getName(){
-    return name;
-  }
-
-  public DrillbitContext getContext() {
-    return context;
-  }
-
   @Override
   public HiveScan getPhysicalScan(String userName, JSONOptions selection, List<SchemaPath> columns) throws IOException {
     HiveReadEntry hiveReadEntry = selection.getListWith(new ObjectMapper(), new TypeReference<HiveReadEntry>(){});
@@ -150,7 +140,7 @@ public class HiveStoragePlugin extends AbstractStoragePlugin {
       logger.warn("Schema factory forced close failed, error ignored", t);
     }
     try {
-      schemaFactory = new HiveSchemaFactory(this, name, hiveConf);
+      schemaFactory = new HiveSchemaFactory(this, getName(), hiveConf);
     } catch (ExecutionSetupException e) {
       throw new DrillRuntimeException(e);
     }
diff --git a/contrib/storage-jdbc/src/main/java/org/apache/drill/exec/store/jdbc/JdbcStoragePlugin.java b/contrib/storage-jdbc/src/main/java/org/apache/drill/exec/store/jdbc/JdbcStoragePlugin.java
index 7a58f7c..c38ea3b 100755
--- a/contrib/storage-jdbc/src/main/java/org/apache/drill/exec/store/jdbc/JdbcStoragePlugin.java
+++ b/contrib/storage-jdbc/src/main/java/org/apache/drill/exec/store/jdbc/JdbcStoragePlugin.java
@@ -77,17 +77,14 @@ public class JdbcStoragePlugin extends AbstractStoragePlugin {
 
 
   private final JdbcStorageConfig config;
-  private final DrillbitContext context;
   private final DataSource source;
-  private final String name;
   private final SqlDialect dialect;
   private final DrillJdbcConvention convention;
 
 
   public JdbcStoragePlugin(JdbcStorageConfig config, DrillbitContext context, String name) {
-    this.context = context;
+    super(context, name);
     this.config = config;
-    this.name = name;
     BasicDataSource source = new BasicDataSource();
     source.setDriverClassName(config.getDriver());
     source.setUrl(config.getUrl());
@@ -429,8 +426,8 @@ public class JdbcStoragePlugin extends AbstractStoragePlugin {
 
   @Override
   public void registerSchemas(SchemaConfig config, SchemaPlus parent) {
-    JdbcCatalogSchema schema = new JdbcCatalogSchema(name);
-    SchemaPlus holder = parent.add(name, schema);
+    JdbcCatalogSchema schema = new JdbcCatalogSchema(getName());
+    SchemaPlus holder = parent.add(getName(), schema);
     schema.setHolder(holder);
   }
 
@@ -440,14 +437,6 @@ public class JdbcStoragePlugin extends AbstractStoragePlugin {
     return config;
   }
 
-  public DrillbitContext getContext() {
-    return this.context;
-  }
-
-  public String getName() {
-    return this.name;
-  }
-
   @Override
   public boolean supportsRead() {
     return true;
diff --git a/contrib/storage-kafka/src/main/java/org/apache/drill/exec/store/kafka/KafkaStoragePlugin.java b/contrib/storage-kafka/src/main/java/org/apache/drill/exec/store/kafka/KafkaStoragePlugin.java
index 8986ea7..157e367 100644
--- a/contrib/storage-kafka/src/main/java/org/apache/drill/exec/store/kafka/KafkaStoragePlugin.java
+++ b/contrib/storage-kafka/src/main/java/org/apache/drill/exec/store/kafka/KafkaStoragePlugin.java
@@ -44,21 +44,16 @@ public class KafkaStoragePlugin extends AbstractStoragePlugin {
   private static final Logger logger = LoggerFactory.getLogger(KafkaStoragePlugin.class);
   private final KafkaSchemaFactory kafkaSchemaFactory;
   private final KafkaStoragePluginConfig config;
-  private final DrillbitContext context;
   private final Closer closer = Closer.create();
 
   public KafkaStoragePlugin(KafkaStoragePluginConfig config, DrillbitContext context, String name)
       throws ExecutionSetupException {
+    super(context, name);
     logger.debug("Initializing {}", KafkaStoragePlugin.class.getName());
     this.config = config;
-    this.context = context;
     this.kafkaSchemaFactory = new KafkaSchemaFactory(this, name);
   }
 
-  public DrillbitContext getContext() {
-    return this.context;
-  }
-
   @Override
   public KafkaStoragePluginConfig getConfig() {
     return this.config;
diff --git a/contrib/storage-kudu/src/main/java/org/apache/drill/exec/store/kudu/KuduStoragePlugin.java b/contrib/storage-kudu/src/main/java/org/apache/drill/exec/store/kudu/KuduStoragePlugin.java
index a386393..b1ae708 100644
--- a/contrib/storage-kudu/src/main/java/org/apache/drill/exec/store/kudu/KuduStoragePlugin.java
+++ b/contrib/storage-kudu/src/main/java/org/apache/drill/exec/store/kudu/KuduStoragePlugin.java
@@ -32,20 +32,16 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 public class KuduStoragePlugin extends AbstractStoragePlugin {
   static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(KuduStoragePlugin.class);
 
-  private final DrillbitContext context;
   private final KuduStoragePluginConfig engineConfig;
   private final KuduSchemaFactory schemaFactory;
 
-  @SuppressWarnings("unused")
-  private final String name;
   private final KuduClient client;
 
   public KuduStoragePlugin(KuduStoragePluginConfig configuration, DrillbitContext context, String name)
       throws IOException {
-    this.context = context;
+    super(context, name);
     this.schemaFactory = new KuduSchemaFactory(this, name);
     this.engineConfig = configuration;
-    this.name = name;
     this.client = new KuduClient.KuduClientBuilder(configuration.getMasterAddresses()).build();
   }
 
@@ -63,10 +59,6 @@ public class KuduStoragePlugin extends AbstractStoragePlugin {
     client.close();
   }
 
-  public DrillbitContext getContext() {
-    return this.context;
-  }
-
   @Override
   public boolean supportsRead() {
     return true;
@@ -93,4 +85,4 @@ public class KuduStoragePlugin extends AbstractStoragePlugin {
     return engineConfig;
   }
 
-}
\ No newline at end of file
+}
diff --git a/contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoStoragePlugin.java b/contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoStoragePlugin.java
index c7d0f6c..8ab0c55 100644
--- a/contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoStoragePlugin.java
+++ b/contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoStoragePlugin.java
@@ -54,7 +54,6 @@ public class MongoStoragePlugin extends AbstractStoragePlugin {
   static final Logger logger = LoggerFactory
       .getLogger(MongoStoragePlugin.class);
 
-  private final DrillbitContext context;
   private final MongoStoragePluginConfig mongoConfig;
   private final MongoSchemaFactory schemaFactory;
   private final Cache<MongoCnxnKey, MongoClient> addressClientMap;
@@ -63,7 +62,7 @@ public class MongoStoragePlugin extends AbstractStoragePlugin {
   public MongoStoragePlugin(MongoStoragePluginConfig mongoConfig,
       DrillbitContext context, String name) throws IOException,
       ExecutionSetupException {
-    this.context = context;
+    super(context, name);
     this.mongoConfig = mongoConfig;
     this.clientURI = new MongoClientURI(this.mongoConfig.getConnection());
     this.addressClientMap = CacheBuilder.newBuilder()
@@ -72,10 +71,6 @@ public class MongoStoragePlugin extends AbstractStoragePlugin {
     this.schemaFactory = new MongoSchemaFactory(this, name);
   }
 
-  public DrillbitContext getContext() {
-    return this.context;
-  }
-
   @Override
   public MongoStoragePluginConfig getConfig() {
     return mongoConfig;
diff --git a/contrib/storage-opentsdb/src/main/java/org/apache/drill/exec/store/openTSDB/OpenTSDBStoragePlugin.java b/contrib/storage-opentsdb/src/main/java/org/apache/drill/exec/store/openTSDB/OpenTSDBStoragePlugin.java
index 176dff0..2de763b 100644
--- a/contrib/storage-opentsdb/src/main/java/org/apache/drill/exec/store/openTSDB/OpenTSDBStoragePlugin.java
+++ b/contrib/storage-opentsdb/src/main/java/org/apache/drill/exec/store/openTSDB/OpenTSDBStoragePlugin.java
@@ -31,15 +31,14 @@ import java.io.IOException;
 
 public class OpenTSDBStoragePlugin extends AbstractStoragePlugin {
 
-  private final DrillbitContext context;
-
   private final OpenTSDBStoragePluginConfig engineConfig;
   private final OpenTSDBSchemaFactory schemaFactory;
 
   private final ServiceImpl db;
 
-  public OpenTSDBStoragePlugin(OpenTSDBStoragePluginConfig configuration, DrillbitContext context, String name) throws IOException {
-    this.context = context;
+  public OpenTSDBStoragePlugin(OpenTSDBStoragePluginConfig configuration, DrillbitContext context, String name)
+      throws IOException {
+    super(context, name);
     this.schemaFactory = new OpenTSDBSchemaFactory(this, name);
     this.engineConfig = configuration;
     this.db = new ServiceImpl(configuration.getConnection());
@@ -70,8 +69,4 @@ public class OpenTSDBStoragePlugin extends AbstractStoragePlugin {
   public ServiceImpl getClient() {
     return db;
   }
-
-  DrillbitContext getContext() {
-    return this.context;
-  }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/store/AbstractStoragePlugin.java b/exec/java-exec/src/main/java/org/apache/drill/exec/store/AbstractStoragePlugin.java
index 90c00e6..de2b2c3 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/store/AbstractStoragePlugin.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/store/AbstractStoragePlugin.java
@@ -29,13 +29,20 @@ import org.apache.drill.exec.physical.base.AbstractGroupScan;
 import org.apache.drill.exec.planner.PlannerPhase;
 
 import com.google.common.collect.ImmutableSet;
+import org.apache.drill.exec.server.DrillbitContext;
 
 /** Abstract class for StorePlugin implementations.
  * See StoragePlugin for description of the interface intent and its methods.
  */
 public abstract class AbstractStoragePlugin implements StoragePlugin {
 
-  protected AbstractStoragePlugin() { }
+  private final DrillbitContext context;
+  private final String name;
+
+  protected AbstractStoragePlugin(DrillbitContext inContext, String inName) {
+    this.context = inContext;
+    this.name = inName;
+  }
 
   @Override
   public boolean supportsRead() {
@@ -49,7 +56,7 @@ public abstract class AbstractStoragePlugin implements StoragePlugin {
 
   /**
    * @deprecated Marking for deprecation in next major version release. Use
-   *             {@link #getPhysicalOptimizerRules(org.apache.drill.exec.ops.OptimizerRulesContext, org.apache.drill.exec.planner.PlannerPhase)}
+   *             {@link #getOptimizerRules(org.apache.drill.exec.ops.OptimizerRulesContext, org.apache.drill.exec.planner.PlannerPhase)}
    */
   @Override
   @Deprecated
@@ -59,7 +66,7 @@ public abstract class AbstractStoragePlugin implements StoragePlugin {
 
   /**
    * @deprecated Marking for deprecation in next major version release. Use
-   *             {@link #getPhysicalOptimizerRules(org.apache.drill.exec.ops.OptimizerRulesContext, org.apache.drill.exec.planner.PlannerPhase)}
+   *             {@link #getOptimizerRules(org.apache.drill.exec.ops.OptimizerRulesContext, org.apache.drill.exec.planner.PlannerPhase)}
    */
   @Deprecated
   public Set<? extends RelOptRule> getLogicalOptimizerRules(OptimizerRulesContext optimizerContext) {
@@ -68,7 +75,7 @@ public abstract class AbstractStoragePlugin implements StoragePlugin {
 
   /**
    * @deprecated Marking for deprecation in next major version release. Use
-   *             {@link #getPhysicalOptimizerRules(org.apache.drill.exec.ops.OptimizerRulesContext, org.apache.drill.exec.planner.PlannerPhase)}
+   *             {@link #getOptimizerRules(org.apache.drill.exec.ops.OptimizerRulesContext, org.apache.drill.exec.planner.PlannerPhase)}
    */
   @Deprecated
   public Set<? extends RelOptRule> getPhysicalOptimizerRules(OptimizerRulesContext optimizerRulesContext) {
@@ -110,4 +117,12 @@ public abstract class AbstractStoragePlugin implements StoragePlugin {
 
   @Override
   public void close() throws Exception { }
+
+  public DrillbitContext getContext() {
+    return context;
+  }
+
+  public String getName() {
+    return name;
+  }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/FileSystemPlugin.java b/exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/FileSystemPlugin.java
index 5d382fe..734ab73 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/FileSystemPlugin.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/FileSystemPlugin.java
@@ -62,7 +62,9 @@ public class FileSystemPlugin extends AbstractStoragePlugin {
   private final Configuration fsConf;
   private final LogicalPlanPersistence lpPersistance;
 
-  public FileSystemPlugin(FileSystemConfig config, DrillbitContext context, String name) throws ExecutionSetupException{
+  public FileSystemPlugin(FileSystemConfig config, DrillbitContext context, String name)
+      throws ExecutionSetupException{
+    super(context, name);
     this.config = config;
     this.lpPersistance = context.getLpPersistence();
 
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/store/ischema/InfoSchemaStoragePlugin.java b/exec/java-exec/src/main/java/org/apache/drill/exec/store/ischema/InfoSchemaStoragePlugin.java
index 1fd42e8..fc1f01a 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/store/ischema/InfoSchemaStoragePlugin.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/store/ischema/InfoSchemaStoragePlugin.java
@@ -45,13 +45,10 @@ public class InfoSchemaStoragePlugin extends AbstractStoragePlugin {
   static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(InfoSchemaStoragePlugin.class);
 
   private final InfoSchemaConfig config;
-  private final DrillbitContext context;
-  private final String name;
 
   public InfoSchemaStoragePlugin(InfoSchemaConfig config, DrillbitContext context, String name){
+    super(context, name);
     this.config = config;
-    this.context = context;
-    this.name = name;
   }
 
   @Override
@@ -62,7 +59,7 @@ public class InfoSchemaStoragePlugin extends AbstractStoragePlugin {
   @Override
   public InfoSchemaGroupScan getPhysicalScan(String userName, JSONOptions selection, List<SchemaPath> columns)
       throws IOException {
-    InfoSchemaTableType table = selection.getWith(context.getLpPersistence(),  InfoSchemaTableType.class);
+    InfoSchemaTableType table = selection.getWith(getContext().getLpPersistence(),  InfoSchemaTableType.class);
     return new InfoSchemaGroupScan(table);
   }
 
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/store/mock/MockStorageEngine.java b/exec/java-exec/src/main/java/org/apache/drill/exec/store/mock/MockStorageEngine.java
index 8dd4e2e..fb4c9e3 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/store/mock/MockStorageEngine.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/store/mock/MockStorageEngine.java
@@ -56,6 +56,7 @@ public class MockStorageEngine extends AbstractStoragePlugin {
   private final MockSchema schema;
 
   public MockStorageEngine(MockStorageEngineConfig configuration, DrillbitContext context, String name) {
+    super(context, name);
     this.configuration = configuration;
     this.schema = new MockSchema(this, name);
   }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/store/sys/SystemTablePlugin.java b/exec/java-exec/src/main/java/org/apache/drill/exec/store/sys/SystemTablePlugin.java
index 21ed028..10e082f 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/store/sys/SystemTablePlugin.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/store/sys/SystemTablePlugin.java
@@ -32,7 +32,6 @@ import org.apache.drill.exec.store.AbstractStoragePlugin;
 import org.apache.drill.exec.store.SchemaConfig;
 import org.apache.drill.exec.store.pojo.PojoDataType;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Sets;
@@ -45,15 +44,12 @@ public class SystemTablePlugin extends AbstractStoragePlugin {
 
   public static final String SYS_SCHEMA_NAME = "sys";
 
-  private final DrillbitContext context;
-  private final String name;
   private final SystemTablePluginConfig config;
   private final SystemSchema schema = new SystemSchema();
 
   public SystemTablePlugin(SystemTablePluginConfig config, DrillbitContext context, String name) {
+    super(context, name);
     this.config = config;
-    this.context = context;
-    this.name = name;
   }
 
   @Override
@@ -61,11 +57,6 @@ public class SystemTablePlugin extends AbstractStoragePlugin {
     return config;
   }
 
-  @JsonIgnore
-  public DrillbitContext getContext() {
-    return this.context;
-  }
-
   @Override
   public void registerSchemas(SchemaConfig schemaConfig, SchemaPlus parent) {
     parent.add(schema.getName(), schema);
@@ -73,7 +64,7 @@ public class SystemTablePlugin extends AbstractStoragePlugin {
 
   @Override
   public AbstractGroupScan getPhysicalScan(String userName, JSONOptions selection, List<SchemaPath> columns) {
-    SystemTable table = selection.getWith(context.getLpPersistence(), SystemTable.class);
+    SystemTable table = selection.getWith(getContext().getLpPersistence(), SystemTable.class);
     return new SystemTableScan(table, this);
   }
 
@@ -102,7 +93,7 @@ public class SystemTablePlugin extends AbstractStoragePlugin {
     public DrillTable getTable(String name) {
       for (SystemTable table : SystemTable.values()) {
         if (table.getTableName().equalsIgnoreCase(name)) {
-          return new StaticDrillTable(SystemTablePlugin.this.name, SystemTablePlugin.this, TableType.SYSTEM_TABLE,
+          return new StaticDrillTable(getName(), SystemTablePlugin.this, TableType.SYSTEM_TABLE,
             table, new PojoDataType(table.getPojoClass()));
         }
       }

-- 
To stop receiving notification emails like this one, please contact
boaz@apache.org.