[ 
https://issues.apache.org/jira/browse/IGNITE-19530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Denis Chudov updated IGNITE-19530:
----------------------------------
    Description: 
*Motivation*

The distributed configuration keys are byte arrays formed from strings that 
contain some constant prefixes, postfixes, delimiters and identificators, 
mostly UUIDs. Example of the configuration key for default value provider type 
of table column:

{{dst-cfg.table.tables.d7b99c6a-de10-454d-9370-38d18b65e9c0.columns.d8482dae-cfb8-42b8-a759-9727dd3763a6.defaultValueProvider.type}}

It contains 2 UUIDs in string representation. Unfortunately, there are several 
configuration entries for each table column (having similar keys) and besides 
that about a dozen of keys for table itself.

As a result, configuration keys take 68% of a meta storage message related to 
table creation (for one node cluster, for a table of 2 columns and 25 
partitions) which creates excessive load on meta storage raft group in case of 
mass table creation (see IGNITE-19275 )

*Definition of done*

We should get rid of string representation of UUIDs in configuration keys, 
UUIDs should be written as 16 bytes each into byte array directly. Also, string 
constants should be reduced (or even replaced to constants consisting of few 
bytes) because there is no need to keep them human readable.

  was:
The distributed configuration keys are byte arrays formed from strings that 
contain some constant prefixes, postfixes, delimiters and identificators, 
mostly UUIDs. Example of the configuration key for default value provider type 
of table column:

{{dst-cfg.table.tables.d7b99c6a-de10-454d-9370-38d18b65e9c0.columns.d8482dae-cfb8-42b8-a759-9727dd3763a6.defaultValueProvider.type}}

It contains 2 UUIDs in string representation. Unfortunately, there are several 
configuration entries for each table column (having similar keys) and besides 
that about a dozen of keys for table itself.

As a result, configuration keys take 68% of a meta storage message related to 
table creation (for one node cluster, for a table of 2 columns and 25 
partitions) which creates excessive load on meta storage raft group in case of 
mass table creation (see IGNITE-19275 )


> Reduce size of configuration keys
> ---------------------------------
>
>                 Key: IGNITE-19530
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19530
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>
> *Motivation*
> The distributed configuration keys are byte arrays formed from strings that 
> contain some constant prefixes, postfixes, delimiters and identificators, 
> mostly UUIDs. Example of the configuration key for default value provider 
> type of table column:
> {{dst-cfg.table.tables.d7b99c6a-de10-454d-9370-38d18b65e9c0.columns.d8482dae-cfb8-42b8-a759-9727dd3763a6.defaultValueProvider.type}}
> It contains 2 UUIDs in string representation. Unfortunately, there are 
> several configuration entries for each table column (having similar keys) and 
> besides that about a dozen of keys for table itself.
> As a result, configuration keys take 68% of a meta storage message related to 
> table creation (for one node cluster, for a table of 2 columns and 25 
> partitions) which creates excessive load on meta storage raft group in case 
> of mass table creation (see IGNITE-19275 )
> *Definition of done*
> We should get rid of string representation of UUIDs in configuration keys, 
> UUIDs should be written as 16 bytes each into byte array directly. Also, 
> string constants should be reduced (or even replaced to constants consisting 
> of few bytes) because there is no need to keep them human readable.



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

Reply via email to