[YCQL] Compatibility mode to implicitly CAST JSONB data (0x0080) to TEXT for non-Yugabyte-aware Cassandra clients #19712
Labels
area/ycql
Yugabyte CQL (YCQL)
kind/new-feature
This is a request for a completely new feature
priority/medium
Medium priority issue
status/awaiting-triage
Issue awaiting triage
Jira Link: DB-8517
Description
Most existing Cassandra clients will close connections when they encounter the 0x0080 type code for JSONB. While it's possible for queries to CAST the column AS TEXT, numerous user-friendly UI applications don't do this automatically in their quick table browsing view.
Proposal: we can add a new flag
--ycql_treat_jsonb_as_text
to TServer which enables the compatibility scheme below:--ycql_treat_jsonb_as_text
implemented by Yugabyte dev and set by the server admin--ycql_treat_jsonb_as_text
not implemented, or implemented but not set by the server adminFor YCQL-aware clients to opt-in to enable the "JSONB as JSONB" mode (status quo, disabling the compatibility scheme above), we can probably utilize
OPTIONS
/SUPPORTED
/STARTUP
messages:OPTIONS
--ycql_pretend_jsonb_as_text
should includeJSONB_COLUMNS=1
in theSUPPORTED
message sent back as a replyENABLE_JSONB_COLUMNS=1
to theSTARTUP
messageThis scheme can be extended to support more sophisticated encoding of JSONB like MessagePack in the future
Issue Type
kind/new-feature
Warning: Please confirm that this issue does not contain any sensitive information
The text was updated successfully, but these errors were encountered: