[4/4] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2015-12-16 Thread aleksey
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-2.2
Commit: 57d558fc1ef8117c41567541b967e2b782d04a50
Parents: de55c39 124f1bd
Author: Aleksey Yeschenko 
Authored: Tue Dec 15 21:37:09 2015 +
Committer: Aleksey Yeschenko 
Committed: Tue Dec 15 21:37:09 2015 +

--
 CHANGES.txt|   4 +
 bin/cqlsh.py   | 329 ++-
 pylib/cqlshlib/copyutil.py | 912 ++--
 pylib/cqlshlib/util.py |  19 +
 4 files changed, 843 insertions(+), 421 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/57d558fc/CHANGES.txt
--
diff --cc CHANGES.txt
index c9074fc,90f1bca..c969a4d
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,36 -1,15 +1,40 @@@
 -2.1.13
 +2.2.5
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 +Merged from 2.1:
+  * (cqlsh) further optimise COPY FROM (CASSANDRA-9302)
   * Allow CREATE TABLE WITH ID (CASSANDRA-9179)
   * Make Stress compiles within eclipse (CASSANDRA-10807)
   * Cassandra Daemon should print JVM arguments (CASSANDRA-10764)
   * Allow cancellation of index summary redistribution (CASSANDRA-8805)
+  * sstableloader will fail if there are collections in the schema tables 
(CASSANDRA-10700)
+  * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
   * Fix Stress profile parsing on Windows (CASSANDRA-10808)
  
+ 
 -2.1.12
 +2.2.4
 + * Show CQL help in cqlsh in web browser (CASSANDRA-7225)
 + * Serialize on disk the proper SSTable compression ratio (CASSANDRA-10775)
 + * Reject index queries while the index is building (CASSANDRA-8505)
 + * CQL.textile syntax incorrectly includes optional keyspace for aggregate 
SFUNC and FINALFUNC (CASSANDRA-10747)
 + * Fix JSON update with prepared statements (CASSANDRA-10631)
 + * Don't do anticompaction after subrange repair (CASSANDRA-10422)
 + * Fix SimpleDateType type compatibility (CASSANDRA-10027)
 + * (Hadoop) fix splits calculation (CASSANDRA-10640)
 + * (Hadoop) ensure that Cluster instances are always closed (CASSANDRA-10058)
 + * (cqlsh) show partial trace if incomplete after max_trace_wait 
(CASSANDRA-7645)
 + * Use most up-to-date version of schema for system tables (CASSANDRA-10652)
 + * Deprecate memory_allocator in cassandra.yaml (CASSANDRA-10581,10628)
 + * Expose phi values from failure detector via JMX and tweak debug
 +   and trace logging (CASSANDRA-9526)
 + * Fix RangeNamesQueryPager (CASSANDRA-10509)
 + * Deprecate Pig support (CASSANDRA-10542)
 + * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
 + * Fix IllegalArgumentException in DataOutputBuffer.reallocate for large 
buffers (CASSANDRA-10592)
 +Merged from 2.1:
   * Fix incremental repair hang when replica is down (CASSANDRA-10288)
   * Avoid writing range tombstones after END_OF_ROW marker (CASSANDRA-10791)
   * Optimize the way we check if a token is repaired in anticompaction 
(CASSANDRA-10768)



[4/4] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2015-11-18 Thread tylerhobbs
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-2.2
Commit: d2f243ee5c656eb51053e553d7371802255dfc54
Parents: d09b6c6 1b629c1
Author: Tyler Hobbs 
Authored: Wed Nov 18 18:25:18 2015 -0600
Committer: Tyler Hobbs 
Committed: Wed Nov 18 18:25:18 2015 -0600

--
 CHANGES.txt  |   1 +
 bin/cqlsh.py | 153 +++--
 pylib/cqlshlib/copy.py   | 647 ++
 pylib/cqlshlib/displaying.py |  10 +
 pylib/cqlshlib/formatting.py |  32 +-
 5 files changed, 725 insertions(+), 118 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d2f243ee/CHANGES.txt
