close
Skip to content

Support multi-value dimensions in downsampling (bug fix)#145458

Merged
elasticsearchmachine merged 4 commits into
elastic:mainfrom
gmarouli:support-multi-value-dimensions-in-downsampling
Apr 2, 2026
Merged

Support multi-value dimensions in downsampling (bug fix)#145458
elasticsearchmachine merged 4 commits into
elastic:mainfrom
gmarouli:support-multi-value-dimensions-in-downsampling

Conversation

@gmarouli
Copy link
Copy Markdown
Contributor

@gmarouli gmarouli commented Apr 1, 2026

#112645 introduced support for multi-value dimensions but downsampling was not handling that correctly.

Observed behaviour

Downsampling will store only one value in the downsampled document, if a document has more than one values for a dimension field.

Fix

After this fix, downsampling will create an object array with all the values and store that in the downsampled document. We also added extra tests.

@gmarouli gmarouli requested review from felixbarny and kkrik-es April 1, 2026 15:44
@gmarouli gmarouli added >bug auto-backport Automatically create backport pull requests when merged :StorageEngine/Downsampling Downsampling (replacement for rollups) - Turn fine-grained time-based data into coarser-grained data branch:9.2 branch:8.19 branch:9.3 labels Apr 1, 2026
@gmarouli gmarouli changed the title Support multi-value dimensions in downsampling Support multi-value dimensions in downsampling (bug fix) Apr 1, 2026
@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

Pinging @elastic/es-storage-engine (Team:StorageEngine)

@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

Hi @gmarouli, I've created a changelog YAML for you.

@kkrik-es kkrik-es requested review from martijnvg and removed request for felixbarny April 1, 2026 15:54
@gmarouli gmarouli added the auto-merge-without-approval Automatically merge pull request when CI checks pass (NB doesn't wait for reviews!) label Apr 2, 2026
@elasticsearchmachine elasticsearchmachine merged commit 63dfd4a into elastic:main Apr 2, 2026
36 checks passed
@gmarouli gmarouli deleted the support-multi-value-dimensions-in-downsampling branch April 2, 2026 07:10
@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

💔 Backport failed

Status Branch Result
9.2 Commit could not be cherrypicked due to conflicts
8.19 Commit could not be cherrypicked due to conflicts
9.3 Commit could not be cherrypicked due to conflicts

You can use sqren/backport to manually backport by running backport --upstream elastic/elasticsearch --pr 145458

@gmarouli
Copy link
Copy Markdown
Contributor Author

gmarouli commented Apr 2, 2026

💔 Some backports could not be created

Status Branch Result
9.3 An unhandled error occurred. Please see the logs for details
9.2 An unhandled error occurred. Please see the logs for details
8.19 Image

Manual backport

To create the backport manually run:

backport --pr 145458

Questions ?

Please refer to the Backport tool documentation

gmarouli added a commit to gmarouli/elasticsearch that referenced this pull request Apr 2, 2026
)

elastic#112645 introduced support
for multi-value dimensions but downsampling was not handling that
correctly.

**Observed behaviour**

Downsampling will store only one value in the downsampled document, if a
document has more than one values for a dimension field.

**Fix**

After this fix, downsampling will create an object array with all the
values and store that in the downsampled document. We also added extra
tests.

(cherry picked from commit 63dfd4a)

# Conflicts:
#	modules/data-streams/src/main/java/org/elasticsearch/datastreams/DataStreamFeatures.java
#	x-pack/plugin/downsample/src/main/java/org/elasticsearch/xpack/downsample/DimensionFieldDownsampler.java
gmarouli added a commit to gmarouli/elasticsearch that referenced this pull request Apr 2, 2026
)

elastic#112645 introduced support
for multi-value dimensions but downsampling was not handling that
correctly.

**Observed behaviour**

Downsampling will store only one value in the downsampled document, if a
document has more than one values for a dimension field.

**Fix**

After this fix, downsampling will create an object array with all the
values and store that in the downsampled document. We also added extra
tests.

(cherry picked from commit 63dfd4a)

