Ding Yuan created HDFS-5822:
-------------------------------

             Summary: InterruptedException to thread sleep ignored
                 Key: HDFS-5822
                 URL: https://issues.apache.org/jira/browse/HDFS-5822
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: datanode
    Affects Versions: 2.2.0
            Reporter: Ding Yuan


In org/apache/hadoop/hdfs/server/datanode/DataXceiverServer.java, there is the 
following code snippet in the run() method:

156:      } catch (OutOfMemoryError ie) {
157:        IOUtils.cleanup(null, peer);
158:        // DataNode can run out of memory if there is too many transfers.
159:       // Log the event, Sleep for 30 seconds, other transfers may complete 
by
160:        // then.
161:        LOG.warn("DataNode is out of memory. Will retry in 30 seconds.", 
ie);
162:        try {
163:          Thread.sleep(30 * 1000);
164:        } catch (InterruptedException e) {
165:          // ignore
166:        }
167:      }

Note that InterruptedException is completely ignored. This might not be safe 
since any potential events that lead to InterruptedException are lost?

More info on why InterruptedException shouldn't be ignored: 
http://stackoverflow.com/questions/1087475/when-does-javas-thread-sleep-throw-interruptedexception

Thanks,
Ding



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to