--
diff --cc CHANGES.txt
index c3dacc2,42dcf3e..4e19b23
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 -2.1.12
 - * (cqlsh) Improve COPY TO performance and error handling (CASSANDRA-9304)
 +2.2.4
 + * Don't do anticompaction after subrange repair (CASSANDRA-10422)
 + * Fix SimpleDateType type compatibility (CASSANDRA-10027)
 + * (Hadoop) fix splits calculation (CASSANDRA-10640)
 + * (Hadoop) ensure that Cluster instances are always closed (CASSANDRA-10058)
 + * (cqlsh) show partial trace if incomplete after max_trace_wait 
(CASSANDRA-7645)
 + * Use most up-to-date version of schema for system tables (CASSANDRA-10652)
 + * Deprecate memory_allocator in cassandra.yaml (CASSANDRA-10581,10628)
 + * Expose phi values from failure detector via JMX and tweak debug
 +   and trace logging (CASSANDRA-9526)
 + * Fix RangeNamesQueryPager (CASSANDRA-10509)
 + * Deprecate Pig support (CASSANDRA-10542)
 + * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
 +Merged from 2.1:
++ * * (cqlsh) Improve COPY TO performance and error handling (CASSANDRA-9304)
   * Don't remove level info when running upgradesstables (CASSANDRA-10692)
   * Create compression chunk for sending file only (CASSANDRA-10680)
   * Make buffered read size configurable (CASSANDRA-10249)



[4/4] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2015-11-06 Thread aleksey
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-2.2
Commit: cb429063c1a4ec2b8d48d6e4e6e8a2f524033df7
Parents: edca4dc 2548365
Author: Aleksey Yeschenko 
Authored: Fri Nov 6 17:56:33 2015 +
Committer: Aleksey Yeschenko 
Committed: Fri Nov 6 17:56:33 2015 +

--
 CHANGES.txt   |   2 +-
 bin/cqlsh.py  |   6 +++---
 ...driver-internal-only-3.0.0a2.post0-95c6008.zip | Bin 233564 -> 0 bytes
 ...driver-internal-only-3.0.0a3.post0-c535450.zip | Bin 0 -> 233938 bytes
 pylib/cqlshlib/tracing.py |   8 
 5 files changed, 8 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/cb429063/CHANGES.txt
--
diff --cc CHANGES.txt
index c33b8c9,7771969..f47e1dd
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,12 -1,4 +1,13 @@@
 -2.1.12
 +2.2.4
++ * (cqlsh) show partial trace if incomplete after max_trace_wait 
(CASSANDRA-7645)
 + * Use most up-to-date version of schema for system tables (CASSANDRA-10652)
 + * Deprecate memory_allocator in cassandra.yaml (CASSANDRA-10581,10628)
 + * Expose phi values from failure detector via JMX and tweak debug
 +   and trace logging (CASSANDRA-9526)
 + * Fix RangeNamesQueryPager (CASSANDRA-10509)
 + * Deprecate Pig support (CASSANDRA-10542)
 + * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
 +Merged from 2.1:
   * (cqlsh) fix COPY using wrong variable name for time_format 
(CASSANDRA-10633)
   * Do not run SizeEstimatesRecorder if a node is not a member of the ring 
(CASSANDRA-9912)
   * Improve handling of dead nodes in gossip (CASSANDRA-10298)



[4/4] cassandra git commit: Merge branch cassandra-2.1 into cassandra-2.2

2015-09-17 Thread blerer
Merge branch cassandra-2.1 into cassandra-2.2


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

Branch: refs/heads/cassandra-2.2
Commit: eecfb07d46f4bd2e89e6fff748519413e286a1fe
Parents: 6dcc89f 4e3555c
Author: blerer 
Authored: Thu Sep 17 22:12:50 2015 +0200
Committer: blerer 
Committed: Thu Sep 17 22:13:49 2015 +0200

