You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by cu...@apache.org on 2006/12/07 19:36:10 UTC
svn commit: r483598 - in /lucene/hadoop/trunk: CHANGES.txt
src/java/org/apache/hadoop/dfs/DFSShell.java
Author: cutting
Date: Thu Dec 7 10:36:09 2006
New Revision: 483598
URL: http://svn.apache.org/viewvc?view=rev&rev=483598
Log:
HADOOP-621. Change 'dfs -cat' to exit sooner when output has been closed. Contributed by Dhruba.
Modified:
lucene/hadoop/trunk/CHANGES.txt
lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DFSShell.java
Modified: lucene/hadoop/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/CHANGES.txt?view=diff&rev=483598&r1=483597&r2=483598
==============================================================================
--- lucene/hadoop/trunk/CHANGES.txt (original)
+++ lucene/hadoop/trunk/CHANGES.txt Thu Dec 7 10:36:09 2006
@@ -14,6 +14,9 @@
4. HADOOP-777. Use fully-qualified hostnames for tasktrackers and
datanodes. (Mahadev Konar via cutting)
+ 5. HADOOP-621. Change 'dfs -cat' to exit sooner when output has been
+ closed. (Dhruba Borthakur via cutting)
+
Release 0.9.0 - 2006-12-01
Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DFSShell.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DFSShell.java?view=diff&rev=483598&r1=483597&r2=483598
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DFSShell.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DFSShell.java Thu Dec 7 10:36:09 2006
@@ -148,8 +148,21 @@
try {
BufferedReader din = new BufferedReader(new InputStreamReader(in));
String line;
+ int checkFactor = 0;
while((line = din.readLine()) != null) {
System.out.println(line);
+
+ //
+ // Peridically check if the output encountered an error. This can
+ // happen if the output stream has been disconnected
+ //
+ if (checkFactor == 0) {
+ if (System.out.checkError()) {
+ throw new IOException("Unable to write to output stream");
+ }
+ checkFactor = 10000;
+ }
+ checkFactor--;
}
} finally {
in.close();