Java Code Examples for org.rocksdb.BlockBasedTableConfig#setPinL0FilterAndIndexBlocksInCache()
The following examples show how to use
org.rocksdb.BlockBasedTableConfig#setPinL0FilterAndIndexBlocksInCache() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: RocksDBWrapper.java From aion with MIT License | 5 votes |
private BlockBasedTableConfig setupBlockBasedTableConfig() { BlockBasedTableConfig bbtc = new BlockBasedTableConfig(); bbtc.setBlockSize(BLOCK_SIZE); bbtc.setCacheIndexAndFilterBlocks(true); bbtc.setPinL0FilterAndIndexBlocksInCache(true); bbtc.setFilterPolicy(new BloomFilter(BLOOMFILTER_BITS_PER_KEY, false)); return bbtc; }
Example 2
Source File: RocksDbDataSourceImpl.java From gsc-core with GNU Lesser General Public License v3.0 | 4 votes |
public void initDB(RocksDbSettings settings) { resetDbLock.writeLock().lock(); try { if (isAlive()) { return; } Preconditions.checkNotNull(dataBaseName, "no name set to the dbStore"); try (Options options = new Options()) { // most of these options are suggested by https://github.com/facebook/rocksdb/wiki/Set-Up-Options // general options if (settings.isEnableStatistics()) { options.setStatistics(new Statistics()); options.setStatsDumpPeriodSec(60); } options.setCreateIfMissing(true); options.setIncreaseParallelism(1); options.setLevelCompactionDynamicLevelBytes(true); options.setMaxOpenFiles(settings.getMaxOpenFiles()); // general options supported user config options.setNumLevels(settings.getLevelNumber()); options.setMaxBytesForLevelMultiplier(settings.getMaxBytesForLevelMultiplier()); options.setMaxBytesForLevelBase(settings.getMaxBytesForLevelBase()); options.setMaxBackgroundCompactions(settings.getCompactThreads()); options.setLevel0FileNumCompactionTrigger(settings.getLevel0FileNumCompactionTrigger()); options.setTargetFileSizeMultiplier(settings.getTargetFileSizeMultiplier()); options.setTargetFileSizeBase(settings.getTargetFileSizeBase()); // table options final BlockBasedTableConfig tableCfg; options.setTableFormatConfig(tableCfg = new BlockBasedTableConfig()); tableCfg.setBlockSize(settings.getBlockSize()); tableCfg.setBlockCacheSize(32 * 1024 * 1024); tableCfg.setCacheIndexAndFilterBlocks(true); tableCfg.setPinL0FilterAndIndexBlocksInCache(true); tableCfg.setFilter(new BloomFilter(10, false)); // read options readOpts = new ReadOptions(); readOpts = readOpts.setPrefixSameAsStart(true) .setVerifyChecksums(false); try { logger.debug("Opening database"); final Path dbPath = getDbPath(); if (!Files.isSymbolicLink(dbPath.getParent())) { Files.createDirectories(dbPath.getParent()); } try { database = RocksDB.open(options, dbPath.toString()); } catch (RocksDBException e) { logger.error(e.getMessage(), e); throw new RuntimeException("Failed to initialize database", e); } alive = true; } catch (IOException ioe) { logger.error(ioe.getMessage(), ioe); throw new RuntimeException("Failed to initialize database", ioe); } logger.debug("<~ RocksDbDataSource.initDB(): " + dataBaseName); } } finally { resetDbLock.writeLock().unlock(); } }