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 2014/08/07 18:36:40 UTC

[1/5] git commit: merge

Repository: cassandra
Updated Branches:
  refs/heads/trunk 56141aee8 -> d1e41c01e


merge


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

Branch: refs/heads/trunk
Commit: e682ffc4700ddd57a1a961c8d7fbbb3a87d89ff9
Parents: 24d8571 ddda541
Author: Jonathan Ellis <jb...@apache.org>
Authored: Thu Aug 7 09:27:14 2014 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Thu Aug 7 09:27:14 2014 -0500

----------------------------------------------------------------------

----------------------------------------------------------------------



[5/5] git commit: Merge branch 'cassandra-2.1' into trunk

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


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

Branch: refs/heads/trunk
Commit: d1e41c01eeebe9c8cf034e42d41e94dcc2265d49
Parents: 56141ae 0c2bbef
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Aug 7 18:36:33 2014 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Aug 7 18:36:33 2014 +0200

----------------------------------------------------------------------
 CHANGES.txt                                               |  1 +
 .../db/index/AbstractSimplePerColumnSecondaryIndex.java   |  6 ++++++
 .../org/apache/cassandra/db/index/SecondaryIndex.java     | 10 ++++++++++
 .../apache/cassandra/db/index/SecondaryIndexManager.java  |  4 ++--
 4 files changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d1e41c01/src/java/org/apache/cassandra/db/index/SecondaryIndex.java
----------------------------------------------------------------------


[3/5] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

Posted by sl...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
	CHANGES.txt
	src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
	src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java


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

Branch: refs/heads/trunk
Commit: d8eff03df0bbfa9066855bc49e18d76f609508a0
Parents: 33de6dc 3970c65
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Aug 7 18:32:36 2014 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Aug 7 18:32:36 2014 +0200

----------------------------------------------------------------------
 CHANGES.txt                                               |  1 +
 .../db/index/AbstractSimplePerColumnSecondaryIndex.java   |  6 ++++++
 .../org/apache/cassandra/db/index/SecondaryIndex.java     | 10 ++++++++++
 .../apache/cassandra/db/index/SecondaryIndexManager.java  |  4 ++--
 4 files changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8eff03d/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index dfeca21,df40933..26b39e0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,9 -1,5 +1,10 @@@
 -2.0.10
 +2.1.0-final
 + * cqlsh DESC CLUSTER fails retrieving ring information (CASSANDRA-7687)
 + * Fix binding null values inside UDT (CASSANDRA-7685)
 + * Fix UDT field selection with empty fields (CASSANDRA-7670)
 + * Bogus deserialization of static cells from sstable (CASSANDRA-7684)
 +Merged from 2.0:
+  * Fix potential AssertionError with 2ndary indexes (CASSANDRA-6612)
   * Avoid logging CompactionInterrupted at ERROR (CASSANDRA-7694)
   * Minor leak in sstable2jon (CASSANDRA-7709)
   * Add cassandra.auto_bootstrap system property (CASSANDRA-7650)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8eff03d/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
index a2011b6,87e87cb..d8c03fb
--- a/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
+++ b/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
@@@ -60,20 -55,15 +60,26 @@@ public abstract class AbstractSimplePer
                                                               indexedCfMetadata);
      }
  
 +    protected AbstractType<?> getIndexKeyComparator()
 +    {
 +        return columnDef.type;
 +    }
 +
 +    @Override
 +    public DecoratedKey getIndexKeyFor(ByteBuffer value)
 +    {
 +        return new BufferDecoratedKey(new LocalToken(getIndexKeyComparator(), value), value);
 +    }
 +
+     @Override
+     String indexTypeForGrouping()
+     {
+         return "_internal_";
+     }
+ 
 -    protected abstract ByteBuffer makeIndexColumnName(ByteBuffer rowKey, Column column);
 +    protected abstract CellName makeIndexColumnName(ByteBuffer rowKey, Cell cell);
  
 -    protected abstract ByteBuffer getIndexedValue(ByteBuffer rowKey, Column column);
 +    protected abstract ByteBuffer getIndexedValue(ByteBuffer rowKey, Cell cell);
  
      protected abstract AbstractType getExpressionComparator();
  

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8eff03d/src/java/org/apache/cassandra/db/index/SecondaryIndex.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8eff03d/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
index edb9126,a15464a..339af8f
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
@@@ -547,10 -518,10 +547,10 @@@ public class SecondaryIndexManage
              if (columns == null)
              {
                  columns = new HashSet<>();
-                 groupByIndexType.put(index.getClass().getCanonicalName(), columns);
+                 groupByIndexType.put(index.indexTypeForGrouping(), columns);
              }
  
 -            columns.add(ix.column_name);
 +            columns.add(ix.column);
          }
  
          List<SecondaryIndexSearcher> indexSearchers = new ArrayList<>(groupByIndexType.size());


