[jira] [Updated] (CASSANDRA-10438) Overwrites of rows in memtable produce incorrect deltas for indexing

2015-12-04 Thread Sam Tunnicliffe (JIRA)

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

Sam Tunnicliffe updated CASSANDRA-10438:

Component/s: CQL

> Overwrites of rows in memtable produce incorrect deltas for indexing
> 
>
> Key: CASSANDRA-10438
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10438
> Project: Cassandra
>  Issue Type: Improvement
>  Components: CQL, Local Write-Read Paths
>Reporter: Sam Tunnicliffe
>Assignee: Sam Tunnicliffe
> Fix For: 3.0.0 rc2
>
>
> When a row in the memtable is updated, the delta is supplied to any 
> registered indexer. This consists of two {{Row}} objects, representing the 
> old and new data in the memtable. As per its javadoc, the contract of 
> {{Index.Indexer::updateRow}} is that these old & new rows contain only the 
> changed columns, so any column which was not affected by the update will 
> appear in neither the new nor old row. The {{RowDiffListener::onCell}} method 
> in {{SecondaryIndexManager.WriteTimeTransaction::onUpdated}} which produces 
> these deltas uses a reference equality check, where it should be checking 
> object equality. This results in unchanged, prexisting cells appearing in the 
> {{toInsert}} row.



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


[jira] [Updated] (CASSANDRA-10438) Overwrites of rows in memtable produce incorrect deltas for indexing

2015-12-04 Thread Sam Tunnicliffe (JIRA)

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

Sam Tunnicliffe updated CASSANDRA-10438:

Component/s: Local Write-Read Paths

> Overwrites of rows in memtable produce incorrect deltas for indexing
> 
>
> Key: CASSANDRA-10438
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10438
> Project: Cassandra
>  Issue Type: Improvement
>  Components: CQL, Local Write-Read Paths
>Reporter: Sam Tunnicliffe
>Assignee: Sam Tunnicliffe
> Fix For: 3.0.0 rc2
>
>
> When a row in the memtable is updated, the delta is supplied to any 
> registered indexer. This consists of two {{Row}} objects, representing the 
> old and new data in the memtable. As per its javadoc, the contract of 
> {{Index.Indexer::updateRow}} is that these old & new rows contain only the 
> changed columns, so any column which was not affected by the update will 
> appear in neither the new nor old row. The {{RowDiffListener::onCell}} method 
> in {{SecondaryIndexManager.WriteTimeTransaction::onUpdated}} which produces 
> these deltas uses a reference equality check, where it should be checking 
> object equality. This results in unchanged, prexisting cells appearing in the 
> {{toInsert}} row.



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


[jira] [Updated] (CASSANDRA-10438) Overwrites of rows in memtable produce incorrect deltas for indexing

2015-10-06 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg updated CASSANDRA-10438:
---
Reviewer: Ariel Weisberg

> Overwrites of rows in memtable produce incorrect deltas for indexing
> 
>
> Key: CASSANDRA-10438
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10438
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Sam Tunnicliffe
>Assignee: Sam Tunnicliffe
> Fix For: 3.0.0 rc2
>
>
> When a row in the memtable is updated, the delta is supplied to any 
> registered indexer. This consists of two {{Row}} objects, representing the 
> old and new data in the memtable. As per its javadoc, the contract of 
> {{Index.Indexer::updateRow}} is that these old & new rows contain only the 
> changed columns, so any column which was not affected by the update will 
> appear in neither the new nor old row. The {{RowDiffListener::onCell}} method 
> in {{SecondaryIndexManager.WriteTimeTransaction::onUpdated}} which produces 
> these deltas uses a reference equality check, where it should be checking 
> object equality. This results in unchanged, prexisting cells appearing in the 
> {{toInsert}} row.



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