You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "xiangdong Huang (JIRA)" <ji...@apache.org> on 2015/03/23 07:23:11 UTC

[jira] [Issue Comment Deleted] (CASSANDRA-8581) Null pointer in cassandra.hadoop.ColumnFamilyRecoderWriter

     [ https://issues.apache.org/jira/browse/CASSANDRA-8581?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

xiangdong Huang updated CASSANDRA-8581:
---------------------------------------
    Comment: was deleted

(was: Yeah, the follow is the differences.

diff --git a/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java b/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java
index 6823342..68c8714 100644
--- a/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java
+++ b/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java
@@ -187,21 +187,23 @@ final class ColumnFamilyRecordWriter extends AbstractColumnFamilyRecordWriter<By
                 while (true)
                 {
                     // send the mutation to the last-used endpoint.  first time through, this will NPE harmlessly.
-                    try
-                    {
-                        client.batch_mutate(batch, consistencyLevel);
-                        break;
-                    }
-                    catch (Exception e)
-                    {
-                        closeInternal();
-                        if (!iter.hasNext())
-                        {
-                            lastException = new IOException(e);
-                            break outer;
-                        }
+                    if(client!=null){
+                               try
+                           {
+                               client.batch_mutate(batch, consistencyLevel);
+                               break;
+                           }
+                           catch (Exception e)
+                           {
+                               e.printStackTrace();
+                               closeInternal();
+                               if (!iter.hasNext())
+                               {
+                                   lastException = new IOException(e);
+                                   break outer;
+                               }
+                           }
                     }
-
                     // attempt to connect to a different endpoint
                     try
                     {)

> Null pointer in cassandra.hadoop.ColumnFamilyRecoderWriter
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-8581
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8581
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Hadoop
>            Reporter: xiangdong Huang
>            Assignee: Brandon Williams
>              Labels: hadoop
>             Fix For: 2.1.4
>
>         Attachments: 屏幕快照 2015-01-08 下午7.59.29.png, 屏幕快照 2015-01-08 下午8.01.15.png, 屏幕快照 2015-01-08 下午8.07.23.png
>
>
> When I run examples/hadoop_word_count. I find that ReducerToFilesystem is correct but when I use ReducerToCassandra, the program will call loadYaml().
> The reason is that the program catch a exception at line 196 of ColumnFamilyRecoderWriter.java. 
> Then it check why the exception occur, then it loadYaml to check if the disk is broken...
> However, the exception is NullPointerException. because the client is not initialized.
>  
> So we need a check to judge whether the client is null. 
> (
> The exception, original code and fixed code are in the attachments.
> )



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)