Package voldemort.store.bdb

Source Code of voldemort.store.bdb.BdbRuntimeConfig

package voldemort.store.bdb;

import voldemort.server.VoldemortConfig;
import voldemort.utils.Time;

import com.sleepycat.je.LockMode;

/**
* Runtime (i.e., post Environment creation) configuration for BdbStorageEngine
*
*/
public class BdbRuntimeConfig {

    public static final long DEFAULT_STATS_CACHE_TTL_MS = 5 * Time.MS_PER_SECOND;
    public static final LockMode DEFAULT_LOCK_MODE = LockMode.READ_UNCOMMITTED;
    public static final boolean DEFAULT_EXPOSE_SPACE_UTIL = true;
    public static final boolean DEFAULT_MINIMIZE_SCAN_IMPACT = false;
    public static final boolean DEFAULT_TURNOFF_CHECKPOINTER_BATCH_WRITES = false;

    private long statsCacheTtlMs = DEFAULT_STATS_CACHE_TTL_MS;
    private LockMode lockMode = DEFAULT_LOCK_MODE;
    private boolean exposeSpaceUtil = DEFAULT_EXPOSE_SPACE_UTIL;
    private boolean minimizeScanImpact = DEFAULT_MINIMIZE_SCAN_IMPACT;
    private boolean checkpointerOffForBatchWrites = DEFAULT_TURNOFF_CHECKPOINTER_BATCH_WRITES;

    public BdbRuntimeConfig() {

    }

    public BdbRuntimeConfig(VoldemortConfig config) {
        LockMode lockMode = config.getBdbReadUncommitted() ? LockMode.READ_UNCOMMITTED
                                                          : LockMode.DEFAULT;
        setLockMode(lockMode);
        setStatsCacheTtlMs(config.getBdbStatsCacheTtlMs());
        setExposeSpaceUtil(config.getBdbExposeSpaceUtilization());
        setMinimizeScanImpact(config.getBdbMinimizeScanImpact());
        setCheckpointerOffForBatchWrites(config.getBdbCheckpointerOffForBatchWrites());
    }

    public long getStatsCacheTtlMs() {
        return statsCacheTtlMs;
    }

    public BdbRuntimeConfig setStatsCacheTtlMs(long statsCacheTtlMs) {
        this.statsCacheTtlMs = statsCacheTtlMs;
        return this;
    }

    public LockMode getLockMode() {
        return lockMode;
    }

    public BdbRuntimeConfig setLockMode(LockMode lockMode) {
        this.lockMode = lockMode;
        return this;
    }

    public void setExposeSpaceUtil(boolean expose) {
        this.exposeSpaceUtil = expose;
    }

    public boolean getExposeSpaceUtil() {
        return this.exposeSpaceUtil;
    }

    public boolean getMinimizeScanImpact() {
        return minimizeScanImpact;
    }

    public void setMinimizeScanImpact(boolean minimizeScanImpact) {
        this.minimizeScanImpact = minimizeScanImpact;
    }

    public boolean isCheckpointerOffForBatchWrites() {
        return checkpointerOffForBatchWrites;
    }

    public void setCheckpointerOffForBatchWrites(boolean checkpointerOffForBulkWrites) {
        this.checkpointerOffForBatchWrites = checkpointerOffForBulkWrites;
    }

}
TOP

Related Classes of voldemort.store.bdb.BdbRuntimeConfig

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.