Fix BulkRecordWriter to not throw NPE if reducer gets no map data from Hadoop Patch by goffinet, reviewed by goffinet for CASSANDRA-3944
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a47d4cbf Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a47d4cbf Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a47d4cbf Branch: refs/heads/trunk Commit: a47d4cbf0fcce64c995b1dfc1192ab051a85ee33 Parents: 527d590 Author: Chris Goffinet <c...@chrisgoffinet.com> Authored: Wed Feb 22 00:01:02 2012 -0800 Committer: Chris Goffinet <c...@chrisgoffinet.com> Committed: Wed Feb 22 00:01:02 2012 -0800 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../apache/cassandra/hadoop/BulkRecordWriter.java | 17 ++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a47d4cbf/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index b8ffb10..842b603 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -4,6 +4,7 @@ * fix concurrency issues with CQL keyspace creation (CASSANDRA-3903) * Show Effective Owership via Nodetool ring <keyspace> (CASSANDRA-3412) * Update ORDER BY syntax for CQL3 (CASSANDRA-3925) + * Fix BulkRecordWriter to not throw NPE if reducer gets no map data from Hadoop (CASSANDRA-3944) 1.1-beta1 * add nodetool rebuild_index (CASSANDRA-3583) http://git-wip-us.apache.org/repos/asf/cassandra/blob/a47d4cbf/src/java/org/apache/cassandra/hadoop/BulkRecordWriter.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/hadoop/BulkRecordWriter.java b/src/java/org/apache/cassandra/hadoop/BulkRecordWriter.java index f5c4f55..71ea2f4 100644 --- a/src/java/org/apache/cassandra/hadoop/BulkRecordWriter.java +++ b/src/java/org/apache/cassandra/hadoop/BulkRecordWriter.java @@ -187,14 +187,17 @@ implements org.apache.hadoop.mapred.RecordWriter<ByteBuffer,List<Mutation>> private void close() throws IOException { - writer.close(); - try + if (writer != null) { - loader.stream().get(); - } - catch (InterruptedException e) - { - throw new IOException(e); + writer.close(); + try + { + loader.stream().get(); + } + catch (InterruptedException e) + { + throw new IOException(e); + } } }