Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.0.0-alpha
-
None
-
Reviewed
Description
Scenario:
=========
Start NN and three DN"S
Get the datanode to which blocks has to be replicated.
from
nodes = nextBlockOutputStream(src);
Before start writing to the DN ,kill the primary DN.
// write out data to remote datanode
blockStream.write(buf.array(), buf.position(), buf.remaining());
blockStream.flush();
Now write will fail with the exception
2012-05-10 14:21:47,993 WARN hdfs.DFSClient (DFSOutputStream.java:run(552)) - DataStreamer Exception java.io.IOException: An established connection was aborted by the software in your host machine at sun.nio.ch.SocketDispatcher.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(Unknown Source) at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) at sun.nio.ch.IOUtil.write(Unknown Source) at sun.nio.ch.SocketChannelImpl.write(Unknown Source) at org.apache.hadoop.net.SocketOutputStream$Writer.performIO(SocketOutputStream.java:60) at org.apache.hadoop.net.SocketIOWithTimeout.doIO(SocketIOWithTimeout.java:142) at org.apache.hadoop.net.SocketOutputStream.write(SocketOutputStream.java:151) at org.apache.hadoop.net.SocketOutputStream.write(SocketOutputStream.java:112) at java.io.BufferedOutputStream.write(Unknown Source) at java.io.DataOutputStream.write(Unknown Source) at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:513)
.