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


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