You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flume.apache.org by hs...@apache.org on 2013/10/25 02:48:19 UTC

git commit: FLUME-2210. UnresolvedAddressException when using multiple hostNames in Elasticsearch sink configuration

Updated Branches:
  refs/heads/trunk 730c822c8 -> 603bcf2d0


FLUME-2210. UnresolvedAddressException when using multiple hostNames in Elasticsearch sink configuration

(Dib Ghosh via Hari Shreedharan)


Project: http://git-wip-us.apache.org/repos/asf/flume/repo
Commit: http://git-wip-us.apache.org/repos/asf/flume/commit/603bcf2d
Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/603bcf2d
Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/603bcf2d

Branch: refs/heads/trunk
Commit: 603bcf2d0ef0d68357d0d40e34484fbdb96aa3f9
Parents: 730c822
Author: Hari Shreedharan <hs...@apache.org>
Authored: Thu Oct 24 17:47:53 2013 -0700
Committer: Hari Shreedharan <hs...@apache.org>
Committed: Thu Oct 24 17:47:53 2013 -0700

----------------------------------------------------------------------
 .../sink/elasticsearch/ElasticSearchSink.java   |  6 ++--
 .../elasticsearch/TestElasticSearchSink.java    | 30 ++++++++++++++++++++
 2 files changed, 33 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flume/blob/603bcf2d/flume-ng-sinks/flume-ng-elasticsearch-sink/src/main/java/org/apache/flume/sink/elasticsearch/ElasticSearchSink.java
----------------------------------------------------------------------
diff --git a/flume-ng-sinks/flume-ng-elasticsearch-sink/src/main/java/org/apache/flume/sink/elasticsearch/ElasticSearchSink.java b/flume-ng-sinks/flume-ng-elasticsearch-sink/src/main/java/org/apache/flume/sink/elasticsearch/ElasticSearchSink.java
index 3286412..3d01173 100644
--- a/flume-ng-sinks/flume-ng-elasticsearch-sink/src/main/java/org/apache/flume/sink/elasticsearch/ElasticSearchSink.java
+++ b/flume-ng-sinks/flume-ng-elasticsearch-sink/src/main/java/org/apache/flume/sink/elasticsearch/ElasticSearchSink.java
@@ -241,9 +241,9 @@ public class ElasticSearchSink extends AbstractSink implements Configurable {
 
       serverAddresses = new InetSocketTransportAddress[hostNames.length];
       for (int i = 0; i < hostNames.length; i++) {
-        String[] hostPort = hostNames[i].split(":");
-        String host = hostPort[0];
-        int port = hostPort.length == 2 ? Integer.parseInt(hostPort[1])
+        String[] hostPort = hostNames[i].trim().split(":");
+        String host = hostPort[0].trim();
+        int port = hostPort.length == 2 ? Integer.parseInt(hostPort[1].trim())
             : DEFAULT_PORT;
         serverAddresses[i] = new InetSocketTransportAddress(host, port);
       }

http://git-wip-us.apache.org/repos/asf/flume/blob/603bcf2d/flume-ng-sinks/flume-ng-elasticsearch-sink/src/test/java/org/apache/flume/sink/elasticsearch/TestElasticSearchSink.java
----------------------------------------------------------------------
diff --git a/flume-ng-sinks/flume-ng-elasticsearch-sink/src/test/java/org/apache/flume/sink/elasticsearch/TestElasticSearchSink.java b/flume-ng-sinks/flume-ng-elasticsearch-sink/src/test/java/org/apache/flume/sink/elasticsearch/TestElasticSearchSink.java
index ad40a3c..3f2ec6e 100644
--- a/flume-ng-sinks/flume-ng-elasticsearch-sink/src/test/java/org/apache/flume/sink/elasticsearch/TestElasticSearchSink.java
+++ b/flume-ng-sinks/flume-ng-elasticsearch-sink/src/test/java/org/apache/flume/sink/elasticsearch/TestElasticSearchSink.java
@@ -212,6 +212,21 @@ public class TestElasticSearchSink extends AbstractElasticSearchSinkTest {
   }
 
   @Test
+  public void shouldParseMultipleHostWithWhitespacesUsingDefaultPorts() {
+    parameters.put(HOSTNAMES, " 10.5.5.27 , 10.5.5.28 , 10.5.5.29 ");
+
+    fixture = new ElasticSearchSink();
+    fixture.configure(new Context(parameters));
+
+    InetSocketTransportAddress[] expected = {
+      new InetSocketTransportAddress("10.5.5.27", DEFAULT_PORT),
+      new InetSocketTransportAddress("10.5.5.28", DEFAULT_PORT),
+      new InetSocketTransportAddress("10.5.5.29", DEFAULT_PORT) };
+
+    assertArrayEquals(expected, fixture.getServerAddresses());
+  }
+
+  @Test
   public void shouldParseMultipleHostAndPorts() {
     parameters.put(HOSTNAMES, "10.5.5.27:9300,10.5.5.28:9301,10.5.5.29:9302");
 
@@ -227,6 +242,21 @@ public class TestElasticSearchSink extends AbstractElasticSearchSinkTest {
   }
 
   @Test
+  public void shouldParseMultipleHostAndPortsWithWhitespaces() {
+    parameters.put(HOSTNAMES, " 10.5.5.27 : 9300 , 10.5.5.28 : 9301 , 10.5.5.29 : 9302 ");
+
+    fixture = new ElasticSearchSink();
+    fixture.configure(new Context(parameters));
+
+    InetSocketTransportAddress[] expected = {
+      new InetSocketTransportAddress("10.5.5.27", 9300),
+      new InetSocketTransportAddress("10.5.5.28", 9301),
+      new InetSocketTransportAddress("10.5.5.29", 9302) };
+
+    assertArrayEquals(expected, fixture.getServerAddresses());
+  }
+
+  @Test
   public void shouldAllowCustomElasticSearchIndexRequestBuilderFactory()
       throws Exception {