Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.2.0
-
None
-
[CentOS 6.2 64-bit]
Description
This issue occurs with a source that has binds to a port, such as NETCAT or AVRO. In the steps below, I use AVRO as an example.
Steps:
1. Run with a props file that includes an avro source, such as a props file with these contents:
- a = agent
- r = source
- c = channel
- k = sink
a1.sources = r1
a1.channels = c1
a1.sinks = k1 - ===SOURCES===
a1.sources.r1.type = AVRO
a1.sources.r1.bind = localhost
a1.sources.r1.port = 1473
a1.sources.r1.channels = c1 - ===CHANNELS===
a1.channels.c1.type = MEMORY - ===SINKS===
a1.sinks.k1.type = LOGGER
a1.sinks.k1.channel = c1
2. Run the flume node
[will@localhost flume-1.2.0-incubating-SNAPSHOT]$ pwd
/home/will/git/apache/flume/flume-1.2.0-incubating-SNAPSHOT
[will@localhost flume-1.2.0-incubating-SNAPSHOT]$ bin/flume-ng node --conf conf --conf-file conf/a1.properties --name a1
3. Simulate a reconfig of a file by just touching the props file:
[will@localhost flume-1.2.0-incubating-SNAPSHOT]$ touch conf/a1.properties
At this point, an exception is thrown because an attempt is made to bind to the same port, even though the port number specified in config file didn't change (actually, nothing changed but the last modification time of the file).
2012-03-19 02:17:48,573 (lifecycleSupervisor-1-1) [ERROR - org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:210)] Unable to start EventDrivenSourceRunner: { source:AvroSource:
{ bindAddress:localhost port:1473 } } - Exception follows.
org.jboss.netty.channel.ChannelException: Failed to bind to: localhost/127.0.0.1:1473
at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:303)
at org.apache.avro.ipc.NettyServer.<init>(NettyServer.java:85)
at org.apache.avro.ipc.NettyServer.<init>(NettyServer.java:66)
at org.apache.flume.source.AvroSource.start(AvroSource.java:124)
at org.apache.flume.source.EventDrivenSourceRunner.start(EventDrivenSourceRunner.java:39)
at org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:208)
Attachments
Attachments
Issue Links
- duplicates
-
FLUME-862 AvroSource breaks when config properties changes different service
- Resolved
- is duplicated by
-
FLUME-1004 The SEQ source doesn't seem to stop on a reconfig that should disable it
- Resolved