You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2016/09/01 07:52:47 UTC

[1/2] cassandra git commit: Cleanup uses of AlterTableStatementColumn

Repository: cassandra
Updated Branches:
  refs/heads/trunk 45f96c86e -> 5f3ad2880


Cleanup uses of AlterTableStatementColumn

patch by Sylvain Lebresne; reviewed by Dave Brosius for CASSANDRA-12567


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

Branch: refs/heads/trunk
Commit: 58abe8a808fc2d9f400c09b4a7cf96b93577bded
Parents: 8a3f0e1
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Wed Aug 31 10:28:36 2016 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Sep 1 09:50:30 2016 +0200

----------------------------------------------------------------------
 CHANGES.txt                                     |  1 +
 .../cql3/statements/AlterTableStatement.java    | 52 ++++++++------------
 .../statements/AlterTableStatementColumn.java   | 10 +++-
 3 files changed, 29 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/58abe8a8/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index a0f6055..842f207 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.10
+ * Cleanup uses of AlterTableStatementColumn (CASSANDRA-12567)
  * Tracing payload is passed through newSession(..) (CASSANDRA-11706)
  * avoid deleting non existing sstable files and improve related log messages (CASSANDRA-12261)
  * json/yaml output format for nodetool compactionhistory (CASSANDRA-12486)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/58abe8a8/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java b/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java
index 1d1cbc3..48666be 100644
--- a/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/AlterTableStatement.java
@@ -93,7 +93,6 @@ public class AlterTableStatement extends SchemaAlteringStatement
         CQL3Type.Raw dataType = null;
         boolean isStatic = false;
         CQL3Type validator = null;
-        ColumnDefinition.Raw rawColumnName = null;
 
         List<ViewDefinition> viewUpdates = null;
         Iterable<ViewDefinition> views = View.findAll(keyspace(), columnFamily());
