Hadoop FileSystem закрытое исключение при выполнении BufferedReader.close ()

Из метода настройки Reduce, я пытаюсь закрытьBufferedReader возражать и получатьFileSystem закрытое исключение. Это не происходит все время. Это кусок кода, который я использовал для создания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);

Я читаю содержимое из bufferedReader и после того, как все чтение завершено, я закрываю его.

Это кусок кода, который читает его

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

Это кусок кода, который закрывает читателя.

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

Это трассировка стека для исключения, которое происходит, когда я делаюbufferedReader.close().

I, [2013-11-18T04: 56: 51.601135 # 25683] ИНФОРМАЦИЯ -: try_201310111840_142285_r_000009_0: at org.apache.hadoop.hdfs.DFSClient.checkOpen (DFSClient.java:565)

I, [2013-11-18T04: 56: 51.601168 # 25683] ИНФОРМАЦИЯ -: try_201310111840_142285_r_000009_0: at org.apache.hadoop.hdfs.DFSInputStream.close (DFSInputStream.java:522)

I, [2013-11-18T04: 56: 51.601199 # 25683] ИНФОРМАЦИЯ -: try_201310111840_142285_r_000009_0: at java.io.FilterInputStream.close (FilterInputStream.java:155)

I, [2013-11-18T04: 56: 51.601230 # 25683] ИНФОРМАЦИЯ -: try_201310111840_142285_r_000009_0: at sun.nio.cs.StreamDecoder.implClose (StreamDecoder.java:358)

I, [2013-11-18T04: 56: 51.601263 # 25683] ИНФОРМАЦИЯ -: try_201310111840_142285_r_000009_0: at sun.nio.cs.StreamDecoder.close (StreamDecoder.java:173)

I, [2013-11-18T04: 56: 51.601356 # 25683] ИНФОРМАЦИЯ -: try_201310111840_142285_r_000009_0: at java.io.InputStreamReader.close (InputStreamReader.java:182)

I, [2013-11-18T04: 56: 51.601395 # 25683] ИНФОРМАЦИЯ -: try_201310111840_142285_r_000009_0: at java.io.BufferedReader.close (BufferedReader.java:497)

Я не уверен, почему это исключение происходит. Это не многопоточность, поэтому я не ожидаю какого-либо состояния гонки. Можете ли вы помочь мне понять.

Спасибо,

Venk

Ответы на вопрос(2)

Ваш ответ на вопрос