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; } }