Doug Rohrer created CASSANDRA-17117:
---------------------------------------

             Summary: CQLSSTableWriter backwards compatibility fix for Date 
fields
                 Key: CASSANDRA-17117
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17117
             Project: Cassandra
          Issue Type: Bug
          Components: Local/SSTable
            Reporter: Doug Rohrer


{{cassandra-all}} library consumers of the CQLSSTableWriter class cannot easily 
create an appropriate instance of the {{LocalDate}} class in order to write 
SSTables including dates, and the current implementation no longer accepts a 
{{int}} value as a valid input as previous versions of the class would - we 
used to use {{((AbstractType)columnSpecification.type).decompose(value);}} in 
order to serialize the value, but now we use the type codec's .serialize 
method. Unfortunately, this doesn't work when the consumer can't easily create 
the type needed (serialize, in the case of dates, takes a {{LocalDate}} 
instance which is not easy to construct outside of Cassandra internal code).

This can be worked around by catching the resulting {{ClassCastException}} 
thrown from the {{serialize}} call and falling back to the older {{decompose}} 
implementation, which would maintain backwards-compatibility with other users 
of the CQLSSTableWriter in cases where they are passing integers for date 
fields, which used to work.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to