Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Default Configuration for RocksDB MaxManifestFileSize #1706

Merged

Conversation

yehaolan
Copy link
Contributor

@yehaolan yehaolan commented Aug 20, 2024

Changes

  • Add new configuration stores.default.rocksdb.max.manifest.file.size in Samza allowing to set the default manifest file size for all stores.
  • Update the Samza Configuration table

Tests

  • unit test in TestStorageConfig.java

@@ -321,7 +321,8 @@ These properties define Samza's storage mechanism for efficient [stateful stream
|stores.**_store-name_**.<br>rocksdb.keep.log.file.num|2|The number of RocksDB LOG files (including rotated LOG.old.* files) to keep.|
|stores.**_store-name_**.<br>rocksdb.metrics.list|(none)|A list of [RocksDB properties](https://github.com/facebook/rocksdb/blob/master/include/rocksdb/db.h#L409) to expose as metrics (gauges).|
|stores.**_store-name_**.<br>rocksdb.delete.obsolete.files.period.micros|21600000000|This property specifies the period in microseconds to delete obsolete files regardless of files removed during compaction. Allowed range is up to 9223372036854775807.|
|stores.**_store-name_**.<br>rocksdb.max.manifest.file.size|18446744073709551615|This property specifies the maximum size of the MANIFEST data file, after which it is rotated. Default value is also the maximum, making it practically unlimited: only one manifest file is used.|
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The number was outdated, and it should be 1024^3 which is 1073741824

Copy link
Contributor

@ajothomas ajothomas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Some small comments.

Copy link
Member

@dxichen dxichen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the match

Some minor readability comments


static final String DEFAULT_ROCKSDB_MAX_MANIFEST_FILE_SIZE =
STORE_PREFIX + DEFAULT_STORE_NAME + ".rocksdb.max.manifest.file.size";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for the default config, lets not follow the same format as the config with named stores in case of default table name collision

@yehaolan yehaolan requested a review from dxichen August 22, 2024 22:26
@ajothomas ajothomas merged commit a52ef9d into apache:master Aug 26, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants