[
https://issues.apache.org/jira/browse/GORA-419?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gerhard Gossen updated GORA-419:
--------------------------------
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
{code}
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
{code}
As a result, the query is not restricted to any field and the *entire row is
deleted*.
was:
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
{code}
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
{code}
Priority: Critical (was: Major)
Environment:
Gora 0.5
Accumulo 1.5.1
Zookeeper 3.4.6
Hadoop 1.2.1
Affects Version/s: 0.5
Flags: Patch
Summary: AccumuloStore.put deletes entire row when updating
map/array field (was: putMap and putArray use column instead of field name to
deleteByQuery)
> AccumuloStore.put deletes entire row when updating map/array field
> ------------------------------------------------------------------
>
> Key: GORA-419
> URL: https://issues.apache.org/jira/browse/GORA-419
> Project: Apache Gora
> Issue Type: Bug
> Components: gora-accumulo
> Affects Versions: 0.5, 0.6
> Environment: Gora 0.5
> Accumulo 1.5.1
> Zookeeper 3.4.6
> Hadoop 1.2.1
> Reporter: Gerhard Gossen
> Priority: Critical
>
> 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
> {code}
> 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
> {code}
> As a result, the query is not restricted to any field and the *entire row is
> deleted*.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)