[ 
https://issues.apache.org/jira/browse/CASSANDRA-10434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14949102#comment-14949102
 ] 

Aleksey Yeschenko commented on CASSANDRA-10434:
-----------------------------------------------

+1

> Problem upgrading to 3.0 with UDA
> ---------------------------------
>
>                 Key: CASSANDRA-10434
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10434
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sylvain Lebresne
>            Assignee: Robert Stupp
>             Fix For: 3.0.0 rc2
>
>
> Copy-pasting from [~nutbunnies] comment on CASSANDRA-9756:
> {quote}
> upgrading from 2.2 to 3.0 with a UDA defined will throw the exception below 
> and fail to start when upgraded to 3.0.
> Used:
> 2.2: {{ae9b7e05222b2a25eda5618cf9eb17103e4d6d8b}}
> 3.0: {{5c2912d1ce95aacdacb59ccc840b12cd9aa0c8f8}}
> {noformat}
> org.apache.cassandra.exceptions.UnrecognizedEntityException: Undefined name 
> function_name in where clause ('function_name = ?')
>         at 
> org.apache.cassandra.cql3.Relation.toColumnDefinition(Relation.java:259) 
> ~[main/:na]
>         at 
> org.apache.cassandra.cql3.SingleColumnRelation.newEQRestriction(SingleColumnRelation.java:160)
>  ~[main/:na]
>         at 
> org.apache.cassandra.cql3.Relation.toRestriction(Relation.java:137) 
> ~[main/:na]
>         at 
> org.apache.cassandra.cql3.restrictions.StatementRestrictions.<init>(StatementRestrictions.java:151)
>  ~[main/:na]
>         at 
> org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepareRestrictions(SelectStatement.java:817)
>  ~[main/:na]
>         at 
> org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:764)
>  ~[main/:na]
>         at 
> org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:752)
>  ~[main/:na]
>         at 
> org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:504)
>  ~[main/:na]
>         at 
> org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:241)
>  ~[main/:na]
>         at 
> org.apache.cassandra.cql3.QueryProcessor.executeOnceInternal(QueryProcessor.java:336)
>  ~[main/:na]
>         at 
> org.apache.cassandra.schema.LegacySchemaMigrator.query(LegacySchemaMigrator.java:882)
>  ~[main/:na]
>         at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readAggregateMetadata(LegacySchemaMigrator.java:849)
>  ~[main/:na]
>         at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readAggregate(LegacySchemaMigrator.java:830)
>  ~[main/:na]
>         at 
> org.apache.cassandra.schema.LegacySchemaMigrator.lambda$readAggregates$216(LegacySchemaMigrator.java:823)
>  ~[main/:na]
>         at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_60]
>         at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readAggregates(LegacySchemaMigrator.java:823)
>  ~[main/:na]
>         at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readKeyspace(LegacySchemaMigrator.java:166)
>  ~[main/:na]
>         at 
> org.apache.cassandra.schema.LegacySchemaMigrator.lambda$readSchema$207(LegacySchemaMigrator.java:154)
>  ~[main/:na]
>         at java.util.ArrayList.forEach(ArrayList.java:1249) ~[na:1.8.0_60]
>         at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readSchema(LegacySchemaMigrator.java:154)
>  ~[main/:na]
>         at 
> org.apache.cassandra.schema.LegacySchemaMigrator.migrate(LegacySchemaMigrator.java:77)
>  ~[main/:na]
>         at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:223) 
> [main/:na]
>         at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:542)
>  [main/:na]
>         at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:668) 
> [main/:na]
> {noformat}
> Can be reproduced with:
> {noformat}
> ccm stop
> ccm remove uda_upgrade
> ccm create -n 1 -v git:cassandra-2.2 uda_upgrade
> ccm updateconf 'enable_user_defined_functions: true'
> ccm start
> cat << EOF | ccm node1 cqlsh
> create keyspace ks WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> USE ks;
> CREATE FUNCTION func_1(current int, candidate int)
>             CALLED ON NULL INPUT
>             RETURNS int LANGUAGE java AS
>             'if (current == null) return candidate; else return 
> Math.max(current, candidate);';
> CREATE AGGREGATE agg_1(int)
>             SFUNC func_1
>             STYPE int
>             INITCOND null;
> EOF
> sleep 10
> echo "Draining all nodes"
> ccm node1 nodetool drain
> ccm stop
> echo "Upgrading to git:cassandra-3.0"
> ccm setdir -v git:cassandra-3.0
> ccm start
> echo "Sleeping for version migrations"
> sleep 15
> ccm checklogerror
> ccm stop
> {noformat}
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to