smiklosovic opened a new pull request, #4886: URL: https://github.com/apache/cassandra/pull/4886
When BTreeRow.merge reconciles an update into a row whose existing deletion shadows the update's cells, it filtered the update (incoming) side of the merge with Reconciler.retain, which records the removal via PostReconciliationFunction.delete. On the memtable write path that subtracts the shadowed cells' on-heap size from the allocator's ownership even though that incoming data was never allocated to the memtable. Under overwrite/delete churn that re-applies cells already covered by a newer row/partition deletion (e.g. repair re-streaming), the allocator's "owns" counter drifts negative and the next flush trips "AssertionError: Negative released" in MemtablePool$SubPool.released via MemtableAllocator$SubAllocator.releaseAll during discard. Filter the update (incoming) side with a non-recording variant, Reconciler.removeShadowed, and keep retain() for the existing side, whose data the memtable already owns. The filtered result is identical; only the erroneous accounting notification is dropped. This mirrors the already-correct complex-column path in ColumnData.merge. patch by Stefan Miklosovic; reviewed by Dmitry Konstantinov for CASSANDRA-21390 Assisted-By: Claude Opus 4.8 <[email protected]> Thanks for sending a pull request! Here are some tips if you're new here: * Ensure you have added or run the [appropriate tests](https://cassandra.apache.org/_/development/testing.html) for your PR. * Be sure to keep the PR description updated to reflect all changes. * Write your PR title to summarize what this PR proposes. * If possible, provide a concise example to reproduce the issue for a faster review. * Read our [contributor guidelines](https://cassandra.apache.org/_/development/index.html) * If you're making a documentation change, see our [guide to documentation contribution](https://cassandra.apache.org/_/development/documentation.html) Commit messages should follow the following format: ``` <One sentence description, usually Jira title or CHANGES.txt summary> <Optional lengthier description (context on patch)> patch by <Authors>; reviewed by <Reviewers> for CASSANDRA-##### Co-authored-by: Name1 <email1> Co-authored-by: Name2 <email2> ``` The [Cassandra Jira](https://issues.apache.org/jira/projects/CASSANDRA/issues/) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

