[
https://issues.apache.org/jira/browse/CASSANDRA-9148?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14487513#comment-14487513
]
Oskar Kjellin commented on CASSANDRA-9148:
------------------------------------------
Running cassandra 2.1.4. In docker, not sure if that really should differ in
this case.
I just tried to reproduce it using only cql and I managed to quite easily using
the following commands:
CREATE TYPE test (foo text);
CREATE TABLE testtable (id text, map frozen<map<text,test>>, primary key (id));
INSERT INTO testtable (id, map) VALUES ('foo', {'foo':{foo:'bar'}});
ALTER TYPE test add bar text;
When altering the type I actually got a:
ServerError: <ErrorMessage code=0000 [Server error]
message="java.lang.NullPointerException">
Trying to add it again I got:
InvalidRequest: code=2200 [Invalid query] message="Cannot add new field bar to
type test.test: a field of the same name already exists"
So I tried to do an insert:
INSERT INTO testtable (id, map) VALUES ('foo', {'foo':{foo:'bar', bar:'foo'}});
Which returned:
InvalidRequest: code=2200 [Invalid query] message="Unknown field 'bar' in value
of user defined type test"
However:
cqlsh:test> DESC TYPE test;
CREATE TYPE test.test (
foo text,
bar text
);
> Issue when modifying UDT
> ------------------------
>
> Key: CASSANDRA-9148
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9148
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Oskar Kjellin
> Fix For: 2.1.5
>
>
> I'm trying out the user defined types but ran into some issues when adding a
> column to an existing type.
> Unfortunately I had to scrap the entire cluster so I cannot access it any
> more.
> After creating the UDT i adde two tables using it. 1 was just using
> frozen<type>. The other was using both frozen<type> frozen map<String, type>.
> Then I realized I needed to add a new field to the user type. Then when I
> tried to put to any of the two tables (setting all fields to the UDT in the
> datastax java driver) I got this error message that I could not find anywhere
> else but in the cassandra code:
> com.datastax.driver.core.exceptions.InvalidQueryException: Invalid remaining
> data after end of UDT value
> I had to scrap my keyspace in order to be able to use it again. Could not
> even drop one of the tables.
> I know that they are frozen so we cannot modify the value of individual
> fields once they are written but we must be able to modify the schema right?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)