You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by to...@apache.org on 2014/11/06 01:14:50 UTC

[04/50] git commit: Changed to use transport client

Changed to use transport client


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

Branch: refs/heads/two-dot-o
Commit: a2f001663d1310117f2dcf14526283837e8af2a9
Parents: 37d8598
Author: Todd Nine <tn...@apigee.com>
Authored: Fri Oct 31 10:43:20 2014 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Fri Oct 31 10:43:20 2014 -0600

----------------------------------------------------------------------
 .../persistence/index/impl/EsProvider.java      | 90 +++++++++++++-------
 1 file changed, 59 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a2f00166/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java
index 0a06e8f..ea63ffc 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java
@@ -23,8 +23,10 @@ import java.net.InetAddress;
 import java.net.UnknownHostException;
 
 import org.elasticsearch.client.Client;
+import org.elasticsearch.client.transport.TransportClient;
 import org.elasticsearch.common.settings.ImmutableSettings;
 import org.elasticsearch.common.settings.Settings;
+import org.elasticsearch.common.transport.InetSocketTransportAddress;
 import org.elasticsearch.node.Node;
 import org.elasticsearch.node.NodeBuilder;
 import org.slf4j.Logger;
@@ -48,7 +50,7 @@ public class EsProvider {
 
     private final IndexFig indexFig;
     private static Client client;
-    private static Node node;
+//    private static Node node;
 
     public static String LOCAL_ES_PORT_PROPNAME = "EMBEDDED_ES_PORT";
 
@@ -76,9 +78,7 @@ public class EsProvider {
      */
     public void releaseClient() {
         //reset our static variables
-        if ( client != null && node != null ) {
-            node.stop();
-            node = null;
+        if ( client != null ) {
             client = null;
         }
     }
@@ -87,22 +87,29 @@ public class EsProvider {
     private synchronized void createClient( IndexFig fig ) {
 
 
-        if ( client != null && node != null) {
+        if ( client != null) {
             return;
         }
 
 
-        String allHosts = "";
+
+        final String clusterName = fig.getClusterName();
+        final int port = fig.getPort();
+
+
+        ImmutableSettings.Builder settings = ImmutableSettings.settingsBuilder()
+                 .put( "cluster.name", clusterName )
+                 .put( "client.transport.sniff", true );
+
+
+
+//        String allHosts = "";
+
 
 
-            // we will connect to ES on all configured hosts
-            String SEP = "";
-            for ( String host : fig.getHosts().split( "," ) ) {
-                allHosts = allHosts + SEP + host + ":" + fig.getPort();
-                SEP = ",";
-            }
 
         String nodeName = fig.getNodeName();
+
         if ( "default".equals( nodeName ) ) {
             // no nodeName was specified, use hostname
             try {
@@ -114,31 +121,52 @@ public class EsProvider {
             }
         }
 
-        Settings settings = ImmutableSettings.settingsBuilder()
-
-                .put( "cluster.name", fig.getClusterName() )
+        settings.put( "node.name", nodeName);
 
-                        // this assumes that we're using zen for host discovery.  Putting an
-                        // explicit set of bootstrap hosts ensures we connect to a valid cluster.
-                .put( "discovery.zen.ping.unicast.hosts", allHosts )
-                .put( "discovery.zen.ping.multicast.enabled", "false" ).put( "http.enabled", false )
 
-                .put( "client.transport.ping_timeout", 2000 ) // milliseconds
-                .put( "client.transport.nodes_sampler_interval", 100 ).put( "network.tcp.blocking", true )
-                .put( "node.client", true ).put( "node.name", nodeName )
 
-                .build();
+        TransportClient transportClient = new TransportClient( settings.build() );
+            // we will connect to ES on all configured hosts
+//            String SEP = "";
+            for ( String host : fig.getHosts().split( "," ) ) {
 
-        log.debug( "Creating ElasticSearch client with settings: " + settings.getAsMap() );
+                transportClient.addTransportAddress( new InetSocketTransportAddress(host, port));
 
-        // use this client when connecting via socket only,
-        // such as ssh tunnel or other firewall issues
-        // newClient  = new TransportClient(settings).addTransportAddress(
-        //                  new InetSocketTransportAddress("localhost", 9300) );
+//                allHosts = allHosts + SEP + host + ":" + fig.getPort();
+//                SEP = ",";
+            }
 
-        //use this client for quick connectivity
-        node = NodeBuilder.nodeBuilder().settings( settings ).client( true ).node();
-        client = node.client();
+//        Settings settings = ImmutableSettings.settingsBuilder()
+//
+//                .put( "cluster.name", fig.getClusterName() )
+//
+//                        // this assumes that we're using zen for host discovery.  Putting an
+//                        // explicit set of bootstrap hosts ensures we connect to a valid cluster.
+//                .put( "discovery.zen.ping.unicast.hosts", allHosts )
+//                .put( "discovery.zen.ping.multicast.enabled", "false" ).put( "http.enabled", false )
+//                .put("transport.tcp.port", "9300-9400")
+//                .put( "client.transport.ping_timeout", 2000 ) // milliseconds
+//                .put( "client.transport.nodes_sampler_interval", 100 )
+////                .put( "network.tcp.blocking", true )
+//                .put( "node.client", true ).put( "node.name", nodeName+"Random test" )
+//
+//                .build();
+
+//        log.debug( "Creating ElasticSearch client with settings: " + settings.getAsMap() );
+//
+//        // use this client when connecting via socket only,
+//        // such as ssh tunnel or other firewall issues
+//        // newClient  = new TransportClient(settings).addTransportAddress(
+//        //                  new InetSocketTransportAddress("localhost", 9300) );
+//
+//        //use this client for quick connectivity
+//        node = NodeBuilder.nodeBuilder().settings( settings ).client( true ).node();
+//        client = node.client();
+
+
+
+//                .build();
+       client =  transportClient;
     }