@@ -101,21 +100,18 @@ public class AlterTableStatement extends SchemaAlteringStatement
         switch (oType)
         {
             case ADD:
+                if (cfm.isDense())
+                    throw new InvalidRequestException("Cannot add new column to a COMPACT STORAGE table");
+
                 for (AlterTableStatementColumn colData : colNameList)
                 {
-                    rawColumnName = colData.getColumnName();
-                    if (rawColumnName != null)
-                    {
-                        columnName = rawColumnName.getIdentifier(cfm);
-                        def =  cfm.getColumnDefinition(columnName);
-                        dataType = colData.getColumnType();
-                        isStatic = colData.getStaticType();
-                        validator = dataType == null ? null : dataType.prepare(keyspace());
-                    }
+                    columnName = colData.getColumnName().getIdentifier(cfm);
+                    def = cfm.getColumnDefinition(columnName);
+                    dataType = colData.getColumnType();
+                    assert dataType != null;
+                    isStatic = colData.getStaticType();
+                    validator = dataType.prepare(keyspace());
 
-                    assert columnName != null;
-                    if (cfm.isDense())
-                        throw new InvalidRequestException("Cannot add new column to a COMPACT STORAGE table");
 
                     if (isStatic)
                     {
@@ -189,16 +185,12 @@ public class AlterTableStatement extends SchemaAlteringStatement
                 break;
 
             case ALTER:
-                rawColumnName = colNameList.get(0).getColumnName();
-                if (rawColumnName != null)
-                {
-                    columnName = rawColumnName.getIdentifier(cfm);
-                    def = cfm.getColumnDefinition(columnName);
-                    dataType = colNameList.get(0).getColumnType();
-                    validator = dataType == null ? null : dataType.prepare(keyspace());
-                }
+                columnName = colNameList.get(0).getColumnName().getIdentifier(cfm);
+                def = cfm.getColumnDefinition(columnName);
+                dataType = colNameList.get(0).getColumnType();
+                assert dataType != null;
+                validator = dataType.prepare(keyspace());
 
-                assert columnName != null;
                 if (def == null)
                     throw new InvalidRequestException(String.format("Column %s was not found in table %s", columnName, columnFamily()));
 
@@ -229,18 +221,14 @@ public class AlterTableStatement extends SchemaAlteringStatement
                 break;
 
             case DROP:
+                if (!cfm.isCQLTable())
+                    throw new InvalidRequestException("Cannot drop columns from a non-CQL3 table");
+
                 for (AlterTableStatementColumn colData : colNameList)
                 {
-                    columnName = null;
-                    rawColumnName = colData.getColumnName();
-                    if (rawColumnName != null)
-                    {
-                        columnName = rawColumnName.getIdentifier(cfm);
-                        def = cfm.getColumnDefinition(columnName);
-                    }
-                    assert columnName != null;
-                    if (!cfm.isCQLTable())
-                        throw new InvalidRequestException("Cannot drop columns from a non-CQL3 table");
+                    columnName = colData.getColumnName().getIdentifier(cfm);
+                    def = cfm.getColumnDefinition(columnName);
+
                     if (def == null)
                         throw new InvalidRequestException(String.format("Column %s was not found in table %s", columnName, columnFamily()));
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/58abe8a8/src/java/org/apache/cassandra/cql3/statements/AlterTableStatementColumn.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/AlterTableStatementColumn.java b/src/java/org/apache/cassandra/cql3/statements/AlterTableStatementColumn.java
index 480709f..7dea565 100644
--- a/src/java/org/apache/cassandra/cql3/statements/AlterTableStatementColumn.java
+++ b/src/java/org/apache/cassandra/cql3/statements/AlterTableStatementColumn.java
@@ -20,6 +20,11 @@ package org.apache.cassandra.cql3.statements;
 import org.apache.cassandra.config.ColumnDefinition;
 import org.apache.cassandra.cql3.CQL3Type;
 
+/**
+ * Stores a column name and optionally type for an Alter Table statement definition.
+ *
+ * This is used by AlterTableStatement to store the added, altered or dropped columns.
+ */
 public class AlterTableStatementColumn
 {
     private final CQL3Type.Raw dataType;
@@ -28,14 +33,15 @@ public class AlterTableStatementColumn
 
     public AlterTableStatementColumn(ColumnDefinition.Raw colName, CQL3Type.Raw dataType, boolean isStatic)
     {
-        this.dataType = dataType;
+        assert colName != null;
+        this.dataType = dataType; // will be null when dropping columns, and never null otherwise (for ADD and ALTER).
         this.colName = colName;
         this.isStatic = isStatic;
     }
 
     public AlterTableStatementColumn(ColumnDefinition.Raw colName, CQL3Type.Raw dataType)
     {
-        this(colName, dataType,false );
+        this(colName, dataType, false);
     }
 
     public AlterTableStatementColumn(ColumnDefinition.Raw colName)


[2/2] cassandra git commit: Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/cassandra into trunk

Posted by sl...@apache.org.
Merge branch 'trunk' of http://git-wip-us.apache.org/repos/asf/cassandra into trunk

* 'trunk' of http://git-wip-us.apache.org/repos/asf/cassandra:
  cqlshlib tests: increase default execute timeout
  Fix legacy regex for temporary files from 2.2
  add Serializable to Stress settings for daemon mode
  Cleanup MessagingService socket after catching Throwable (ninja #11841)
  Add keep-alive to streaming
  Forward writes to replacement node when replace_address != broadcast_address


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

Branch: refs/heads/trunk
Commit: 5f3ad28802ba77f8d428a65c97f47ab06f077427
Parents: 58abe8a 45f96c8
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Sep 1 09:51:24 2016 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Sep 1 09:51:24 2016 +0200

----------------------------------------------------------------------
 CHANGES.txt                                     |   4 +
 NEWS.txt                                        |   3 +
 conf/cassandra.yaml                             |  14 +-
 pylib/cqlshlib/test/cassconnect.py              |   2 +
 .../org/apache/cassandra/config/Config.java     |   6 +
 .../cassandra/config/DatabaseDescriptor.java    |  10 +
 src/java/org/apache/cassandra/gms/Gossiper.java |  18 +-
 .../apache/cassandra/gms/VersionedValue.java    |   6 +
 .../apache/cassandra/io/sstable/Descriptor.java |   2 +-
 .../apache/cassandra/locator/TokenMetadata.java |  52 +++++-
 .../net/IncomingStreamingConnection.java        |   5 +-
 .../apache/cassandra/net/MessagingService.java  |   4 +-
 .../cassandra/service/LoadBroadcaster.java      |   2 +-
 .../cassandra/service/StorageService.java       | 182 ++++++++++++++-----
 .../cassandra/streaming/ConnectionHandler.java  |  59 ++++--
 .../cassandra/streaming/StreamReader.java       |   2 +-
 .../cassandra/streaming/StreamSession.java      | 103 ++++++++++-
 .../streaming/messages/KeepAliveMessage.java    |  49 +++++
 .../streaming/messages/StreamMessage.java       |  15 +-
 .../cassandra/utils/CassandraVersion.java       |   2 +-
 .../tmp-lb-3-big-Data.db                        | Bin 0 -> 93 bytes
 .../tmp-lb-3-big-Index.db                       | Bin 0 -> 54 bytes
 .../apache/cassandra/db/SystemKeyspaceTest.java |   8 +-
 .../cassandra/utils/CassandraVersionTest.java   |  17 ++
 .../stress/settings/GroupedOptions.java         |   9 +-
 .../cassandra/stress/settings/Option.java       |   3 +-
 .../stress/settings/SettingsTokenRange.java     |   5 +-
 .../stress/settings/StressSettingsTest.java     |  39 ++++
 28 files changed, 517 insertions(+), 104 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5f3ad288/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 842f207,1d26edf..228cb92
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,5 -1,5 +1,6 @@@
  3.10
 + * Cleanup uses of AlterTableStatementColumn (CASSANDRA-12567)
+  * Add keep-alive to streaming (CASSANDRA-11841)
   * Tracing payload is passed through newSession(..) (CASSANDRA-11706)
   * avoid deleting non existing sstable files and improve related log messages (CASSANDRA-12261)
   * json/yaml output format for nodetool compactionhistory (CASSANDRA-12486)