public long getSyncPeriod() { if (syncPeriod == 0) { syncPeriod = EnvironmentConfig.DEFAULT.getLogSyncPeriod(); } return syncPeriod; }
@Override public long getLogSyncPeriod() { return config.getLogSyncPeriod(); }
@Override public void afterSettingChanged(@NotNull String key, @NotNull Object value, @NotNull Map<String, Object> context) { if (key.equals(EnvironmentConfig.ENV_STOREGET_CACHE_SIZE) || key.equals(EnvironmentConfig.ENV_STOREGET_CACHE_MIN_TREE_SIZE) || key.equals(EnvironmentConfig.ENV_STOREGET_CACHE_MAX_VALUE_SIZE)) { invalidateStoreGetCache(); } else if (key.equals(EnvironmentConfig.LOG_SYNC_PERIOD)) { log.getConfig().setSyncPeriod(ec.getLogSyncPeriod()); } else if (key.equals(EnvironmentConfig.LOG_DURABLE_WRITE)) { log.getConfig().setDurableWrite(ec.getLogDurableWrite()); } else if (key.equals(EnvironmentConfig.ENV_IS_READONLY) && !ec.getEnvIsReadonly()) { resumeGC(); } else if (key.equals(EnvironmentConfig.GC_UTILIZATION_FROM_SCRATCH) && ec.getGcUtilizationFromScratch()) { gc.getUtilizationProfile().computeUtilizationFromScratch(); } else if (key.equals(EnvironmentConfig.GC_UTILIZATION_FROM_FILE)) { gc.getUtilizationProfile().loadUtilizationFromFile((String) value); } else if (key.equals(EnvironmentConfig.TREE_MAX_PAGE_SIZE)) { balancePolicy = null; } else if (key.equals(EnvironmentConfig.LOG_CACHE_READ_AHEAD_MULTIPLE)) { log.getConfig().setCacheReadAheadMultiple(ec.getLogCacheReadAheadMultiple()); } } }
@NotNull public static Log newLogInstance(@NotNull final LogConfig config, @NotNull final EnvironmentConfig ec) { final Long maxMemory = ec.getMemoryUsage(); if (maxMemory != null) { config.setMemoryUsage(maxMemory); } else { config.setMemoryUsagePercentage(ec.getMemoryUsagePercentage()); } config.setReaderWriterProvider(ec.getLogDataReaderWriterProvider()); if (config.getReaderWriterProvider().isReadonly()) { ec.setEnvIsReadonly(true); config.setLockIgnored(true); } return newLogInstance(config. setFileSize(ec.getLogFileSize()). setLockTimeout(ec.getLogLockTimeout()). setCachePageSize(ec.getLogCachePageSize()). setCacheOpenFilesCount(ec.getLogCacheOpenFilesCount()). setDurableWrite(ec.getLogDurableWrite()). setSharedCache(ec.isLogCacheShared()). setNonBlockingCache(ec.isLogCacheNonBlocking()). setCacheGenerationCount(ec.getLogCacheGenerationCount()). setCleanDirectoryExpected(ec.isLogCleanDirectoryExpected()). setClearInvalidLog(ec.isLogClearInvalid()). setSyncPeriod(ec.getLogSyncPeriod()). setFullFileReadonly(ec.isLogFullFileReadonly()). setCipherProvider(ec.getCipherId() == null ? null : KryptKt.newCipherProvider(ec.getCipherId())). setCipherKey(ec.getCipherKey()). setCipherBasicIV(ec.getCipherBasicIV())); }