--
 NEWS.txt|  9 +++-
 bin/cqlsh.py|  2 +-
 doc/cql3/CQL.textile| 10 +++-
 pylib/cqlshlib/cql3handling.py  |  2 +-
 src/java/org/apache/cassandra/cql3/Cql.g|  2 +-
 .../apache/cassandra/cql3/QueryProcessor.java   |  2 +-
 .../validation/operations/TruncateTest.java | 48 
 7 files changed, 68 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/eecfb07d/NEWS.txt
--
diff --cc NEWS.txt
index 49744cf,6ec24ef..78d90f6
--- a/NEWS.txt
+++ b/NEWS.txt
@@@ -13,137 -13,14 +13,144 @@@ restore snapshots created with the prev
  'sstableloader' tool. You can upgrade the file format of your snapshots
  using the provided 'sstableupgrade' tool.
  
- 
 +2.2.2
 +=
 +
 +Upgrading
 +-
 +- Version 1 and 2 of the native protocol are now deprecated and support
 +  will be removed in Cassandra 3.0. You are encouraged to upgrade to a
 +  client driver using version 3 of the native protocol.
 +
 +Changed Defaults
 +
 +   - commitlog_total_space_in_mb will use the smaller of 8192, and 1/4
 + of the total space of the commitlog volume. (Before: always used
 + 8192)
 +   - Incremental repair is on by default since 2.2.0, run full repairs by
 + providing the '-full' parameter to nodetool repair.
 +   - Parallel repairs are the default since 2.2.0, run sequential repairs
 + by providing the '-seq' parameter to nodetool repair.
 +
 +New features
 +
 +   - Custom QueryHandlers can retrieve the column specifications for the bound
 + variables from QueryOptions by using the hasColumnSpecifications()
 + and getColumnSpecifications() methods.
 +
 +
 +2.2.1
 +=
 +
 +Upgrading
 +-
 +- Nothing specific to this release, but please see 2.2 if you are 
upgrading
 +  from a previous version.
 +
 +New features
 +
 +   - COUNT(*) and COUNT(1) can be selected with other columns or functions
 +
 +
 +2.2
 +===
 +
 +New features
 +
 +   - Very large batches will now be rejected (defaults to 50kb). This
 + can be customized by modifying batch_size_fail_threshold_in_kb.
 +   - Selecting columns,scalar functions, UDT fields, writetime or ttl together
 + with aggregated is now possible. The value returned for the columns,
 + scalar functions, UDT fields, writetime and ttl will be the ones for
 + the first row matching the query.
 +   - Windows is now a supported platform. Powershell execution for startup 
scripts
 + is highly recommended and can be enabled via an administrator 
command-prompt
 + with: 'powershell set-executionpolicy unrestricted'
 +   - It is now possible to do major compactions when using leveled compaction.
 + Doing that will take all sstables and compact them out in levels. The
 + levels will be non overlapping so doing this will still not be something
 + you want to do very often since it might cause more compactions for a 
while.
 + It is also possible to split output when doing a major compaction with
 + STCS - files will be split in sizes 50%, 25%, 12.5% etc of the total 
size.
 + This might be a bit better than old major compactions which created one 
big
 + file on disk.
 +   - A new tool has been added bin/sstableverify that checks for errors/bitrot
 + in all sstables.  Unlike scrub, this is a non-invasive tool.
 +   - Authentication & Authorization APIs have been updated to introduce
 + roles. Roles and Permissions granted to them are inherited, supporting
 + role based access control. The role concept supercedes that of users
 + and CQL constructs such as CREATE USER are deprecated but retained for
 + compatibility. The requirement to explicitly create Roles in Cassandra
 + even when auth is handled by an external system has been removed, so
 + authentication & authorization can be delegated to such systems in their
 + entirety.
 +   - In addition to the above, Roles are also first class resources and can 
be the
 + subject of permissions. Users 

[4/4] cassandra git commit: Merge branch cassandra-2.1 into cassandra-2.2

