Repository: gora
Updated Branches:
  refs/heads/master 68beaa7ff -> 64443cc75


GORA-348


Project: http://git-wip-us.apache.org/repos/asf/gora/repo
Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/64443cc7
Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/64443cc7
Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/64443cc7

Branch: refs/heads/master
Commit: 64443cc75f7e10ba91788c53befb0411a8c122a4
Parents: 68beaa7
Author: Renato Marroquin <renatomarroq...@public-docking-cx-1760.ethz.ch>
Authored: Wed Jun 25 19:17:32 2014 +0200
Committer: Renato Marroquin <renatomarroq...@public-docking-cx-1760.ethz.ch>
Committed: Wed Jun 25 19:17:32 2014 +0200

----------------------------------------------------------------------
 .../org/apache/gora/cassandra/store/CassandraClient.java  | 10 +++++++++-
 .../java/org/apache/gora/mapreduce/GoraRecordReader.java  |  4 +++-
 2 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/gora/blob/64443cc7/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraClient.java
----------------------------------------------------------------------
diff --git 
a/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraClient.java
 
b/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraClient.java
index 416c017..7d5ebd2 100644
--- 
a/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraClient.java
+++ 
b/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraClient.java
@@ -46,12 +46,15 @@ import 
me.prettyprint.hector.api.query.RangeSuperSlicesQuery;
 import me.prettyprint.hector.api.HConsistencyLevel;
 import me.prettyprint.hector.api.Serializer;
 
+import org.apache.avro.Schema;
+import org.apache.avro.Schema.Type;
 import org.apache.avro.generic.GenericArray;
 import org.apache.gora.cassandra.query.CassandraQuery;
 import org.apache.gora.cassandra.serializers.GoraSerializerTypeInferer;
 import org.apache.gora.mapreduce.GoraRecordReader;
 import org.apache.gora.persistency.impl.PersistentBase;
 import org.apache.gora.query.Query;
+import org.apache.gora.store.DataStore;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -444,6 +447,7 @@ public class CassandraClient<K, T extends PersistentBase> {
    */
   public Map<String, List<String>> getFamilyMap(Query<K, T> query) {
     Map<String, List<String>> map = new HashMap<String, List<String>>();
+    Schema persistentSchema = query.getDataStore().newPersistent().getSchema();
     for (String field: query.getFields()) {
       String family = this.getMappingFamily(field);
       String column = this.getMappingColumn(field);
@@ -454,6 +458,8 @@ public class CassandraClient<K, T extends PersistentBase> {
         list = new ArrayList<String>();
         map.put(family, list);
       }
+      if (persistentSchema.getField(field).schema().getType() == Type.UNION)
+        list.add(column + CassandraStore.UNION_COL_SUFIX);
       if (column != null) {
         list.add(column);
       }
@@ -480,10 +486,12 @@ public class CassandraClient<K, T extends PersistentBase> 
{
    */
   public Map<String, String> getReverseMap(Query<K, T> query) {
     Map<String, String> map = new HashMap<String, String>();
+    Schema persistentSchema = query.getDataStore().newPersistent().getSchema();
     for (String field: query.getFields()) {
       String family = this.getMappingFamily(field);
       String column = this.getMappingColumn(field);
-      
+      if (persistentSchema.getField(field).schema().getType() == Type.UNION)
+        map.put(family + ":" + column + CassandraStore.UNION_COL_SUFIX, field 
+ CassandraStore.UNION_COL_SUFIX);
       map.put(family + ":" + column, field);
     }
     

http://git-wip-us.apache.org/repos/asf/gora/blob/64443cc7/gora-core/src/main/java/org/apache/gora/mapreduce/GoraRecordReader.java
----------------------------------------------------------------------
diff --git 
a/gora-core/src/main/java/org/apache/gora/mapreduce/GoraRecordReader.java 
b/gora-core/src/main/java/org/apache/gora/mapreduce/GoraRecordReader.java
index fe0c51e..f7c1abb 100644
--- a/gora-core/src/main/java/org/apache/gora/mapreduce/GoraRecordReader.java
+++ b/gora-core/src/main/java/org/apache/gora/mapreduce/GoraRecordReader.java
@@ -119,7 +119,9 @@ public class GoraRecordReader<K, T extends PersistentBase> 
extends RecordReader<
            return this.result.next();
          }
          catch(Exception e){
-               return false;
+           LOG.error("Error reading Gora records");
+           e.printStackTrace();
+           return false;
          }
   }
 

Reply via email to