Repository: flume
Updated Branches:
  refs/heads/trunk 9f0abea02 -> 9968f0fb0


FLUME-2466. Embedded agent name cannot contain spaces

(Johny Rufus via Hari)


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

Branch: refs/heads/trunk
Commit: 9968f0fb00f8d25245067242a48040229952e46f
Parents: 9f0abea
Author: Hari Shreedharan <[email protected]>
Authored: Wed Oct 8 20:21:25 2014 -0700
Committer: Hari Shreedharan <[email protected]>
Committed: Wed Oct 8 20:22:03 2014 -0700

----------------------------------------------------------------------
 .../embedded/EmbeddedAgentConfiguration.java    |  7 ++---
 .../flume/agent/embedded/TestEmbeddedAgent.java | 27 ++++++++++++++++++++
 2 files changed, 31 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flume/blob/9968f0fb/flume-ng-embedded-agent/src/main/java/org/apache/flume/agent/embedded/EmbeddedAgentConfiguration.java
----------------------------------------------------------------------
diff --git 
a/flume-ng-embedded-agent/src/main/java/org/apache/flume/agent/embedded/EmbeddedAgentConfiguration.java
 
b/flume-ng-embedded-agent/src/main/java/org/apache/flume/agent/embedded/EmbeddedAgentConfiguration.java
index 06ea7c0..02182dd 100644
--- 
a/flume-ng-embedded-agent/src/main/java/org/apache/flume/agent/embedded/EmbeddedAgentConfiguration.java
+++ 
b/flume-ng-embedded-agent/src/main/java/org/apache/flume/agent/embedded/EmbeddedAgentConfiguration.java
@@ -206,9 +206,10 @@ public class EmbeddedAgentConfiguration {
     }
     String sinkNames = properties.remove(SINKS);
 
-    String sourceName = "source-" + name;
-    String channelName = "channel-" + name;
-    String sinkGroupName = "sink-group-" + name;
+    String strippedName = name.replaceAll("\\s+","");
+    String sourceName = "source-" + strippedName;
+    String channelName = "channel-" + strippedName;
+    String sinkGroupName = "sink-group-" + strippedName;
 
     /*
      * Now we are going to process the user supplied configuration

http://git-wip-us.apache.org/repos/asf/flume/blob/9968f0fb/flume-ng-embedded-agent/src/test/java/org/apache/flume/agent/embedded/TestEmbeddedAgent.java
----------------------------------------------------------------------
diff --git 
a/flume-ng-embedded-agent/src/test/java/org/apache/flume/agent/embedded/TestEmbeddedAgent.java
 
b/flume-ng-embedded-agent/src/test/java/org/apache/flume/agent/embedded/TestEmbeddedAgent.java
index 975ba8d..241e2b5 100644
--- 
a/flume-ng-embedded-agent/src/test/java/org/apache/flume/agent/embedded/TestEmbeddedAgent.java
+++ 
b/flume-ng-embedded-agent/src/test/java/org/apache/flume/agent/embedded/TestEmbeddedAgent.java
@@ -165,6 +165,33 @@ public class TestEmbeddedAgent {
     Assert.assertEquals(newHeaders, event.getHeaders());
   }
 
+
+  @Test(timeout = 30000L)
+  public void testEmbeddedAgentName() throws Exception {
+    EmbeddedAgent embedAgent = new EmbeddedAgent("test 1 2" + 
serialNumber.incrementAndGet());
+    List<Event> events = Lists.newArrayList();
+    events.add(EventBuilder.withBody(body, headers));
+    embedAgent.configure(properties);
+    embedAgent.start();
+    embedAgent.putAll(events);
+
+    Event event;
+    while((event = eventCollector.poll()) == null) {
+      Thread.sleep(500L);
+    }
+    Assert.assertNotNull(event);
+    Assert.assertArrayEquals(body, event.getBody());
+    Assert.assertEquals(headers, event.getHeaders());
+    if(embedAgent != null) {
+      try {
+        embedAgent.stop();
+      } catch (Exception e) {
+        LOGGER.debug("Error shutting down agent", e);
+      }
+    }
+  }
+
+
   static class EventCollector implements AvroSourceProtocol {
     private final Queue<AvroFlumeEvent> eventQueue =
         new LinkedBlockingQueue<AvroFlumeEvent>();

Reply via email to