[ 
https://issues.apache.org/jira/browse/CASSANDRA-2849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis updated CASSANDRA-2849:
--------------------------------------

    Attachment: 2849-v2.txt

v2 adds column name decoding and moves the value to a debug log (presumably the 
client  knows what value it sent...)

> InvalidRequestException when validating column data includes entire column 
> value
> --------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-2849
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2849
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.8.1
>            Reporter: David Allsopp
>            Priority: Minor
>             Fix For: 0.8.2
>
>         Attachments: 2849-v2.txt, cassandra-2849.diff
>
>
> If the column value fails to validate, then 
> ThriftValidation.validateColumnData() calls bytesToHex() on the entire column 
> value and puts this string in the Exception. Since the value may be up to 
> 2GB, this is potentially a lot of extra memory. The value is likely to be 
> logged (and presumably returned to the thrift client over the network?). This 
> could cause a lot of slowdown or an unnecessary OOM crash, and is unlikely to 
> be useful (the client has access to the full value anyway if required for 
> debugging).
> Also, the reason for the exception (extracted from the MarshalException) is 
> printed _after_ the data, so if there's any truncation in the logging system 
> at any point, the reason will be lost. 
> The reason should be displayed before the column value, and the column value 
> should be truncated in the Exception message.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to