[
https://issues.apache.org/jira/browse/CASSANDRA-19270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18048638#comment-18048638
]
Nadav Har'El commented on CASSANDRA-19270:
------------------------------------------
Another line in the same test in InsertInvalidateSizedRecordsTest.java has:
{{ Assertions.assertThatThrownBy(() -> executeNet("INSERT INTO %s (a, b)
VALUES (?, ?)", new Object[] \{null, null}))}}
{{ .hasRootCauseInstanceOf(InvalidQueryException.class)}}
{{ .hasRootCauseMessage("Invalid null value for column a");}}
And yet, when I try something like that with the Python driver, I get a
completely different (and bad) error message:
{{cassandra.cluster.NoHostAvailable: ('Unable to complete the operation against
any hosts', \{<Host: 127.19.29.9:9042 datacenter1>: TypeError("object of type
'NoneType' has no len()")})}}
So again, either this test isn't actually being run, or whatever the test
framework's "executeNet" is doing, it is not the same as a real request from
the Python driver.
> Incorrect error type on oversized compound partition key
> --------------------------------------------------------
>
> Key: CASSANDRA-19270
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19270
> Project: Apache Cassandra
> Issue Type: Bug
> Reporter: Nadav Har'El
> Priority: Normal
> Fix For: 4.0.x, 4.1.x
>
>
> Cassandra limits key lengths (partition and clustering) to 64 KB. If a user
> attempts to INSERT data with a partition key or clustering key exceeding that
> size, the result is a clear InvalidRequest error with a message like "{{{}Key
> length of 66560 is longer than maximum of 65535{}}}".
> There is one exception: If you have a *compound* partition key (i.e., two or
> more partition key components) and attempt to write one of them larger than
> 64 KB, then instead of an orderly InvalidRequest like you got when there was
> just one component, now you get a NoHostAvailable with the message:
> "{{{}error("'H' format requires 0 <= number <= 65535")}){}}}". This is not
> only uglier, it can also confuse the Cassandra driver to retry this request -
> because it doesn't realize that the request itself is broken and there is no
> point to repeat it.
> Interestingly, if there are multiple clustering key columns, this problem
> doesn't happen: we still get a nice InvalidRequest if any one of these is
> more than 64 KB.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]