Updated Branches:
  refs/heads/cassandra-1.2 9d0571acf -> 88b9d9516

Merge branch 'cassandra-1.1' into cassandra-1.2

Conflicts:
        src/java/org/apache/cassandra/db/SliceFromReadCommand.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/88b9d951
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/88b9d951
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/88b9d951

Branch: refs/heads/cassandra-1.2
Commit: 88b9d95165b5f83896be740bcfff260ff8e2009d
Parents: 9d0571a 05709f7
Author: Sylvain Lebresne <sylv...@datastax.com>
Authored: Tue Feb 26 11:02:08 2013 +0100
Committer: Sylvain Lebresne <sylv...@datastax.com>
Committed: Tue Feb 26 11:02:08 2013 +0100

----------------------------------------------------------------------
 CHANGES.txt                                        |    6 +-----
 .../apache/cassandra/db/SliceFromReadCommand.java  |    3 +--
 2 files changed, 2 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/88b9d951/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 42a6e6d,ff820fd..d4a74c0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,93 -1,9 +1,89 @@@
 -1.1.11
 - * cli: Add JMX authentication support (CASSANDRA-5080)
 +1.2.3
 +Merged from 1.1:
- =======
   * nodetool: ability to repair specific range (CASSANDRA-5280)
+  * Fix possible assertion triggered in SliceFromReadCommand (CASSANDRA-5284)
  
 +1.2.2
 + * fix potential for multiple concurrent compactions of the same sstables
 +   (CASSANDRA-5256)
 + * avoid no-op caching of byte[] on commitlog append (CASSANDRA-5199)
 + * fix symlinks under data dir not working (CASSANDRA-5185)
 + * fix bug in compact storage metadata handling (CASSANDRA-5189)
 + * Validate login for USE queries (CASSANDRA-5207)
 + * cli: remove default username and password (CASSANDRA-5208)
 + * configure populate_io_cache_on_flush per-CF (CASSANDRA-4694)
 + * allow configuration of internode socket buffer (CASSANDRA-3378)
 + * Make sstable directory picking blacklist-aware again (CASSANDRA-5193)
 + * Correctly expire gossip states for edge cases (CASSANDRA-5216)
 + * Improve handling of directory creation failures (CASSANDRA-5196)
 + * Expose secondary indicies to the rest of nodetool (CASSANDRA-4464)
 + * Binary protocol: avoid sending notification for 0.0.0.0 (CASSANDRA-5227)
 + * add UseCondCardMark XX jvm settings on jdk 1.7 (CASSANDRA-4366)
 + * CQL3 refactor to allow conversion function (CASSANDRA-5226)
 + * Fix drop of sstables in some circumstance (CASSANDRA-5232)
 + * Implement caching of authorization results (CASSANDRA-4295)
 + * Add support for LZ4 compression (CASSANDRA-5038)
 + * Fix missing columns in wide rows queries (CASSANDRA-5225)
 + * Simplify auth setup and make system_auth ks alterable (CASSANDRA-5112)
 + * Stop compactions from hanging during bootstrap (CASSANDRA-5244)
 + * fix compressed streaming sending extra chunk (CASSANDRA-5105)
 + * Add CQL3-based implementations of IAuthenticator and IAuthorizer
 +   (CASSANDRA-4898)
 + * Fix timestamp-based tomstone removal logic (CASSANDRA-5248)
 + * cli: Add JMX authentication support (CASSANDRA-5080)
 + * Fix forceFlush behavior (CASSANDRA-5241)
 + * cqlsh: Add username autocompletion (CASSANDRA-5231)
 + * Fix CQL3 composite partition key error (CASSANDRA-5240)
 + * Allow IN clause on last clustering key (CASSANDRA-5230)
 +
 +
 +1.2.1
 + * stream undelivered hints on decommission (CASSANDRA-5128)
 + * GossipingPropertyFileSnitch loads saved dc/rack info if needed 
(CASSANDRA-5133)
 + * drain should flush system CFs too (CASSANDRA-4446)
 + * add inter_dc_tcp_nodelay setting (CASSANDRA-5148)
 + * re-allow wrapping ranges for start_token/end_token range pairing 
(CASSANDRA-5106)
 + * fix validation compaction of empty rows (CASSADRA-5136)
 + * nodetool methods to enable/disable hint storage/delivery (CASSANDRA-4750)
 + * disallow bloom filter false positive chance of 0 (CASSANDRA-5013)
 + * add threadpool size adjustment methods to JMXEnabledThreadPoolExecutor and 
 +   CompactionManagerMBean (CASSANDRA-5044)
 + * fix hinting for dropped local writes (CASSANDRA-4753)
 + * off-heap cache doesn't need mutable column container (CASSANDRA-5057)
 + * apply disk_failure_policy to bad disks on initial directory creation 
 +   (CASSANDRA-4847)
 + * Optimize name-based queries to use ArrayBackedSortedColumns 
