Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 1DF86200CBE for ; Thu, 22 Jun 2017 18:35:07 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 1D0E9160BE7; Thu, 22 Jun 2017 16:35:07 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 0F363160BF4 for ; Thu, 22 Jun 2017 18:35:05 +0200 (CEST) Received: (qmail 85574 invoked by uid 500); 22 Jun 2017 16:35:04 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 85315 invoked by uid 99); 22 Jun 2017 16:35:04 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Jun 2017 16:35:04 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 347261929B8 for ; Thu, 22 Jun 2017 16:35:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.201 X-Spam-Level: X-Spam-Status: No, score=-99.201 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id gs0rnZtMRAqw for ; Thu, 22 Jun 2017 16:34:59 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 1E5786277E for ; Thu, 22 Jun 2017 16:34:29 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id CA810E0DFA for ; Thu, 22 Jun 2017 16:34:28 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 46FEE24402 for ; Thu, 22 Jun 2017 16:34:21 +0000 (UTC) Date: Thu, 22 Jun 2017 16:34:21 +0000 (UTC) From: "Jeremy Hanna (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (CASSANDRA-10424) Altering base table column with materialized view causes unexpected server error. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Thu, 22 Jun 2017 16:35:07 -0000 [ https://issues.apache.org/jira/browse/CASSANDRA-10424?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeremy Hanna updated CASSANDRA-10424: ------------------------------------- Component/s: Materialized Views > Altering base table column with materialized view causes unexpected server error. > --------------------------------------------------------------------------------- > > Key: CASSANDRA-10424 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10424 > Project: Cassandra > Issue Type: Bug > Components: Coordination, Materialized Views > Environment: cassandra-3.0.0-rc1, with python driver 3.0-alpha > Reporter: Greg Bestland > Assignee: Carl Yeksigian > Fix For: 3.0.0 rc2 > > > When attempting to alter column type of base table which has a corresponding materialized view we get an exception from the server. > Steps to reproduce. > 1. Create a base table > {code} > CREATE TABLE test.scores( > user TEXT, > game TEXT, > year INT, > month INT, > day INT, > score TEXT, > PRIMARY KEY (user, game, year, month, day) > ) > {code} > 2. Create a corresponding materialized view > {code} > CREATE MATERIALIZED VIEW test.monthlyhigh AS > SELECT game, year, month, score, user, day FROM test.scores > WHERE game IS NOT NULL AND year IS NOT NULL AND month IS NOT NULL AND score IS NOT NULL AND user IS NOT NULL AND day IS NOT NULL > PRIMARY KEY ((game, year, month), score, user, day) > WITH CLUSTERING ORDER BY (score DESC, user ASC, day ASC) > {code} > 3. Attempt to Alter the base table > {code} > ALTER TABLE test.scores ALTER score TYPE blob > {code} > In the python driver we see the following exception returned from the server > {code} > Ignoring schedule_unique for already-scheduled task: (>, (), (('keyspace', 'test'), ('target_type', 'KEYSPACE'), ('change_type', 'UPDATED'))) > Traceback (most recent call last): > File "", line 1, in > File "./cassandra/cluster.py", line 1623, in execute > result = future.result() > File "./cassandra/cluster.py", line 3205, in result > raise self._final_exception > cassandra.protocol.ServerError: > {code} > On the server I see the following stack trace > {code} > INFO [MigrationStage:1] 2015-09-30 11:45:47,457 ColumnFamilyStore.java:825 - Enqueuing flush of keyspaces: 512 (0%) on-heap, 0 (0%) off-heap > INFO [MemtableFlushWriter:11] 2015-09-30 11:45:47,457 Memtable.java:362 - Writing Memtable-keyspaces@1714565887(0.146KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit) > INFO [MemtableFlushWriter:11] 2015-09-30 11:45:47,463 Memtable.java:395 - Completed flushing /Users/gregbestland/.ccm/tests/node1/data/system_schema/keyspaces-abac5682dea631c5b535b3d6cffd0fb6/ma-54-big-Data.db (0.109KiB) for commitlog position ReplayPosition(segmentId=1443623481894, position=9812) > INFO [MigrationStage:1] 2015-09-30 11:45:47,472 ColumnFamilyStore.java:825 - Enqueuing flush of columns: 877 (0%) on-heap, 0 (0%) off-heap > INFO [MemtableFlushWriter:12] 2015-09-30 11:45:47,472 Memtable.java:362 - Writing Memtable-columns@771367282(0.182KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit) > INFO [MemtableFlushWriter:12] 2015-09-30 11:45:47,478 Memtable.java:395 - Completed flushing /Users/gregbestland/.ccm/tests/node1/data/system_schema/columns-24101c25a2ae3af787c1b40ee1aca33f/ma-51-big-Data.db (0.107KiB) for commitlog position ReplayPosition(segmentId=1443623481894, position=9812) > INFO [MigrationStage:1] 2015-09-30 11:45:47,490 ColumnFamilyStore.java:825 - Enqueuing flush of views: 2641 (0%) on-heap, 0 (0%) off-heap > INFO [MemtableFlushWriter:11] 2015-09-30 11:45:47,490 Memtable.java:362 - Writing Memtable-views@1740452585(0.834KiB serialized bytes, 1 ops, 0%/0% of on/off-heap limit) > INFO [MemtableFlushWriter:11] 2015-09-30 11:45:47,496 Memtable.java:395 - Completed flushing /Users/gregbestland/.ccm/tests/node1/data/system_schema/views-9786ac1cdd583201a7cdad556410c985/ma-22-big-Data.db (0.542KiB) for commitlog position ReplayPosition(segmentId=1443623481894, position=9812) > ERROR [MigrationStage:1] 2015-09-30 11:45:47,507 CassandraDaemon.java:195 - Exception in thread Thread[MigrationStage:1,5,main] > org.apache.cassandra.exceptions.ConfigurationException: Column family comparators do not match or are not compatible (found ClusteringComparator; expected ClusteringComparator). > at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:789) ~[main/:na] > at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:744) ~[main/:na] > at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:729) ~[main/:na] > at org.apache.cassandra.config.Schema.updateView(Schema.java:677) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace$2.onUpdated(SchemaKeyspace.java:587) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace.diffSchema(SchemaKeyspace.java:701) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace.mergeViews(SchemaKeyspace.java:573) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:515) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:481) ~[main/:na] > at org.apache.cassandra.service.MigrationManager$1.runMayThrow(MigrationManager.java:502) ~[main/:na] > at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[main/:na] > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_45] > at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_45] > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_45] > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_45] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45] > ERROR [SharedPool-Worker-1] 2015-09-30 11:45:47,508 QueryMessage.java:128 - Unexpected error during query > java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.exceptions.ConfigurationException: Column family comparators do not match or are not compatible (found ClusteringComparator; expected ClusteringComparator). > at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:368) ~[main/:na] > at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:483) ~[main/:na] > at org.apache.cassandra.service.MigrationManager.announceViewUpdate(MigrationManager.java:389) ~[main/:na] > at org.apache.cassandra.cql3.statements.AlterTableStatement.announceMigration(AlterTableStatement.java:359) ~[main/:na] > at org.apache.cassandra.cql3.statements.SchemaAlteringStatement.execute(SchemaAlteringStatement.java:93) ~[main/:na] > at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:205) ~[main/:na] > at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:236) ~[main/:na] > at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:221) ~[main/:na] > at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:115) ~[main/:na] > at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:507) [main/:na] > at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:401) [main/:na] > at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-all-4.0.23.Final.jar:4.0.23.Final] > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [netty-all-4.0.23.Final.jar:4.0.23.Final] > at io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32) [netty-all-4.0.23.Final.jar:4.0.23.Final] > at io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324) [netty-all-4.0.23.Final.jar:4.0.23.Final] > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45] > at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164) [main/:na] > at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [main/:na] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45] > Caused by: java.util.concurrent.ExecutionException: org.apache.cassandra.exceptions.ConfigurationException: Column family comparators do not match or are not compatible (found ClusteringComparator; expected ClusteringComparator). > at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:1.8.0_45] > at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[na:1.8.0_45] > at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:364) ~[main/:na] > ... 18 common frames omitted > Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column family comparators do not match or are not compatible (found ClusteringComparator; expected ClusteringComparator). > at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:789) ~[main/:na] > at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:744) ~[main/:na] > at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:729) ~[main/:na] > at org.apache.cassandra.config.Schema.updateView(Schema.java:677) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace$2.onUpdated(SchemaKeyspace.java:587) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace.diffSchema(SchemaKeyspace.java:701) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace.mergeViews(SchemaKeyspace.java:573) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:515) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:481) ~[main/:na] > at org.apache.cassandra.service.MigrationManager$1.runMayThrow(MigrationManager.java:502) ~[main/:na] > at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[main/:na] > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45] > at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_45] > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_45] > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_45] > ... 1 common frames omitted > ERROR [SharedPool-Worker-1] 2015-09-30 11:45:47,508 ErrorMessage.java:336 - Unexpected exception during request > java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.exceptions.ConfigurationException: Column family comparators do not match or are not compatible (found ClusteringComparator; expected ClusteringComparator). > at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:368) ~[main/:na] > at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:483) ~[main/:na] > at org.apache.cassandra.service.MigrationManager.announceViewUpdate(MigrationManager.java:389) ~[main/:na] > at org.apache.cassandra.cql3.statements.AlterTableStatement.announceMigration(AlterTableStatement.java:359) ~[main/:na] > at org.apache.cassandra.cql3.statements.SchemaAlteringStatement.execute(SchemaAlteringStatement.java:93) ~[main/:na] > at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:205) ~[main/:na] > at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:236) ~[main/:na] > at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:221) ~[main/:na] > at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:115) ~[main/:na] > at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:507) [main/:na] > at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:401) [main/:na] > at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-all-4.0.23.Final.jar:4.0.23.Final] > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [netty-all-4.0.23.Final.jar:4.0.23.Final] > at io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32) [netty-all-4.0.23.Final.jar:4.0.23.Final] > at io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324) [netty-all-4.0.23.Final.jar:4.0.23.Final] > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45] > at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164) [main/:na] > at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [main/:na] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45] > Caused by: java.util.concurrent.ExecutionException: org.apache.cassandra.exceptions.ConfigurationException: Column family comparators do not match or are not compatible (found ClusteringComparator; expected ClusteringComparator). > at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:1.8.0_45] > at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[na:1.8.0_45] > at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:364) ~[main/:na] > ... 18 common frames omitted > Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column family comparators do not match or are not compatible (found ClusteringComparator; expected ClusteringComparator). > at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:789) ~[main/:na] > at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:744) ~[main/:na] > at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:729) ~[main/:na] > at org.apache.cassandra.config.Schema.updateView(Schema.java:677) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace$2.onUpdated(SchemaKeyspace.java:587) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace.diffSchema(SchemaKeyspace.java:701) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace.mergeViews(SchemaKeyspace.java:573) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:515) ~[main/:na] > at org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:481) ~[main/:na] > at org.apache.cassandra.service.MigrationManager$1.runMayThrow(MigrationManager.java:502) ~[main/:na] > at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[main/:na] > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45] > at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_45] > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_45] > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_45] > ... 1 common frames omitted > {code} > It would appear as though the base table column was migrated, as it now seems to be of type blob, but I'm not sure internally what state its in. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org For additional commands, e-mail: commits-help@cassandra.apache.org