-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Adding Index Setting for Data compression #20355
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
base: feature/datafusion
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -829,6 +829,13 @@ private void setSearchQueryPlanExplainEnabled(Boolean searchQueryPlaneExplainEna | |
| Property.Final | ||
| ); | ||
|
|
||
| public static final Setting<Boolean> INDEX_COMPRESSION_ENABLED_SETTING = Setting.boolSetting( | ||
| "index.compression.enabled", | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we use the existing codec setting here? We can validate what values to support in Parquet plugin itself.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also, some settings may come from parquet directly. If there is any setting which is specific to a dataformat, we should have the setting declared in the plugin itself |
||
| true, | ||
| Property.IndexScope, | ||
| Property.Final | ||
| ); | ||
|
|
||
| private final Index index; | ||
| private final Version version; | ||
| private final Logger logger; | ||
|
|
@@ -970,6 +977,11 @@ private void setRetentionLeaseMillis(final TimeValue retentionLease) { | |
| */ | ||
| private final boolean isCompositeIndex; | ||
|
|
||
| /** | ||
| * Denotes whether the Compression is enabled for this index | ||
| */ | ||
| private final boolean isCompressionEnabled; | ||
|
|
||
| /** | ||
| * Denotes whether search via star tree index is enabled for this index | ||
| */ | ||
|
|
@@ -1142,6 +1154,7 @@ public IndexSettings(final IndexMetadata indexMetadata, final Settings nodeSetti | |
| setEnableFuzzySetForDocId(scopedSettings.get(INDEX_DOC_ID_FUZZY_SET_ENABLED_SETTING)); | ||
| setDocIdFuzzySetFalsePositiveProbability(scopedSettings.get(INDEX_DOC_ID_FUZZY_SET_FALSE_POSITIVE_PROBABILITY_SETTING)); | ||
| isCompositeIndex = scopedSettings.get(StarTreeIndexSettings.IS_COMPOSITE_INDEX_SETTING); | ||
| isCompressionEnabled = scopedSettings.get(INDEX_COMPRESSION_ENABLED_SETTING); | ||
| isStarTreeIndexEnabled = scopedSettings.get(StarTreeIndexSettings.STAR_TREE_SEARCH_ENABLED_SETTING); | ||
| isOptimizedIndex = scopedSettings.get(OPTIMIZED_INDEX_ENABLED_SETTING); | ||
|
|
||
|
|
@@ -1429,6 +1442,10 @@ public boolean isCompositeIndex() { | |
| return isCompositeIndex; | ||
| } | ||
|
|
||
| public boolean isCompressionEnabled() { | ||
| return isCompressionEnabled; | ||
| } | ||
|
|
||
| /** | ||
| * Returns true if segment replication is enabled on the index. | ||
| * <p> | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change makes it very specific for compression. Can we instead pass a map here which can be read and have attribute names? Also, there are certain settings which we may want to apply for certain columns only (some may get handled via mappings as well). Can you look into if we can make the argument passed to Rust aligned to handle the index/field level settings?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Iceberg configuration for ref