ruojieranyishen opened a new issue, #1488:
URL: https://github.com/apache/incubator-pegasus/issues/1488

   ### Background
   Currently, in the Pegasus 2.4.1 version, dynamic querying and modification 
of RocksDB options at the table level are not supported. While the Pegasus 
shell provides commands like `set_app_envs `and `create` for configuring 
certain table-level options, it does not include RocksDB options. Consequently, 
adding the  configure table-level RocksDB options ability would enhance the app 
configuration flexibility in Pegasus.
   ### Goals
   This issue aims to achieve the following goals:
   1. Provide online modification functionality for table-level RocksDB 
configuration.
   2. Provide online query functionality for table-level RocksDB configuration.
   3. Research on the principles, interdependencies, and modification risks of 
the rocksdb options used in Pegasus with rocksdb-6.6.4 version, and compile a 
comprehensive documentation on the usage of table-level rocksdb options.
   4. By modifying the logic of the Usage Scenario feature, unify the approach 
for setting table-level RocksDB options.
   ### Solution
   Here are the solutions for goals 1 and 2.
   The storage location of rocksdb option is as follows:
   1. Utilize the config.ini file to provide default global RocksDB options 
information.
   2.  Store table-specific RocksDB options in the envs section of the app_info 
in ZooKeeper (zk).
   
   Three scenarios to set specific rocksdb option:
   1. [Create a replica with specific rocksdb option]
   Set specify option by `create appname -e rocksdb.options ` command
   If a replica is not created, use the app envs rocksdb option from metaserver 
to create. For a  already created replica, because the app envs is not 
transmitted from the metaserver, use options from the RocksDB OPTION file as 
the reference.
   
   2. [Modify a specific rocksdb option of an online replica]
    Set specify option by `set_app_envs rocksdb.options` command
   
   3. [Query the modified option online]
   Get  specify option by `get_app_envs` command
   
   To validate the feasibility of the proposed solution, I will use 
rocksdb.write_buffer_size as a dynamically modifiable parameter and 
rocksdb.num_levels as a non-dynamically modifiable parameter to test my idea.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to