2015-08-28 Thread blerer
Merge branch cassandra-2.1 into cassandra-2.2


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

Branch: refs/heads/cassandra-2.2
Commit: 5fb4e58bc9d85f8248852982d4ef7a216967ade7
Parents: 01a11fd 264cf36
Author: blerer benjamin.le...@datastax.com
Authored: Fri Aug 28 16:03:16 2015 +0200
Committer: blerer benjamin.le...@datastax.com
Committed: Fri Aug 28 16:07:49 2015 +0200

--
 src/java/org/apache/cassandra/tools/NodeTool.java| 8 
 src/java/org/apache/cassandra/tools/nodetool/Status.java | 3 ++-
 2 files changed, 6 insertions(+), 5 deletions(-)
--




[4/4] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2015-08-09 Thread blerer
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-2.2
Commit: 6d0cf7dbd2221c13434958e9e0d5e418f58fe23f
Parents: 0b99d33 c8d163f
Author: blerer benjamin.le...@datastax.com
Authored: Sun Aug 9 22:11:14 2015 +0200
Committer: blerer benjamin.le...@datastax.com
Committed: Sun Aug 9 22:12:16 2015 +0200

--
 .../restrictions/MultiColumnRestriction.java| 37 +++
 .../restrictions/SingleColumnRestriction.java   | 68 ++--
 .../SelectMultiColumnRelationTest.java  | 45 +
 .../SelectSingleColumnRelationTest.java | 28 
 4 files changed, 149 insertions(+), 29 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6d0cf7db/src/java/org/apache/cassandra/cql3/restrictions/MultiColumnRestriction.java
--
diff --cc 
src/java/org/apache/cassandra/cql3/restrictions/MultiColumnRestriction.java
index c4bce4c,000..84a3952
mode 100644,00..100644
--- 
a/src/java/org/apache/cassandra/cql3/restrictions/MultiColumnRestriction.java
+++ 
b/src/java/org/apache/cassandra/cql3/restrictions/MultiColumnRestriction.java
@@@ -1,448 -1,0 +1,461 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one
 + * or more contributor license agreements.  See the NOTICE file
 + * distributed with this work for additional information
 + * regarding copyright ownership.  The ASF licenses this file
 + * to you under the Apache License, Version 2.0 (the
 + * License); you may not use this file except in compliance
 + * with the License.  You may obtain a copy of the License at
 + *
 + * http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an AS IS BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package org.apache.cassandra.cql3.restrictions;
 +
 +import java.nio.ByteBuffer;
 +import java.util.*;
 +
++import org.apache.cassandra.cql3.Term.Terminal;
++
++import org.apache.cassandra.cql3.Term;
 +import org.apache.cassandra.config.ColumnDefinition;
 +import org.apache.cassandra.cql3.*;
 +import org.apache.cassandra.cql3.functions.Function;
 +import org.apache.cassandra.cql3.statements.Bound;
 +import org.apache.cassandra.db.IndexExpression;
 +import org.apache.cassandra.db.composites.CompositesBuilder;
 +import org.apache.cassandra.db.index.SecondaryIndex;
 +import org.apache.cassandra.db.index.SecondaryIndexManager;
 +import org.apache.cassandra.exceptions.InvalidRequestException;
- 
 +import static 
org.apache.cassandra.cql3.statements.RequestValidations.checkFalse;
 +import static 
org.apache.cassandra.cql3.statements.RequestValidations.checkNotNull;
 +import static 
org.apache.cassandra.cql3.statements.RequestValidations.checkTrue;
 +import static 
