Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Currently, if a column family does not exist, it is created by CassandraClient with CassandraMapping
but its column value validator and its comparators are UTF8Type, and it may cause an exception,
depending on its value as follows:
Column Families:
ColumnFamily: f
Key Validation Class: org.apache.cassandra.db.marshal.BytesType
Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
Columns sorted by: org.apache.cassandra.db.marshal.UTF8Type
GC grace seconds: 0
Compaction min/max thresholds: 4/32
Read repair chance: 0.0
DC Local Read repair chance: 0.0
Replicate on write: false
Caching: KEYS_ONLY
Bloom Filter FP chance: default
Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
me.prettyprint.hector.api.exceptions.HInvalidRequestException: InvalidRequestException(why:(String didn't validate.) [aarpdaily][f][ts] failed validation)
at me.prettyprint.cassandra.service.ExceptionsTranslatorImpl.translate(ExceptionsTranslatorImpl.java:52)
at me.prettyprint.cassandra.service.KeyspaceServiceImpl$1.execute(KeyspaceServiceImpl.java:97)
...
It should be BytesType instead of UTF8Type to support any value.
Attachments
Attachments
Issue Links
- relates to
-
GORA-132 Uses ByteBufferSerializer for column value to support various data types rather than StringSerializer
- Closed