Exception fermée Hadoop FileSystem lors de l'exécution de BufferedReader.close ()

De l'intérieur de la Réduire méthode de configuration,je suis en train de fermer un BufferedReader objet et obtenir un FileSystem fermé exception. Il n'arrive pas tout le temps. C'est le morceau de code que j'ai utilisé pour créer le BufferedReader.

    String fileName = <some HDFS file path>
    Configuration conf = new Configuration();
    FileSystem fs = FileSystem.get(conf);
    Path hdfsPath = new Path(filename);
    FSDataInputStream in = fs.open(hdfsPath);
    InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

J'ai lu le contenu de la bufferedReader et une fois que tous la lecture se fait, je le ferme.

C'est le morceau de code qui lit

String line;
while ((line = reader.readLine()) != null) {
    //Do something
}

Ce le morceau de code qui ferme le lecteur.

    if (bufferedReader != null) {
        bufferedReader.close();
    }

C'est la trace de la pile pour l'exception qui arrive quand je fais un bufferedReader.close().

I, [2013-11-18T04:56:51.601135 #25683] INFO -- :
attempt_201310111840_142285_r_000009_0:
org.apache.hadoop.hdfs.DFSClient.checkOpen(DFSClient.java:565)

I, [2013-11-18T04:56:51.601168 #25683] INFO -- :
attempt_201310111840_142285_r_000009_0:
org.apache.hadoop.hdfs.DFSInputStream.fermer(DFSInputStream.java:522)

I, [2013-11-18T04:56:51.601199 #25683] INFO -- :
attempt_201310111840_142285_r_000009_0:
java.io.FilterInputStream.fermer(FilterInputStream.java:155)

I, [2013-11-18T04:56:51.601230 #25683] INFO -- :
attempt_201310111840_142285_r_000009_0:
soleil.nio.cs.StreamDecoder.implClose(StreamDecoder.java:358)

I, [2013-11-18T04:56:51.601263 #25683] INFO -- :
attempt_201310111840_142285_r_000009_0:
soleil.nio.cs.StreamDecoder.fermer(StreamDecoder.java:173)

I, [2013-11-18T04:56:51.601356 #25683] INFO -- :
attempt_201310111840_142285_r_000009_0:
java.io.InputStreamReader.fermer(InputStreamReader.java:182)

I, [2013-11-18T04:56:51.601395 #25683] INFO -- :
attempt_201310111840_142285_r_000009_0:
java.io.BufferedReader.fermer(BufferedReader.java:497)

Je ne suis pas sûr pourquoi cette exception qui se passe. Ce n'est pas multithread et donc, je ne m'attends pas à une race condition d'aucune sorte. Pouvez-vous svp m'aider à comprendre.

Merci,

Venk

source d'informationauteur Venk K