org.apache.cassandra.cql3.statements.RequestValidations.invalidRequest;
 +
 +public abstract class MultiColumnRestriction extends AbstractRestriction
 +{
 +/**
 + * The columns to which the restriction apply.
 + */
 +protected final ListColumnDefinition columnDefs;
 +
 +public MultiColumnRestriction(ListColumnDefinition columnDefs)
 +{
 +this.columnDefs = columnDefs;
 +}
 +
 +@Override
 +public boolean isMultiColumn()
 +{
 +return true;
 +}
 +
 +@Override
 +public ColumnDefinition getFirstColumn()
 +{
 +return columnDefs.get(0);
 +}
 +
 +@Override
 +public ColumnDefinition getLastColumn()
 +{
 +return columnDefs.get(columnDefs.size() - 1);
 +}
 +
 +@Override
 +public CollectionColumnDefinition getColumnDefs()
 +{
 +return columnDefs;
 +}
 +
 +@Override
 +public final Restriction mergeWith(Restriction otherRestriction) throws 
InvalidRequestException
 +{
- checkTrue(otherRestriction.isMultiColumn(),
-   Mixing single column relations and multi column 
relations on clustering columns is not allowed);
- return doMergeWith(otherRestriction);
++// We want to allow query like: (b,c)  (?, ?) AND b  ?
++if (!otherRestriction.isMultiColumn()
++ ((SingleColumnRestriction) 
otherRestriction).canBeConvertedToMultiColumnRestriction())
++{
++return doMergeWith(((SingleColumnRestriction) 

[4/4] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2015-07-13 Thread marcuse
Merge branch 'cassandra-2.1' into cassandra-2.2

Conflicts:
CHANGES.txt
src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
src/java/org/apache/cassandra/service/CassandraDaemon.java


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

Branch: refs/heads/cassandra-2.2
Commit: 5a090cc5a13d01a22776378b65116868359b8f8c
Parents: 01f3d0a 1eccced
Author: Marcus Eriksson marc...@apache.org
Authored: Mon Jul 13 19:22:55 2015 +0200
Committer: Marcus Eriksson marc...@apache.org
Committed: Mon Jul 13 19:23:41 2015 +0200

--
 CHANGES.txt |  1 +
 conf/cassandra.yaml |  9 +--
 .../io/sstable/format/SSTableReader.java| 71 
 .../org/apache/cassandra/io/util/FileUtils.java | 23 +++
 .../apache/cassandra/io/util/SegmentedFile.java | 13 +++-
 .../cassandra/service/CassandraDaemon.java  |  9 +++
 .../cassandra/service/StorageService.java   |  7 ++
 .../cassandra/utils/JVMStabilityInspector.java  | 17 -
 8 files changed, 128 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a090cc5/CHANGES.txt
--
diff --cc CHANGES.txt
index 03458b2,5f4fdf2..3046ceb
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,7 -1,5 +1,8 @@@
 -2.1.9
 +2.2.0-rc3
 + * sum() and avg() functions missing for smallint and tinyint types 
(CASSANDRA-9671)
 + * Revert CASSANDRA-9542 (allow native functions in UDA) (CASSANDRA-9771)
 +Merged from 2.1:
+  * Handle corrupt files on startup (CASSANDRA-9686)
   * Fix clientutil jar and tests (CASSANDRA-9760)
   * (cqlsh) Allow the SSL protocol version to be specified through the
 config file or environment variables (CASSANDRA-9544)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a090cc5/conf/cassandra.yaml
--



[4/4] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2015-06-29 Thread slebresne
Merge branch 'cassandra-2.1' into cassandra-2.2

Conflicts:
CHANGES.txt


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

Branch: refs/heads/cassandra-2.2
Commit: 75e85b961a9d6cb04223358cb52de3c675ab090c
Parents: 02a7c34 fe65707
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Mon Jun 29 09:30:10 2015 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Mon Jun 29 09:30:10 2015 +0200

--
 CHANGES.txt  |  1 +
 .../cql3/statements/ModificationStatement.java   |  4 +---
 .../apache/cassandra/service/ClientState.java| 19 ++-
 .../apache/cassandra/service/StorageProxy.java   | 19 +++
 src/java/org/apache/cassandra/utils/UUIDGen.java |  7 +++
 5 files changed, 26 insertions(+), 24 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/75e85b96/CHANGES.txt
--
diff --cc CHANGES.txt
index 8f4f752,7aee45b..e58d524
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,29 -1,11 +1,30 @@@
 -2.1.8
 +2.2
 + * Allow JMX over SSL directly from nodetool (CASSANDRA-9090)
 + * Update cqlsh for UDFs (CASSANDRA-7556)
 + * Change Windows kernel default timer resolution (CASSANDRA-9634)
 + * Deprected sstable2json and json2sstable (CASSANDRA-9618)
 + * Allow native functions in user-defined aggregates (CASSANDRA-9542)
 + * Don't repair system_distributed by default (CASSANDRA-9621)
 + * Fix mixing min, max, and count aggregates for blob type (CASSANRA-9622)
 + * Rename class for DATE type in Java driver (CASSANDRA-9563)
 + * Duplicate compilation of UDFs on coordinator (CASSANDRA-9475)
 + * Fix connection leak in CqlRecordWriter (CASSANDRA-9576)
 + * Mlockall before opening system sstables  remove boot_without_jna option 
(CASSANDRA-9573)
 + * Add functions to convert timeuuid to date or time, deprecate dateOf and 
unixTimestampOf (CASSANDRA-9229)
 + * Make sure we cancel non-compacting sstables from LifecycleTransaction 
(CASSANDRA-9566)
 + * Fix deprecated repair JMX API (CASSANDRA-9570)
 + * Add logback metrics (CASSANDRA-9378)
 + * Update and refactor ant test/test-compression to run the tests in parallel 
(CASSANDRA-9583)
 +Merged from 2.1:
+  * Avoids ballot clash in Paxos (CASSANDRA-9649)
   * Fix IndexOutOfBoundsException when inserting tuple with too many
 elements using the string literal notation (CASSANDRA-9559)
 - * Allow JMX over SSL directly from nodetool (CASSANDRA-9090)
 - * Fix incorrect result for IN queries where column not found (CASSANDRA-9540)
   * Enable describe on indices (CASSANDRA-7814)
 + * Fix incorrect result for IN queries where column not found (CASSANDRA-9540)
   * ColumnFamilyStore.selectAndReference may block during compaction 
(CASSANDRA-9637)
 + * Fix bug in cardinality check when compacting (CASSANDRA-9580)
 + * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour 
(CASSANDRA-9549)
 + * Make rebuild only run one at a time (CASSANDRA-9119)
  Merged from 2.0
   * Improve trace messages for RR (CASSANDRA-9479)
   * Fix suboptimal secondary index selection when restricted

http://git-wip-us.apache.org/repos/asf/cassandra/blob/75e85b96/src/java/org/apache/cassandra/cql3/statements/ModificationStatement.java
--
diff --cc 
src/java/org/apache/cassandra/cql3/statements/ModificationStatement.java
index aac94be,3838909..888cdb7
--- a/src/java/org/apache/cassandra/cql3/statements/ModificationStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/ModificationStatement.java
@@@ -645,10 -653,9 +645,8 @@@ public abstract class ModificationState
  }
  
  static ColumnFamily casInternal(CQL3CasRequest request, QueryState state)
 -throws InvalidRequestException
  {
- long millis = state.getTimestamp() / 1000;
- long nanos = ((state.getTimestamp() - (millis * 1000)) + 1) * 10;
- UUID ballot = UUIDGen.getTimeUUID(millis, nanos);
+ UUID ballot = UUIDGen.getTimeUUIDFromMicros(state.getTimestamp());
  CFMetaData metadata = 
Schema.instance.getCFMetaData(request.cfm.ksName, request.cfm.cfName);
  
  ReadCommand readCommand = ReadCommand.create(request.cfm.ksName, 
request.key, request.cfm.cfName, request.now, request.readFilter());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/75e85b96/src/java/org/apache/cassandra/service/ClientState.java
--
diff --cc src/java/org/apache/cassandra/service/ClientState.java
index b9e89f5,23eec73..a8e13d1
---