You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chukwa.apache.org by as...@apache.org on 2009/12/11 23:03:54 UTC
svn commit: r889833 - in /hadoop/chukwa/trunk: CHANGES.txt
src/java/org/apache/hadoop/chukwa/datacollection/agent/AgentControlSocketListener.java
Author: asrabkin
Date: Fri Dec 11 22:03:53 2009
New Revision: 889833
URL: http://svn.apache.org/viewvc?rev=889833&view=rev
Log:
CHUKWA-46. Ability to allow local-only control connections
Modified:
hadoop/chukwa/trunk/CHANGES.txt
hadoop/chukwa/trunk/src/java/org/apache/hadoop/chukwa/datacollection/agent/AgentControlSocketListener.java
Modified: hadoop/chukwa/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/chukwa/trunk/CHANGES.txt?rev=889833&r1=889832&r2=889833&view=diff
==============================================================================
--- hadoop/chukwa/trunk/CHANGES.txt (original)
+++ hadoop/chukwa/trunk/CHANGES.txt Fri Dec 11 22:03:53 2009
@@ -4,6 +4,8 @@
NEW FEATURES
+ CHUKWA-46. Ability to allow only local connections to agent control port. (asrabkin)
+
CHUKWA-427. Automate FSM state calculation and load to database. (Eric Yang)
CHUKWA-424. FSMBuilder driver script. (Jiaqi Tan via asrabkin)
Modified: hadoop/chukwa/trunk/src/java/org/apache/hadoop/chukwa/datacollection/agent/AgentControlSocketListener.java
URL: http://svn.apache.org/viewvc/hadoop/chukwa/trunk/src/java/org/apache/hadoop/chukwa/datacollection/agent/AgentControlSocketListener.java?rev=889833&r1=889832&r2=889833&view=diff
==============================================================================
--- hadoop/chukwa/trunk/src/java/org/apache/hadoop/chukwa/datacollection/agent/AgentControlSocketListener.java (original)
+++ hadoop/chukwa/trunk/src/java/org/apache/hadoop/chukwa/datacollection/agent/AgentControlSocketListener.java Fri Dec 11 22:03:53 2009
@@ -25,11 +25,7 @@
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
-import java.net.InetAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.net.SocketException;
-import java.net.UnknownHostException;
+import java.net.*;
import java.util.Map;
import org.apache.hadoop.chukwa.datacollection.adaptor.Adaptor;
import org.apache.hadoop.chukwa.datacollection.adaptor.AdaptorException;
@@ -53,6 +49,8 @@
protected ServerSocket s = null;
volatile boolean closing = false;
static final String VERSION = "0.2.0-dev";
+ public boolean ALLOW_REMOTE = true;
+ public static final String REMOTE_ACCESS_OPT = "chukwaAgent.control.remote";
private class ListenThread extends Thread {
Socket connection;
@@ -207,6 +205,7 @@
this.agent = agent;
this.portno = agent.getConfiguration().getInt("chukwaAgent.control.port",
9093);
+ this.ALLOW_REMOTE = agent.getConfiguration().getBoolean(REMOTE_ACCESS_OPT, ALLOW_REMOTE);
log.info("AgentControlSocketListerner ask for port: " + portno);
this.setName("control socket listener");
}
@@ -262,7 +261,12 @@
}
public void tryToBind() throws IOException {
- s = new ServerSocket(portno);
+ if(ALLOW_REMOTE)
+ s = new ServerSocket(portno);
+ else {
+ s = new ServerSocket();
+ s.bind(new InetSocketAddress(InetAddress.getByAddress(new byte[] {127,0,0,1}), portno));
+ }
s.setReuseAddress(true);
portno = s.getLocalPort();
if (s.isBound())