[2/5] git commit: Fix potential AssertionError with 2ndary indexes

Posted by sl...@apache.org.
Fix potential AssertionError with 2ndary indexes

patch by slebresne; reviewed by beobal for CASSANDRA-6612


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

Branch: refs/heads/trunk
Commit: 3970c650d43f8b8bb9aa1c153055fd838a9b4bb6
Parents: 6e6a6c3
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Aug 7 18:09:57 2014 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Aug 7 18:23:52 2014 +0200

----------------------------------------------------------------------
 CHANGES.txt                                             |  1 +
 .../db/index/AbstractSimplePerColumnSecondaryIndex.java |  6 ++++++
 .../org/apache/cassandra/db/index/SecondaryIndex.java   | 10 ++++++++++
 .../cassandra/db/index/SecondaryIndexManager.java       | 12 +++++-------
 4 files changed, 22 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3970c650/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 915aeea..df40933 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.10
+ * Fix potential AssertionError with 2ndary indexes (CASSANDRA-6612)
  * Avoid logging CompactionInterrupted at ERROR (CASSANDRA-7694)
  * Minor leak in sstable2jon (CASSANDRA-7709)
  * Add cassandra.auto_bootstrap system property (CASSANDRA-7650)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3970c650/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java b/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
index 8b12575..87e87cb 100644
--- a/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
+++ b/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
@@ -55,6 +55,12 @@ public abstract class AbstractSimplePerColumnSecondaryIndex extends PerColumnSec
                                                              indexedCfMetadata);
     }
 
+    @Override
+    String indexTypeForGrouping()
+    {
+        return "_internal_";
+    }
+
     protected abstract ByteBuffer makeIndexColumnName(ByteBuffer rowKey, Column column);
 
     protected abstract ByteBuffer getIndexedValue(ByteBuffer rowKey, Column column);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3970c650/src/java/org/apache/cassandra/db/index/SecondaryIndex.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/SecondaryIndex.java b/src/java/org/apache/cassandra/db/index/SecondaryIndex.java
index fda28f0..64266c4 100644
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndex.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndex.java
@@ -94,6 +94,16 @@ public abstract class SecondaryIndex
      */
     abstract public String getIndexName();
 
+    /**
+     * All internal 2ndary indexes will return "_internal_" for this. Custom
+     * 2ndary indexes will return their class name. This only matter for
+     * SecondaryIndexManager.groupByIndexType.
+     */
+    String indexTypeForGrouping()
+    {
+        // Our internal indexes overwrite this
+        return getClass().getCanonicalName();
+    }
 
     /**
      * Return the unique name for this index and column

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3970c650/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
index 2c0d611..a15464a 100644
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
@@ -198,17 +198,15 @@ public class SecondaryIndexManager
         if (clause == null || clause.isEmpty())
             return false;
 
-        // It doesn't seem a clause can have multiple searchers, but since
-        // getIndexSearchersForQuery returns a list ...
         List<SecondaryIndexSearcher> searchers = getIndexSearchersForQuery(clause);
         if (searchers.isEmpty())
             return false;
 
         for (SecondaryIndexSearcher searcher : searchers)
-            if (!searcher.isIndexing(clause))
-                return false;
+            if (searcher.isIndexing(clause))
+                return true;
 
-        return true;
+        return false;
     }
 
     /**
@@ -515,12 +513,12 @@ public class SecondaryIndexManager
             if (index == null)
                 continue;
 
-            Set<ByteBuffer> columns = groupByIndexType.get(index.getClass().getCanonicalName());
+            Set<ByteBuffer> columns = groupByIndexType.get(index.indexTypeForGrouping());
 
             if (columns == null)
             {
                 columns = new HashSet<>();
-                groupByIndexType.put(index.getClass().getCanonicalName(), columns);
+                groupByIndexType.put(index.indexTypeForGrouping(), columns);
             }
 
             columns.add(ix.column_name);


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

Posted by sl...@apache.org.
Merge branch 'cassandra-2.1.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: 0c2bbefae3186f600cef49e1859c9e56751f3ab5
Parents: e682ffc d8eff03
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Aug 7 18:36:13 2014 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Aug 7 18:36:13 2014 +0200

----------------------------------------------------------------------
 CHANGES.txt                                               |  1 +
 .../db/index/AbstractSimplePerColumnSecondaryIndex.java   |  6 ++++++
 .../org/apache/cassandra/db/index/SecondaryIndex.java     | 10 ++++++++++
 .../apache/cassandra/db/index/SecondaryIndexManager.java  |  4 ++--
 4 files changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0c2bbefa/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
----------------------------------------------------------------------