[ https://issues.apache.org/jira/browse/CASSANDRA-9705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14635504#comment-14635504 ]
Aleksey Yeschenko commented on CASSANDRA-9705: ---------------------------------------------- Fill disclosure: the patch set is very sizable, so this is not a complete thorough review - merely an overeview answering the question 'can we merge this into trunk as is, and finish the review afterwards?'. Broken: 1. {{ClusteringComponent.compareComponent()}} is broken for v1 == v2 == null (the first ternary is wrong). We need tests for this. Looks fishy: 2. {{RangeTombstoneBoundaryMarker}} {{createCorrespondingCloseMarker()}} and {{createCorrespondingOpenMarker()}} have swapped their behavior in this patch set. I'm assuming that this was intentional, but if so, it at least warrants a comment Unused fields and method arguments that are confusing (some not new to this patch set). Most of these, if not all, are benign, but some wasted some time to figure out: 3. {{UnfilteredDeserializer.OldFormatDeserializer.nextFlags}} is unused 4. {{MemtableAllocator.SubAllocator}} fields {{owns}} and {{reclaiming}} are unused 5. {{BitTableWriter.StatsCollector.collectStatsOn()}} is unused (but turns out to be benign) 6. {{SerializationHelper.endOfComplexColumn()}} method has an unused {{column}} argument Nits: 7. {{PartitionUpdate.CounterMark}} class should be static Nomenclature is arguable, and there is plenty of minor nits that I won't list here (but would urge Sylvain to go through each file in IDEA and pay attention to the inspections). Once cassci is happy (which is to say, once it shows that these changes don't break anything new), I'm fine with committing it to trunk. Overall it's a welcome simplification that should fix and make a lot of things easier (including Tyler's backward compat work and Sam's 2i work). > Simplify some of 8099's concrete implementations > ------------------------------------------------ > > Key: CASSANDRA-9705 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9705 > Project: Cassandra > Issue Type: Sub-task > Reporter: Sylvain Lebresne > Assignee: Sylvain Lebresne > Fix For: 3.0 beta 1 > > > As mentioned in the ticket comments, some of the concrete implementations > (for Cell, Row, Clustering, PartitionUpdate, ...) of the initial patch for > CASSANDRA-8099 are more complex than they should be (the use of flyweight is > typically probably ill-fitted), which probably has performance consequence. > This ticket is to track the refactoring/simplifying those implementation > (mainly by removing the use of flyweights and simplifying accordingly). -- This message was sent by Atlassian JIRA (v6.3.4#6332)