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]