(CASSANDRA-5043)
 + * Fall back to old manifest if most recent is unparseable (CASSANDRA-5041)
 + * pool [Compressed]RandomAccessReader objects on the partitioned read path
 +   (CASSANDRA-4942)
 + * Add debug logging to list filenames processed by Directories.migrateFile 
 +   method (CASSANDRA-4939)
 + * Expose black-listed directories via JMX (CASSANDRA-4848)
 + * Log compaction merge counts (CASSANDRA-4894)
 + * Minimize byte array allocation by AbstractData{Input,Output} 
(CASSANDRA-5090)
 + * Add SSL support for the binary protocol (CASSANDRA-5031)
 + * Allow non-schema system ks modification for shuffle to work 
(CASSANDRA-5097)
 + * cqlsh: Add default limit to SELECT statements (CASSANDRA-4972)
 + * cqlsh: fix DESCRIBE for 1.1 cfs in CQL3 (CASSANDRA-5101)
 + * Correctly gossip with nodes >= 1.1.7 (CASSANDRA-5102)
 + * Ensure CL guarantees on digest mismatch (CASSANDRA-5113)
 + * Validate correctly selects on composite partition key (CASSANDRA-5122)
 + * Fix exception when adding collection (CASSANDRA-5117)
 + * Handle states for non-vnode clusters correctly (CASSANDRA-5127)
 + * Refuse unrecognized replication and compaction strategy options 
(CASSANDRA-4795)
 + * Pick the correct value validator in sstable2json for cql3 tables 
(CASSANDRA-5134)
 + * Validate login for describe_keyspace, describe_keyspaces and set_keyspace
 +   (CASSANDRA-5144)
 + * Fix inserting empty maps (CASSANDRA-5141)
 + * Don't remove tokens from System table for node we know (CASSANDRA-5121)
 + * fix streaming progress report for compresed files (CASSANDRA-5130)
 + * Coverage analysis for low-CL queries (CASSANDRA-4858)
 + * Stop interpreting dates as valid timeUUID value (CASSANDRA-4936)
 + * Adds E notation for floating point numbers (CASSANDRA-4927)
 + * Detect (and warn) unintentional use of the cql2 thrift methods when cql3 
was
 +   intended (CASSANDRA-5172)
 +
  
- 1.1.11
-  * nodetool: ability to repair specific range (CASSANDRA-5280)
- 
- 
  1.1.10
   * fix saved key cache not loading at startup (CASSANDRA-5166)
   * fix ConcurrentModificationException in getBootstrapSource (CASSANDRA-5170)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/88b9d951/src/java/org/apache/cassandra/db/SliceFromReadCommand.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/SliceFromReadCommand.java
index 8a08a42,6aaa71e..a9bbaf0
--- a/src/java/org/apache/cassandra/db/SliceFromReadCommand.java
+++ b/src/java/org/apache/cassandra/db/SliceFromReadCommand.java
@@@ -71,21 -70,16 +71,20 @@@ public class SliceFromReadCommand exten
      }
  
      @Override
 -    public ReadCommand maybeGenerateRetryCommand(RepairCallback handler, Row 
row)
 +    public ReadCommand maybeGenerateRetryCommand(RowDataResolver resolver, 
Row row)
      {
 -        int maxLiveColumns = handler.getMaxLiveColumns();
 -        int liveColumnsInRow = row != null ? row.getLiveColumnCount() : 0;
 +        int maxLiveColumns = resolver.getMaxLiveCount();
  
 +        int count = filter.count;
-         assert maxLiveColumns <= count;
          // We generate a retry if at least one node reply with count live 
columns but after merge we have less
          // than the total number of column we are interested in (which may be 
< count on a retry)
-         if (maxLiveColumns != count)
 -        if ((maxLiveColumns >= count) && (liveColumnsInRow < 
getOriginalRequestedCount()))
++        if (maxLiveColumns >= count)
 +            return null;
 +
 +        int liveCountInRow = row == null || row.cf == null ? 0 : 
filter.getLiveCount(row.cf);
 +        if (liveCountInRow < getOriginalRequestedCount())
          {
 -            // We asked t (= count) live columns and got l 
(=liveColumnsInRow) ones.
 +            // We asked t (= count) live columns and got l (=liveCountInRow) 
ones.
              // From that, we can estimate that on this row, for x requested
              // columns, only l/t end up live after reconciliation. So for next
              // round we want to ask x column so that x * (l/t) == t, i.e. x = 
t^2/l.

Reply via email to