# Conflicts:
#	x-pack/plugin/downsample/src/main/java/org/elasticsearch/xpack/downsample/DimensionFieldProducer.java
@gmarouli
Copy link
Copy Markdown
Contributor Author

gmarouli commented Apr 2, 2026

💚 All backports created successfully

Status Branch Result
9.3 Image
9.2 Image

Questions ?

Please refer to the Backport tool documentation

gmarouli added a commit to gmarouli/elasticsearch that referenced this pull request Apr 2, 2026
)

elastic#112645 introduced support
for multi-value dimensions but downsampling was not handling that
correctly.

**Observed behaviour**

Downsampling will store only one value in the downsampled document, if a
document has more than one values for a dimension field.

**Fix**

After this fix, downsampling will create an object array with all the
values and store that in the downsampled document. We also added extra
tests.

(cherry picked from commit 63dfd4a)

# Conflicts:
#	x-pack/plugin/downsample/src/main/java/org/elasticsearch/xpack/downsample/DimensionFieldDownsampler.java
gmarouli added a commit that referenced this pull request Apr 2, 2026
…) (#145536)

* Support multi-value dimensions in downsampling (bug fix) (#145458)

#112645 introduced support
for multi-value dimensions but downsampling was not handling that
correctly.

**Observed behaviour**

Downsampling will store only one value in the downsampled document, if a
document has more than one values for a dimension field.

**Fix**

After this fix, downsampling will create an object array with all the
values and store that in the downsampled document. We also added extra
tests.

(cherry picked from commit 63dfd4a)

# Conflicts:
#	x-pack/plugin/downsample/src/main/java/org/elasticsearch/xpack/downsample/DimensionFieldProducer.java

* Fix test

* Remove unnecessary warning
gmarouli added a commit that referenced this pull request Apr 2, 2026
…) (#145539)

* Support multi-value dimensions in downsampling (bug fix) (#145458)

#112645 introduced support
for multi-value dimensions but downsampling was not handling that
correctly.

**Observed behaviour**

Downsampling will store only one value in the downsampled document, if a
document has more than one values for a dimension field.

**Fix**

After this fix, downsampling will create an object array with all the
values and store that in the downsampled document. We also added extra
tests.

(cherry picked from commit 63dfd4a)

# Conflicts:
#	x-pack/plugin/downsample/src/main/java/org/elasticsearch/xpack/downsample/DimensionFieldDownsampler.java

* Fix assertion

* Remove unnecessary warning

* Sampling method was implemented not in 9.2
gmarouli added a commit that referenced this pull request Apr 2, 2026
) (#145535)

* Support multi-value dimensions in downsampling (bug fix) (#145458)

#112645 introduced support
for multi-value dimensions but downsampling was not handling that
correctly.

**Observed behaviour**

Downsampling will store only one value in the downsampled document, if a
document has more than one values for a dimension field.

**Fix**

After this fix, downsampling will create an object array with all the
values and store that in the downsampled document. We also added extra
tests.

(cherry picked from commit 63dfd4a)

# Conflicts:
#	modules/data-streams/src/main/java/org/elasticsearch/datastreams/DataStreamFeatures.java
#	x-pack/plugin/downsample/src/main/java/org/elasticsearch/xpack/downsample/DimensionFieldDownsampler.java

* Remove allowed warnings

* Fix assertion

* Remove sampling method, it was not implemented in 8.19
mromaios pushed a commit to mromaios/elasticsearch that referenced this pull request Apr 9, 2026
)

elastic#112645 introduced support
for multi-value dimensions but downsampling was not handling that
correctly. 

**Observed behaviour**

Downsampling will store only one value in the downsampled document, if a
document has more than one values for a dimension field.

**Fix**

After this fix, downsampling will create an object array with all the
values and store that in the downsampled document. We also added extra
tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-backport Automatically create backport pull requests when merged auto-merge-without-approval Automatically merge pull request when CI checks pass (NB doesn't wait for reviews!) >bug :StorageEngine/Downsampling Downsampling (replacement for rollups) - Turn fine-grained time-based data into coarser-grained data Team:StorageEngine v8.19.15 v9.2.9 v9.3.4 v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants