Browse Source

HADOOP-4671. Mark loop control variables shared between threads as volatile.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/branches/branch-0.20@737254 13f79535-47bb-0310-9956-ffa450edef68
Christopher Douglas 16 years ago
parent
commit
9c178336b3

+ 3 - 0
CHANGES.txt

@@ -568,6 +568,9 @@ Release 0.20.0 - Unreleased
     killed after initialization, but before running. 
     (Sreekanth Ramakrishnan via yhemanth)
 
+    HADOOP-4671. Mark loop control variables shared between threads as
+    volatile. (cdouglas)
+
 Release 0.19.1 - Unreleased
 
   IMPROVEMENTS

+ 1 - 1
src/contrib/chukwa/src/java/org/apache/hadoop/chukwa/datacollection/agent/AgentControlSocketListener.java

@@ -41,7 +41,7 @@ public class AgentControlSocketListener extends Thread {
   ChukwaAgent agent;
   int portno;
   ServerSocket s= null;
-  boolean closing = false;
+  volatile boolean closing = false;
   
   private class ListenThread extends Thread
   {

+ 1 - 1
src/contrib/chukwa/src/java/org/apache/hadoop/chukwa/datacollection/connector/http/HttpConnector.java

@@ -63,7 +63,7 @@ public class HttpConnector implements Connector, Runnable  {
   ChukwaAgent agent;
   String argDestination = null;
   
-  private boolean stopMe = false;
+  private volatile boolean stopMe = false;
   private boolean reloadConfiguration = false;
   private Iterator<String> collectors = null;
   protected ChukwaSender connectorClient = null;

+ 1 - 1
src/contrib/fairscheduler/src/java/org/apache/hadoop/mapred/FairScheduler.java

@@ -55,7 +55,7 @@ public class FairScheduler extends TaskScheduler {
     new HashMap<JobInProgress, JobInfo>();
   protected long lastUpdateTime;           // Time when we last updated infos
   protected boolean initialized;  // Are we initialized?
-  protected boolean running;      // Are we running?
+  protected volatile boolean running; // Are we running?
   protected boolean useFifo;      // Set if we want to revert to FIFO behavior
   protected boolean assignMultiple; // Simultaneously assign map and reduce?
   protected boolean sizeBasedWeight; // Give larger weights to larger jobs

+ 1 - 1
src/contrib/index/src/java/org/apache/hadoop/contrib/index/mapred/IndexUpdateReducer.java

@@ -90,7 +90,7 @@ public class IndexUpdateReducer extends MapReduceBase implements
     // close the shard
     final Reporter fReporter = reporter;
     new Closeable() {
-      boolean closed = false;
+      volatile boolean closed = false;
 
       public void close() throws IOException {
         // spawn a thread to give progress heartbeats

+ 1 - 1
src/hdfs/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java

@@ -63,7 +63,7 @@ public class SecondaryNameNode implements Runnable {
   private NamenodeProtocol namenode;
   private Configuration conf;
   private InetSocketAddress nameNodeAddr;
-  private boolean shouldRun;
+  private volatile boolean shouldRun;
   private HttpServer infoServer;
   private int infoPort;
   private String infoBindAddress;