public static void registerRocksDBTableFormatConfig(final String groupId, final Class<?> cls,
                                                        final BlockBasedTableConfig cfg) {
        Requires.requireNonNull(cls, "cls");
        Requires.requireNonNull(cfg, "cfg");
        String key = buildKey(groupId, cls);
        if (tableFormatConfigTable.putIfAbsent(key, cfg) != null) {
            throw new IllegalStateException("TableFormatConfig with class key [" + key
                                            + "] has already been registered");
        }
    }
Users can register a custom rocksdb BlockBasedTableConfig, then the related
classes will get their options by the key of their own class name.  If
the user does not register a config, a default config will be provided.

@param  groupId raft group id
@param cls the key of BlockBasedTableConfig
@param cfg the BlockBasedTableConfig
jraft-core/src/main/java/com/alipay/sofa/jraft/util/StorageOptionsFactory.java