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 2015/10/15 09:54:46 UTC

[1/3] cassandra git commit: Reduce contention getting instances of CompositeType

Repository: cassandra
Updated Branches:
  refs/heads/trunk d87aab987 -> 29576a44d


Reduce contention getting instances of CompositeType

patch by schlosna; reviewed by slebresne for CASSANDRA-10433


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

Branch: refs/heads/trunk
Commit: bee48ebe206bd02c231266858e9ae137a928689d
Parents: 7875326
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Oct 15 09:50:40 2015 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Oct 15 09:50:40 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                     |  1 +
 .../cassandra/db/marshal/CompositeType.java     | 20 ++++++++++++--------
 2 files changed, 13 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bee48ebe/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index c02e2fa..9a0baaa 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.4
+ * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
 Merged from 2.1:
  * (cqlsh) Distinguish negative and positive infinity in output (CASSANDRA-10523)
  * (cqlsh) allow custom time_format for COPY TO (CASSANDRA-8970)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/bee48ebe/src/java/org/apache/cassandra/db/marshal/CompositeType.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/marshal/CompositeType.java b/src/java/org/apache/cassandra/db/marshal/CompositeType.java
index 0218411..9892118 100644
--- a/src/java/org/apache/cassandra/db/marshal/CompositeType.java
+++ b/src/java/org/apache/cassandra/db/marshal/CompositeType.java
@@ -19,18 +19,18 @@ package org.apache.cassandra.db.marshal;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
-import java.util.Arrays;
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Arrays;
 import java.util.List;
-import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
 
 import com.google.common.collect.ImmutableList;
 
-import org.apache.cassandra.exceptions.ConfigurationException;
-import org.apache.cassandra.exceptions.SyntaxException;
 import org.apache.cassandra.cql3.ColumnIdentifier;
 import org.apache.cassandra.cql3.Operator;
+import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.cassandra.exceptions.SyntaxException;
 import org.apache.cassandra.io.util.DataOutputBuffer;
 import org.apache.cassandra.io.util.DataOutputBufferFixed;
 import org.apache.cassandra.serializers.MarshalException;
@@ -68,7 +68,7 @@ public class CompositeType extends AbstractCompositeType
     public final List<AbstractType<?>> types;
 
     // interning instances
-    private static final Map<List<AbstractType<?>>, CompositeType> instances = new HashMap<List<AbstractType<?>>, CompositeType>();
+    private static final ConcurrentMap<List<AbstractType<?>>, CompositeType> instances = new ConcurrentHashMap<List<AbstractType<?>>, CompositeType>();
 
     public static CompositeType getInstance(TypeParser parser) throws ConfigurationException, SyntaxException
     {
@@ -98,7 +98,7 @@ public class CompositeType extends AbstractCompositeType
         return true;
     }
 
-    public static synchronized CompositeType getInstance(List<AbstractType<?>> types)
+    public static CompositeType getInstance(List<AbstractType<?>> types)
     {
         assert types != null && !types.isEmpty();
 
@@ -106,7 +106,11 @@ public class CompositeType extends AbstractCompositeType
         if (ct == null)
         {
             ct = new CompositeType(types);
-            instances.put(types, ct);
+            CompositeType previous = instances.putIfAbsent(types, ct);
+            if (previous != null)
+            {
+                ct = previous;
+            }
         }
         return ct;
     }


[2/3] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by sl...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0

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/b42a0cfe
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b42a0cfe
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b42a0cfe

Branch: refs/heads/trunk
Commit: b42a0cfe87d175b9d5a053bcb91a9fc70a0c241e
Parents: 5f5e960 bee48eb
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Oct 15 09:53:48 2015 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Oct 15 09:53:48 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                     |  1 +
 .../cassandra/db/marshal/CompositeType.java     | 20 ++++++++++++--------
 2 files changed, 13 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b42a0cfe/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 66e34b6,9a0baaa..fa74539
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,22 -1,5 +1,23 @@@
 -2.2.4
 +3.0-rc2
 + * Revert CASSANDRA-7486, make CMS default GC, move GC config to
 +   conf/jvm.options (CASSANDRA-10403)
 + * Fix TeeingAppender causing some logs to be truncated/empty (CASSANDRA-10447)
 + * Allow EACH_QUORUM for reads (CASSANDRA-9602)
 + * Fix potential ClassCastException while upgrading (CASSANDRA-10468)
 + * Fix NPE in MVs on update (CASSANDRA-10503)
 + * Only include modified cell data in indexing deltas (CASSANDRA-10438)
 + * Do not load keyspace when creating sstable writer (CASSANDRA-10443)
 + * If node is not yet gossiping write all MV updates to batchlog only (CASSANDRA-10413)
 + * Re-populate token metadata after commit log recovery (CASSANDRA-10293)
 + * Provide additional metrics for materialized views (CASSANDRA-10323)
 + * Flush system schema tables after local schema changes (CASSANDRA-10429)
 +Merged from 2.2:
+  * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
 + * Fix the regression when using LIMIT with aggregates (CASSANDRA-10487)
 + * Avoid NoClassDefFoundError during DataDescriptor initialization on windows (CASSANDRA-10412)
 + * Preserve case of quoted Role & User names (CASSANDRA-10394)
 + * cqlsh pg-style-strings broken (CASSANDRA-10484)
 + * cqlsh prompt includes name of keyspace after failed `use` statement (CASSANDRA-10369)
  Merged from 2.1:
   * (cqlsh) Distinguish negative and positive infinity in output (CASSANDRA-10523)
   * (cqlsh) allow custom time_format for COPY TO (CASSANDRA-8970)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b42a0cfe/src/java/org/apache/cassandra/db/marshal/CompositeType.java
----------------------------------------------------------------------


[3/3] cassandra git commit: Merge branch 'cassandra-3.0' into trunk

Posted by sl...@apache.org.
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: 29576a44d073b6aa07655aa9f9fdbbaac5a5322a
Parents: d87aab9 b42a0cf
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Oct 15 09:54:39 2015 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Oct 15 09:54:39 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                     |  1 +
 .../cassandra/db/marshal/CompositeType.java     | 20 ++++++++++++--------
 2 files changed, 13 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/29576a44/CHANGES.txt
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/29576a44/src/java/org/apache/cassandra/db/marshal/CompositeType.java
----------------------------------------------------------------------