[ 
https://issues.apache.org/jira/browse/CASSANDRA-20827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18014034#comment-18014034
 ] 

Marko Tsymbaliuk commented on CASSANDRA-20827:
----------------------------------------------

Pull Request: https://github.com/apache/cassandra/pull/4316

Implemented JSON serialization for complex settings as requested. The PR 
includes:
- Modified SettingsTable.getValue() to use JsonUtils for arrays, maps, and 
collections
- Updated all affected tests for new JSON format
- Added fallback error handling

Ready for review!

> Represent complex settings as JSON on system_views.settings table
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-20827
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-20827
>             Project: Apache Cassandra
>          Issue Type: Improvement
>          Components: Local/Config
>            Reporter: Paulo Motta
>            Assignee: Marko Tsymbaliuk
>            Priority: Normal
>
> Complex configuration (maps/sets/lists) are represented as 
> Collections.toString() on {{system.settings}} virtual table:
> {code:java}
> cqlsh> select * from system_views.settings where name='seed_provider' ;
>  name | value
> ------+-------
> (0 rows)
> cqlsh> select * from system_views.settings where 
> name='seed_provider.parameters' ;
>  name                     | value
> --------------------------+------------------------
>  seed_provider.parameters | {seeds=127.0.0.1:7000}
> {code}
> While this is fine for human consumption, it's not ideal for programmatic 
> access, since it requires custom parsing. 
> This ticket is to add ability of representing complex types as JSON on 
> {{system.settings}} and potentially making it default in trunk, so the above 
> would return:
> {code:java}
> cqlsh> select * from system_views.settings where name='seed_provider' ;
>  name | value
> ------+-------
> (0 rows)
> cqlsh> select * from system_views.settings where 
> name='seed_provider.parameters' ;
>  name                     | value
> --------------------------+------------------------
>  seed_provider.parameters | {"seeds": "127.0.0.1:7000"}{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to