Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
0.5, 0.6
-
None
-
Gora 0.5
Accumulo 1.5.1
Zookeeper 3.4.6
Hadoop 1.2.1
-
Patch
Description
In AccumuloStore.put(k, v) fields of type MAP or ARRAY are cleared first before they are set to the new value. This is done in the methods putMap/putArray using a call to deleteByQuery(q). The name for fields to be deleted is taken from the current column. However, deleteByQuery tries to translate the field names of the query to column names again, which fails with a log message like
2015-04-13 13:43:35.084 ERROR 16733 --- [ool-46-thread-1] o.a.gora.accumulo.store.AccumuloStore : Mapping not found for field: ol 2015-04-13 13:43:35.104 ERROR 16733 --- [ool-46-thread-1] o.a.gora.accumulo.store.AccumuloStore : Mapping not found for field: mk 2015-04-13 13:43:35.115 ERROR 16733 --- [ool-46-thread-1] o.a.gora.accumulo.store.AccumuloStore : Mapping not found for field: mtdt
As a result, the query is not restricted to any field and the entire row is deleted.