Class SparkseeConfig
If not specified, 0 means unlimited which is the maximum available. For the pools that's the total cache size. For the cache unlimited means nearly all the physical memory of the computer.
For each field, there is a default value. This value can be overrided with values from a properties file (see SparkseeProperties class). Also, this settings can be overrided calling a specific setter.
For each field, it is shown its default value and the property to override this value:
Extent size: 4KB ('sparksee.storage.extentsize' at SparkseeProperties).
Pages per extent: 1 page ('sparksee.storage.extentpages' at SparkseeProperties).
Checksums enabled: true ('sparksee.storage.checksum' at SparkseeProperties).
Pool frame size: 1 extent ('sparksee.io.pool.frame.size' at SparkseeProperties).
Minimum size for the persistent pool: 64 frames ('sparksee.io.pool.persistent.minsize' at SparkseeProperties).
Maximum size for the persistent pool: 0 frames ('sparksee.io.pool.persistent.maxsize' at SparkseeProperties).
Minimum size for the temporary pool: 16 frames ('sparksee.io.pool.temporal.minsize' at SparkseeProperties).
Maximum size for the temporary pool: 0 frames ('sparksee.io.pool.temporal.maxsize' at SparkseeProperties).
Number of pools in the pool cluster: 0 pools ('sparksee.io.pool.clustersize' at SparkseeProperties). 0 or 1 means the clustering is disabled.
Maximum size for the cache (all pools): 0 MB ('sparksee.io.cache.maxsize' at SparkseeProperties).
License code: "" ('sparksee.license' at SparkseeProperties). No license code means evaluation license.
Log level: Info ('sparksee.log.level' at SparkseeProperties).
Log file: "sparksee.log" ('sparksee.log.file' at SparkseeProperties).
Cache statistics: false (disabled) ('sparksee.cache.statistics' at SparkseeProperties).
Cache statistics log file: "statistics.log" ('sparksee.cache.statisticsFile' at SparkseeProperties).
Cache statistics snapshot time: 1000 msecs [TimeUnit] ('sparksee.cache.statisticsSnapshotTime' at SparkseeProperties).
Recovery enabled: false ('sparksee.io.recovery' at SparkseeProperties).
Recovery log file: "" ('sparksee.io.recovery.logfile' at SparkseeProperties).
Recovery cache max size: 1MB ('sparksee.io.recovery.cachesize' at SparkseeProperties).
Recovery checkpoint time: 60 seconds [TimeUnit] ('sparksee.io.recovery.checkpointTime' at SparkseeProperties).
High-availability: false (disabled) ('sparksee.ha' at SparkseeProperties).
High-availability coordinators: "" ('sparksee.ha.coordinators' at SparkseeProperties).
High-availability IP: "" ('sparksee.ha.ip' at SparkseeProperties).
High-availability sync polling: 0 (disabled) [TimeUnit] ('sparksee.ha.sync' at SparkseeProperties).
High-availability master history: 1D (1 day) [TimeUnit] ('sparksee.ha.master.history' at SparkseeProperties).
Use of TimeUnit:
Those variables using TimeUnit allow for:
<X>[D|H|M|S|s|m|u]
where <X> is a number followed by an optional character which represents the unit: D for days, H for hours, M for minutes, S or s for seconds, m for milliseconds and u for microseconds. If no unit character is given, seconds are assumed.
Capture abort signals to dump the call stack ('sparksee.callstackdump' at SparkseeProperties) is enabled by default on most platforms.
- Author:
- Sparsity Technologies http://www.sparsity-technologies.com
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new instance.SparkseeConfig(String path) Creates a new instance with a specific config file.SparkseeConfig(String path, String clientId, String licenseId) Creates a new instance with a specific config file and IDs. -
Method Summary
Modifier and TypeMethodDescriptionbooleanCheck if a new license will be automatically downloaded with the current settings.intTry to download a license key Can be used to explicitly download a license when the autodownload is disabled (LicensePreDownloadDays == -1).getAESIV()Get the AES initialization vector in a hexadecimal encoded string.Get the AES encryption key in a hexadecimal encoded string.intGets the maximum size for the cache (all pools) in MB.booleanGets whether cache statistics are enabled or disabled.Gets the cache statistics log file.longGets the cache statistics snapshot time in microseconds.booleanGets whether the signals will be captured to dump the call stack or not.booleanGets whether the storage checksum usage is enabled or disabled.Gets the client identifier.Gets a message with the license download result.booleanGets whether the storage encryption is enabled or disabled.intGets the number of pages per extent.intGets the size of a extent.Gets the coordinators address and port list.booleanGets whether high availability mode is enabled or disabled.Gets the IP address and port of the instance.longGets the master's history log.longGets the synchronization polling time.longGets the in-memory allocator size.Gets the license key.Gets the license identifier.intGet the number of days before expiration when a new license will be downloaded.Get information useful to manually request a license.Gets the log file.Gets the log level.Gets the Plugins directory.intGets the size of a pool frame in number of extents.intGets the number of partitions in each PartitionedPool.intGets the maximum size for the persistent pool in number of frames.intGets the minimum size for the persistent pool in number of frames.intGets the maximum size for the temporary pool in number of frames.intGets the minimum size for the temporary pool in number of frames.intGets the maximum size for the recovery log cache in extents.longGets the delay time (in microseconds) between automatic checkpoints.booleanGets whether the recovery is enabled or disabled.Gets the recovery log file.booleanGets whether the rollback is enabled or disabled.Gets the config file path.booleanGets whether using temporary storage for computations is enabled.Gets the temporary folder used for temporary staging.booleansave()Save the current configuration in the specified config file.booleansaveAll()Save all the current configuration settings in the specified config file.booleansetAESEncryptionEnabled(int keySize) Enables storage encryption using AES and GENARATES a key and an iv.booleansetAESEncryptionEnabled(String keyInHex, String ivInHex) Enables storage encryption using AES with the given key and iv.voidsetCacheMaxSize(int megaBytes) Sets the maximum size for the cache (all pools) in MB.voidsetCacheStatisticsEnabled(boolean status) Enables or disables cache statistics.voidsetCacheStatisticsFile(String filePath) Sets the cache statistics log file.voidsetCacheStatisticsSnapshotTime(long microSeconds) Sets the cache statistics snapshot time.voidsetCallStackDump(boolean status) Sets whether the signals will be captured to dump the call stack or not.voidsetChecksumEnabled(boolean status) Enables or disables the storage checksum usage.voidsetClientId(String clientId) Set the client identifier.voidDisables storage encryption.voidsetExtentPages(int pages) Sets the number of pages per extent.voidsetExtentSize(int kBytes) Sets the size of the extents in KB.voidSets the coordinators address and port list.voidsetHighAvailabilityEnabled(boolean status) Enables or disables high availability mode.voidSets the IP address and port of the instance.voidsetHighAvailabilityMasterHistory(long filePath) Sets the master's history log.voidsetHighAvailabilitySynchronization(long microSeconds) Sets the synchronization polling time.voidsetInMemAllocSize(long size) Sets the in-memory allocator size.intsetLicense(String key) Sets the license key.voidsetLicenseId(String licenseId) Set the license identifier.voidsetLicensePreDownloadDays(int days) Start trying to automatically download a new license at the specified number of days before expiration.voidsetLogFile(String filePath) Sets the log file.voidsetLogLevel(LogLevel level) Sets the log level.voidsetPluginsDir(String dirPath) Sets the Plugins directory.voidsetPoolFrameSize(int extents) Sets the size of a pool frame in number of extents.voidsetPoolPartitions(int pools) Sets the number of pools in each PartitionedPool.voidsetPoolPersistentMaxSize(int frames) Sets the maximum size for the persistent pool in number of frames.voidsetPoolPersistentMinSize(int frames) Sets the minimum size for the persistent pool in number of frames.voidsetPoolTemporaryMaxSize(int frames) Sets the maximum size for the temporary pool in number of frames.voidsetPoolTemporaryMinSize(int frames) Sets the minimum size for the temporary pool in number of frames.voidsetRecoveryCacheMaxSize(int extents) Sets the maximum size for the recovery log cache in extents.voidsetRecoveryCheckpointTime(long microSeconds) Sets the delay time (in microseconds) between automatic checkpoints.voidsetRecoveryEnabled(boolean status) Enables or disables the recovery.voidsetRecoveryLogFile(String filePath) Sets the recovery log file.voidsetRollbackEnabled(boolean status) Enables or disables the rollback.voidsetSparkseeConfigFile(String path) Sets the config file path.voidsetTmpEnabled(boolean enabled) Sets whether to use temporary storage for computations or not.voidsetTmpFolder(String tmpFolder) Sets the temporary folder used for temporary staging.
-
Constructor Details
-
SparkseeConfig
Creates a new instance with a specific config file.The config file will be loaded using the global properties class and the file may be automatically overwritten with the config changes. If the file doesn't exists, it will be created.
- Parameters:
path- [in] File path to the config file.
-
SparkseeConfig
Creates a new instance with a specific config file and IDs.The config file will be loaded using the global properties class and the file may be automatically overwritten with the config changes. If the config file already exists, the client and license ids should have the same values as the given arguments. If the file doesn't exists, it will be created.
- Parameters:
path- [in] File path to the config file.clientId- [in] The client identifier.licenseId- [in] The license identifier.
-
SparkseeConfig
public SparkseeConfig()Creates a new instance.Values are set with default values.
-
-
Method Details
-
setRecoveryEnabled
public void setRecoveryEnabled(boolean status) Enables or disables the recovery.- Parameters:
status- [in] If TRUE this enables the recovery, if FALSE then disables it.
-
setLicensePreDownloadDays
public void setLicensePreDownloadDays(int days) Start trying to automatically download a new license at the specified number of days before expiration.- Parameters:
days- [in] Number of days before expiration or -1 if the license should never be downloaded.
-
getExtentPages
public int getExtentPages()Gets the number of pages per extent.- Returns:
- The number of pages per extent.
-
saveAll
public boolean saveAll()Save all the current configuration settings in the specified config file.It will try to save the current configuration only if a config file was specified. The saved config file WILL CONATAIN all the modified settings including the secret ENCRYPTION KEYS. You should usually just use the Save method instead.
- Returns:
- Returns true if the config file is successfully written or false otherwise.
-
getAESKey
Get the AES encryption key in a hexadecimal encoded string.- Returns:
- The AES encryption Key as an hexadecimal string.
-
getPoolPersistentMaxSize
public int getPoolPersistentMaxSize()Gets the maximum size for the persistent pool in number of frames.- Returns:
- The maximum size for the persistent pool in number of frames.
-
getPoolTemporaryMinSize
public int getPoolTemporaryMinSize()Gets the minimum size for the temporary pool in number of frames.- Returns:
- The minimum size for the temporary pool in number of frames.
-
getCallStackDump
public boolean getCallStackDump()Gets whether the signals will be captured to dump the call stack or not.- Returns:
- TRUE if the signals must be captured, FALSE otherwise.
-
setRecoveryCacheMaxSize
public void setRecoveryCacheMaxSize(int extents) Sets the maximum size for the recovery log cache in extents.- Parameters:
extents- [in] The maximum size for the recovery log cache in extents. A 0 sets the default value (extents up to 1MB).
-
setAESEncryptionEnabled
Enables storage encryption using AES with the given key and iv.The key and initialization vector will not be saved in the config file.
- Parameters:
keyInHex- [In] The AES encryption Key as an hexadecimal string (8, 16 or 32 bytes).ivInHex- [In] The AES Initialization Vector as an hexadecimal string (16 bytes).- Returns:
- Returns true if the encryption had been enabled with the given arguments or false otherwise.
-
setPluginsDir
Sets the Plugins directory.- Parameters:
dirPath- [in] The plugins directory path.
-
getHighAvailabilityEnabled
public boolean getHighAvailabilityEnabled()Gets whether high availability mode is enabled or disabled.- Returns:
- TRUE if high availability mode is enabled, FALSE otherwise.
-
getPoolPersistentMinSize
public int getPoolPersistentMinSize()Gets the minimum size for the persistent pool in number of frames.- Returns:
- The minimum size for the persistent pool in number of frames.
-
setChecksumEnabled
public void setChecksumEnabled(boolean status) Enables or disables the storage checksum usage.- Parameters:
status- [in] If TRUE this enables the checksum, if FALSE then disables it.
-
setPoolPersistentMinSize
public void setPoolPersistentMinSize(int frames) Sets the minimum size for the persistent pool in number of frames.- Parameters:
frames- [in] The minimum size for the persistent pool in number of frames. It must be non-negative.
-
setCacheStatisticsEnabled
public void setCacheStatisticsEnabled(boolean status) Enables or disables cache statistics.- Parameters:
status- [in] If TRUE this enables cache statistics, if FALSE this disables cache statistics.
-
setRecoveryCheckpointTime
public void setRecoveryCheckpointTime(long microSeconds) Sets the delay time (in microseconds) between automatic checkpoints.- Parameters:
microSeconds- [in] The delay time (in microseconds) between automatic checkpoints. A 0 forces a checkpoint after each commited transaction.
-
setEncryptionDisabled
public void setEncryptionDisabled()Disables storage encryption. -
setRecoveryLogFile
Sets the recovery log file.filePath[in] The recovery log file. Left it empty for the default log file (same as <database_file_name>.log)
- Parameters:
filePath- [in] The recovery log file. Left it empty for the default log file (same as <database_file_name>.log)
-
setPoolFrameSize
public void setPoolFrameSize(int extents) Sets the size of a pool frame in number of extents.- Parameters:
extents- [in] The size of a pool frame in number of extents. It must be non-negative.
-
getRecoveryLogFile
-
setHighAvailabilityEnabled
public void setHighAvailabilityEnabled(boolean status) Enables or disables high availability mode.- Parameters:
status- [in] If TRUE this enables high availability mode, if FALSE this disables high availability mode.
-
getCacheStatisticsSnapshotTime
public long getCacheStatisticsSnapshotTime()Gets the cache statistics snapshot time in microseconds.Useless if cache statistics are disabled.
- Returns:
- The cache statistics snapshot time in microseconds.
-
getExtentSize
public int getExtentSize()Gets the size of a extent.- Returns:
- The size of a extent in KB.
-
getSparkseeConfigFile
Gets the config file path.- Returns:
- Returns the configured path or an empty string
-
setExtentSize
public void setExtentSize(int kBytes) Sets the size of the extents in KB.- Parameters:
kBytes- [in] The size of an extent in KB. An extent can have a size between 4KB and 64KB, and it must be a power of 2.
-
getPluginsDir
-
setHighAvailabilityIP
Sets the IP address and port of the instance.- Parameters:
ip- [in] The IP address and port of the instance.
-
getPoolTemporaryMaxSize
public int getPoolTemporaryMaxSize()Gets the maximum size for the temporary pool in number of frames.- Returns:
- The maximum size for the temporary pool in number of frames.
-
setInMemAllocSize
public void setInMemAllocSize(long size) Sets the in-memory allocator size.- Parameters:
size- The size to set the in-memory allocator to
-
setHighAvailabilityMasterHistory
public void setHighAvailabilityMasterHistory(long filePath) Sets the master's history log.- Parameters:
filePath- [in] The master's history log.
-
setTmpEnabled
public void setTmpEnabled(boolean enabled) Sets whether to use temporary storage for computations or not.- Parameters:
enabled- True to use temporary storage for computation
-
getLogFile
-
getTmpEnabled
public boolean getTmpEnabled()Gets whether using temporary storage for computations is enabled.- Returns:
- True if enabled
-
getPoolFrameSize
public int getPoolFrameSize()Gets the size of a pool frame in number of extents.- Returns:
- The size of a pool frame in number of extents.
-
getCacheStatisticsEnabled
public boolean getCacheStatisticsEnabled()Gets whether cache statistics are enabled or disabled.- Returns:
- TRUE if cache statistics are enabled, FALSE otherwise.
-
setHighAvailabilityCoordinators
Sets the coordinators address and port list.- Parameters:
ip- [in] The coordinators address and port list.
-
setHighAvailabilitySynchronization
public void setHighAvailabilitySynchronization(long microSeconds) Sets the synchronization polling time.- Parameters:
microSeconds- [in] The synchronization polling time.
-
getClientId
-
getCacheStatisticsFile
Gets the cache statistics log file.Useless if cache statistics are disabled.
- Returns:
- The cache statistics log file.
-
setSparkseeConfigFile
Sets the config file path.The file is not loaded in this operation, see the constructor options if you need to load the file. The config file may be automatically overwritten with the config changes. If the file doesn't exists, it will be created.
- Parameters:
path- [in] File path to the config file.
-
save
public boolean save()Save the current configuration in the specified config file.It will try to save the current configuration only if a config file was specified. This method will be automatically used when a Sparksee class downloads a new License.
- Returns:
- Returns true if the config file is successfully written or false otherwise.
-
setPoolPersistentMaxSize
public void setPoolPersistentMaxSize(int frames) Sets the maximum size for the persistent pool in number of frames.- Parameters:
frames- [in] The maximum size for the persistent pool in number of frames. It must be non-negative.
-
getLogLevel
-
setLicense
Sets the license key.- Parameters:
key- [in] The license key. Returns -1 if the new key can't be used, 0 if it's the same license or 1 if the new license is applied.
-
getDownloadStatus
Gets a message with the license download result.It can be used when the DownloadLicense call failed.
- Returns:
- The log download result.
-
setLicenseId
Set the license identifier.If you don't have a license identifier, you may want to register at http://sparsity-technologies.com/#sparksee
- Parameters:
licenseId- [in] The license identifier.
-
getLicense
-
getHighAvailabilityIP
Gets the IP address and port of the instance.- Returns:
- The IP address and port of the instance.
-
setAESEncryptionEnabled
public boolean setAESEncryptionEnabled(int keySize) Enables storage encryption using AES and GENARATES a key and an iv.YOU MUST GET AND KEEP SAFE THE GENERATED KEY AND IV! The key and initialization vector will not be saved in the config file.
- Parameters:
keySize- [In] The key size in bytes (8, 16 or 32).- Returns:
- Returns true if the encryption had been enabled.
-
getInMemAllocSize
public long getInMemAllocSize()Gets the in-memory allocator size.- Returns:
- Returns the in-memory allocator size
-
getLicensePreDownloadDays
public int getLicensePreDownloadDays()Get the number of days before expiration when a new license will be downloaded.- Returns:
- Returns the number of days or -1 if it will never be automatically downloaded.
-
setCallStackDump
public void setCallStackDump(boolean status) Sets whether the signals will be captured to dump the call stack or not.- Parameters:
status- [in] If TRUE signals must be captured.
-
downloadLicense
public int downloadLicense()Try to download a license key Can be used to explicitly download a license when the autodownload is disabled (LicensePreDownloadDays == -1).- Returns:
- Returns -1 if a valid license key couldn't be downloaded, 0 if the same license was downloaded or 1 if a different license is downloaded.
-
getRecoveryEnabled
public boolean getRecoveryEnabled()Gets whether the recovery is enabled or disabled.- Returns:
- TRUE if the recovery is enabled, FALSE otherwise.
-
getLicenseRequest
Get information useful to manually request a license. -
setCacheStatisticsFile
Sets the cache statistics log file.Useless if cache statistics are disabled.
- Parameters:
filePath- [in] The cache statistics log file.
-
getTmpFolder
Gets the temporary folder used for temporary staging.- Returns:
- The temporary folder path
-
getPoolPartitions
public int getPoolPartitions()Gets the number of partitions in each PartitionedPool.- Returns:
- The number of partitions in each PartitionedPool.
-
getHighAvailabilityCoordinators
Gets the coordinators address and port list.- Returns:
- The coordinators address and port list.
-
getRecoveryCheckpointTime
public long getRecoveryCheckpointTime()Gets the delay time (in microseconds) between automatic checkpoints.- Returns:
- The delay time (in microseconds) between automatic checkpoints.
-
setLogFile
Sets the log file.- Parameters:
filePath- [in] The log file.
-
setExtentPages
public void setExtentPages(int pages) Sets the number of pages per extent.- Parameters:
pages- [in] The number of pages. It must be at least 1 page and the page size must be greater than or equal to 4KB.
-
setClientId
Set the client identifier.If you don't have a client identifier, you may want to register at http://sparsity-technologies.com/#sparksee
- Parameters:
clientId- [in] The client identifier.
-
setLogLevel
-
getRecoveryCacheMaxSize
public int getRecoveryCacheMaxSize()Gets the maximum size for the recovery log cache in extents.- Returns:
- The maximum size for the recovery log cache in extents.
-
getChecksumEnabled
public boolean getChecksumEnabled()Gets whether the storage checksum usage is enabled or disabled.- Returns:
- TRUE if the checksum is enabled, FALSE otherwise.
-
getHighAvailabilitySynchronization
public long getHighAvailabilitySynchronization()Gets the synchronization polling time.- Returns:
- The Synchronization polling time.
-
getHighAvailabilityMasterHistory
public long getHighAvailabilityMasterHistory()Gets the master's history log.- Returns:
- The master's history log.
-
getLicenseId
-
getAESIV
Get the AES initialization vector in a hexadecimal encoded string.- Returns:
- The AES initialization vector as an hexadecimal string.
-
getEncryptionEnabled
public boolean getEncryptionEnabled()Gets whether the storage encryption is enabled or disabled.- Returns:
- TRUE if the encryption is enabled, FALSE otherwise.
-
setPoolPartitions
public void setPoolPartitions(int pools) Sets the number of pools in each PartitionedPool.- Parameters:
pools- [in] The number of pools in each PartitionedPool. It must be non-negative.
-
getRollbackEnabled
public boolean getRollbackEnabled()Gets whether the rollback is enabled or disabled.- Returns:
- TRUE if the rollback is enabled, FALSE otherwise.
-
setPoolTemporaryMaxSize
public void setPoolTemporaryMaxSize(int frames) Sets the maximum size for the temporary pool in number of frames.- Parameters:
frames- [in] The maximum size for the temporary pool in number of frames. It must be non-negative.
-
getCacheMaxSize
public int getCacheMaxSize()Gets the maximum size for the cache (all pools) in MB.- Returns:
- The maximum size for the cache (all pools) in MB.
-
setRollbackEnabled
public void setRollbackEnabled(boolean status) Enables or disables the rollback.- Parameters:
status- [in] If TRUE this enables the rollback, if FALSE then disables it.
-
setTmpFolder
Sets the temporary folder used for temporary staging.- Parameters:
tmpFolder- The temporary folder to set
-
setCacheStatisticsSnapshotTime
public void setCacheStatisticsSnapshotTime(long microSeconds) Sets the cache statistics snapshot time.Useless if cache statistics are disabled.
- Parameters:
microSeconds- [in] The cache statistics snapshot time in microseconds.
-
setCacheMaxSize
public void setCacheMaxSize(int megaBytes) Sets the maximum size for the cache (all pools) in MB.- Parameters:
megaBytes- [in] The maximum size for the cache (all pools) in MB. It must be non-negative.
-
setPoolTemporaryMinSize
public void setPoolTemporaryMinSize(int frames) Sets the minimum size for the temporary pool in number of frames.- Parameters:
frames- [in] The minimum size for the temporary pool in number of frames. It must be non-negative.
-
downloadExpected
public boolean downloadExpected()Check if a new license will be automatically downloaded with the current settings.
-