Updated Branches:
  refs/heads/master 6d05a5e8f -> 635067314

Allow overrides in the MiniCluster configuration


Project: http://git-wip-us.apache.org/repos/asf/incubator-blur/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-blur/commit/63506731
Tree: http://git-wip-us.apache.org/repos/asf/incubator-blur/tree/63506731
Diff: http://git-wip-us.apache.org/repos/asf/incubator-blur/diff/63506731

Branch: refs/heads/master
Commit: 6350673144a3eb9056cd2448b1639b75acaf843c
Parents: 6d05a5e
Author: Tim <[email protected]>
Authored: Thu Sep 20 18:31:53 2012 -0400
Committer: Tim <[email protected]>
Committed: Thu Sep 20 18:31:53 2012 -0400

----------------------------------------------------------------------
 .../src/test/java/org/apache/blur/MiniCluster.java |   34 ++++++++++++---
 .../java/org/apache/blur/BlurConfiguration.java    |   22 +++++++++
 2 files changed, 50 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/63506731/src/blur-core/src/test/java/org/apache/blur/MiniCluster.java
----------------------------------------------------------------------
diff --git a/src/blur-core/src/test/java/org/apache/blur/MiniCluster.java 
b/src/blur-core/src/test/java/org/apache/blur/MiniCluster.java
index 2cc79d5..86791b2 100644
--- a/src/blur-core/src/test/java/org/apache/blur/MiniCluster.java
+++ b/src/blur-core/src/test/java/org/apache/blur/MiniCluster.java
@@ -24,7 +24,9 @@ import java.io.IOException;
 import java.lang.reflect.Field;
 import java.net.URI;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Properties;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
@@ -84,7 +86,14 @@ public abstract class MiniCluster {
     startZooKeeper("./tmp");
     startControllers(1);
     startShards(1);
-
+    
+    //Run the controllers/shards on custom ports.  
+    //BlurConfiguration conf = new BlurConfiguration(false);
+    //conf.setInt(BLUR_CONTROLLER_BIND_PORT, 40001);
+    //conf.setInt(BLUR_SHARD_BIND_PORT, 40002);
+    //startControllers(conf, 1);
+    //startShards(conf, 1);
+    
     try {
       Iface client = BlurClient.getClient(getControllerConnectionStr());
       createTable("test", client);
@@ -179,6 +188,15 @@ public abstract class MiniCluster {
     startControllers(configuration, num);
   }
 
+  private static BlurConfiguration getBlurConfiguration(BlurConfiguration 
overrides) {
+    BlurConfiguration conf = getBlurConfiguration();
+       
+    for(Map.Entry<String, String> over: overrides.getProperties().entrySet()) {
+      conf.set(over.getKey().toString(), over.getValue().toString());
+    }
+    return conf;
+  }
+  
   private static BlurConfiguration getBlurConfiguration() {
     BlurConfiguration configuration;
     try {
@@ -193,16 +211,19 @@ public abstract class MiniCluster {
     configuration.setLong(BLUR_SHARD_SAFEMODEDELAY, 5000);
     configuration.setInt(BLUR_GUI_CONTROLLER_PORT, -1);
     configuration.setInt(BLUR_GUI_SHARD_PORT, -1);
+
     return configuration;
   }
 
   public static void startControllers(BlurConfiguration configuration, int 
num) {
     StringBuilder builder = new StringBuilder();
+    BlurConfiguration localConf = getBlurConfiguration(configuration);
+    int controllerPort = localConf.getInt(BLUR_CONTROLLER_BIND_PORT, 40010);
     for (int i = 0; i < num; i++) {
       try {
-        ThriftServer server = ThriftBlurControllerServer.createServer(i, 
configuration);
+        ThriftServer server = ThriftBlurControllerServer.createServer(i, 
localConf);
         controllers.add(server);
-        Connection connection = new Connection("localhost", 40010 + i);
+        Connection connection = new Connection("localhost", controllerPort + 
i);
         if (builder.length() != 0) {
           builder.append(',');
         }
@@ -222,6 +243,7 @@ public abstract class MiniCluster {
   }
 
   public static void startShards(final BlurConfiguration configuration, int 
num) {
+    final BlurConfiguration localConf = getBlurConfiguration(configuration);
     ExecutorService executorService = Executors.newFixedThreadPool(num);
     List<Future<ThriftServer>> futures = new ArrayList<Future<ThriftServer>>();
     for (int i = 0; i < num; i++) {
@@ -229,16 +251,16 @@ public abstract class MiniCluster {
       futures.add(executorService.submit(new Callable<ThriftServer>() {
         @Override
         public ThriftServer call() throws Exception {
-          return ThriftBlurShardServer.createServer(index, configuration);
+          return ThriftBlurShardServer.createServer(index, localConf);
         }
       }));
     }
-
+    int shardPort = localConf.getInt(BLUR_SHARD_BIND_PORT, 40020);
     for (int i = 0; i < num; i++) {
       try {
         ThriftServer server = futures.get(i).get();
         shards.add(server);
-        Connection connection = new Connection("localhost", 40020 + i);
+        Connection connection = new Connection("localhost", shardPort + i);
         startServer(server, connection);
       } catch (Exception e) {
         LOG.error(e);

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/63506731/src/blur-util/src/main/java/org/apache/blur/BlurConfiguration.java
----------------------------------------------------------------------
diff --git a/src/blur-util/src/main/java/org/apache/blur/BlurConfiguration.java 
b/src/blur-util/src/main/java/org/apache/blur/BlurConfiguration.java
index f1ce9ad..4034359 100644
--- a/src/blur-util/src/main/java/org/apache/blur/BlurConfiguration.java
+++ b/src/blur-util/src/main/java/org/apache/blur/BlurConfiguration.java
@@ -24,6 +24,12 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Properties;
 
+/**
+ * The default constructor, which loads site defaults should nearly
+ * always be used.  Instantiating a BlurConfiguration without defaults
+ * is rarely necessary and should generally be avoided.
+ *
+ */
 public class BlurConfiguration {
 
   private Properties _properties = new Properties();
@@ -35,9 +41,25 @@ public class BlurConfiguration {
     System.out.println(configuration.get("test3", "def"));
   }
 
+  /** 
+   * Create a BlurConfiguration including default properties.
+   * @throws IOException
+   */
   public BlurConfiguration() throws IOException {
     init();
   }
+  
+  /**
+   * 
+   * @param loadDefaults -
+   *           false to load without default properties set.   
+   * @throws IOException
+   */
+  public BlurConfiguration(Boolean loadDefaults) throws IOException {
+    if(loadDefaults == true) {
+      init();
+    }
+  }
 
   private void init() throws IOException {
     _properties.putAll(load("/blur-default.properties"));

Reply via email to