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 {