[ https://issues.apache.org/jira/browse/CASSANDRA-10027?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Philip Thompson updated CASSANDRA-10027: ---------------------------------------- Assignee: Benjamin Lerer Fix Version/s: 2.2.x > ALTER TABLE TYPE check broken > ----------------------------- > > Key: CASSANDRA-10027 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10027 > Project: Cassandra > Issue Type: Bug > Components: Core > Reporter: Aaron Ploetz > Assignee: Benjamin Lerer > Priority: Minor > Fix For: 2.1.x, 2.2.x > > > I stumbled onto the fact that 2.2.0 will allow you to ALTER TYPE of a > {{varint}} to the new {{date}} type. I thought that was an odd conversion to > allow, so I attempted to query it. I received an error on all subsequent > queries, unless I exited or truncated the table. > After truncating, I could then INSERT and query as normal. But the new > {{varint}} values inserted simply were reflected as an offset of the minimum > {{varint}} value. > I'm not sure why that's happening, but if we could simply prevent type > conversion between {{varint}} and {{date}} (and just show the "types are > incompatible" message) that should fix this. > Steps to reproduce: > {code} > aploetz@cqlsh:typeconversion> CREATE TABLE varinttest (key int PRIMARY KEY, > c1 varint); > aploetz@cqlsh:typeconversion> INSERT INTO varinttest (key, c1) VALUES (1,1); > aploetz@cqlsh:typeconversion> SELECT * FROM varinttest ; > key | c1 > -----+---- > 1 | 1 > (1 rows) > aploetz@cqlsh:typeconversion> ALTER TABLE varinttest ALTER c1 TYPE date; > aploetz@cqlsh:typeconversion> SELECT * FROM varinttest ; > Traceback (most recent call last): > File "/usr/bin/cqlsh.py", line 1150, in perform_simple_statement > rows = future.result(self.session.default_timeout) > File > "/usr/share/cassandra/lib/cassandra-driver-internal-only-2.6.0c2.post.zip/cassandra-driver-2.6.0c2.post/cassandra/cluster.py", > line 3296, in result > raise self._final_exception > error: unpack requires a string argument of length 4 > aploetz@cqlsh:typeconversion> SELECT * FROM varinttest ; > NoHostAvailable: ('Unable to complete the operation against any hosts', > {<Host: 127.0.0.1 PloetzLabs>: ConnectionShutdown('Connection to 127.0.0.1 is > defunct',)}) > aploetz@cqlsh:typeconversion> TRUNCATE varinttest ; > aploetz@cqlsh:typeconversion> SELECT * FROM varinttest ; > key | c1 > -----+---- > (0 rows) > aploetz@cqlsh:typeconversion> INSERT INTO varinttest (key, c1) VALUES (1,1); > aploetz@cqlsh:typeconversion> INSERT INTO varinttest (key, c1) VALUES (2,2); > aploetz@cqlsh:typeconversion> INSERT INTO varinttest (key, c1) VALUES (3,3); > aploetz@cqlsh:typeconversion> SELECT * FROM varinttest ; > key | c1 > -----+------------- > 1 | -2147483647 > 2 | -2147483646 > 3 | -2147483645 > (3 rows) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)