Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2B0811807F for ; Fri, 9 Oct 2015 10:40:14 +0000 (UTC) Received: (qmail 95960 invoked by uid 500); 9 Oct 2015 10:40:09 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 95926 invoked by uid 500); 9 Oct 2015 10:40:09 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 95915 invoked by uid 99); 9 Oct 2015 10:40:09 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 09 Oct 2015 10:40:08 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id C30DAE025B; Fri, 9 Oct 2015 10:40:08 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: samt@apache.org To: commits@cassandra.apache.org Date: Fri, 09 Oct 2015 10:40:08 -0000 Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: [1/3] cassandra git commit: Fix bug in schema conversion of index options to thrift format Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 5a808ad9e -> cf365e302 refs/heads/trunk 645fa06c0 -> 38d1fced1 Fix bug in schema conversion of index options to thrift format Patch by Sam Tunnicliffe; reviewed by Sylvain Lebresne for CASSANDRA-10483 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cf365e30 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cf365e30 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cf365e30 Branch: refs/heads/cassandra-3.0 Commit: cf365e30216d28b587493d07875182515d21bcad Parents: 5a808ad Author: Sam Tunnicliffe Authored: Thu Oct 8 18:37:27 2015 +0100 Committer: Sam Tunnicliffe Committed: Fri Oct 9 11:28:39 2015 +0100 ---------------------------------------------------------------------- .../apache/cassandra/thrift/ThriftConversion.java | 2 +- .../apache/cassandra/config/CFMetaDataTest.java | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cf365e30/src/java/org/apache/cassandra/thrift/ThriftConversion.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/thrift/ThriftConversion.java b/src/java/org/apache/cassandra/thrift/ThriftConversion.java index 3794fe0..4a1ff76 100644 --- a/src/java/org/apache/cassandra/thrift/ThriftConversion.java +++ b/src/java/org/apache/cassandra/thrift/ThriftConversion.java @@ -611,7 +611,7 @@ public class ThriftConversion s -> !IndexTarget.TARGET_OPTION_NAME.equals(s)); cd.setIndex_options(filteredOptions.isEmpty() ? null - : Maps.newHashMap(matchedIndex.options)); + : Maps.newHashMap(filteredOptions)); } return cd; http://git-wip-us.apache.org/repos/asf/cassandra/blob/cf365e30/test/unit/org/apache/cassandra/config/CFMetaDataTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/config/CFMetaDataTest.java b/test/unit/org/apache/cassandra/config/CFMetaDataTest.java index 567d516..3deb5fa 100644 --- a/test/unit/org/apache/cassandra/config/CFMetaDataTest.java +++ b/test/unit/org/apache/cassandra/config/CFMetaDataTest.java @@ -18,13 +18,12 @@ */ package org.apache.cassandra.config; -import java.util.ArrayList; -import java.util.List; -import java.util.HashSet; +import java.util.*; import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.db.*; import org.apache.cassandra.db.marshal.AsciiType; +import org.apache.cassandra.db.marshal.Int32Type; import org.apache.cassandra.db.marshal.UTF8Type; import org.apache.cassandra.db.rows.UnfilteredRowIterators; import org.apache.cassandra.db.partitions.PartitionUpdate; @@ -62,6 +61,14 @@ public class CFMetaDataTest columnDefs.add(new ColumnDef(ByteBufferUtil.bytes("col2"), UTF8Type.class.getCanonicalName()) .setIndex_name("col2Index") .setIndex_type(IndexType.KEYS)); + + Map customIndexOptions = new HashMap<>(); + customIndexOptions.put("option1", "value1"); + customIndexOptions.put("option2", "value2"); + columnDefs.add(new ColumnDef(ByteBufferUtil.bytes("col3"), Int32Type.class.getCanonicalName()) + .setIndex_name("col3Index") + .setIndex_type(IndexType.CUSTOM) + .setIndex_options(customIndexOptions)); } @BeforeClass @@ -97,7 +104,9 @@ public class CFMetaDataTest c.name = ByteBufferUtil.clone(columnDef.name); c.validation_class = columnDef.getValidation_class(); c.index_name = columnDef.getIndex_name(); - c.index_type = IndexType.KEYS; + c.index_type = columnDef.getIndex_type(); + if (columnDef.isSetIndex_options()) + c.setIndex_options(columnDef.getIndex_options()); thriftCfDef.column_metadata.add(c); }