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

Support non-keyword fields as dimension subfields of pass-through object #105073

Closed
wants to merge 33 commits into from

Conversation

kkrik-es
Copy link
Contributor

@kkrik-es kkrik-es commented Feb 2, 2024

This is a follow-up on #103648, lifting the limitation that the pass-through object can contain only keyword fields if it's marked as time_series_dimension.

This requires updating non-keyword fields in the routing path to be included in routing calculations. The routing id in the TSDB _id (first 4 bytes) gets updated to be the shard id, so that there are no routing inconsistencies between the coordinating (without mappings) and the data (with mappings) nodes.

Related to #103567

@elasticsearchmachine
Copy link
Collaborator

Hi @kkrik-es, I've created a changelog YAML for you.

@kkrik-es kkrik-es marked this pull request as ready for review February 9, 2024 08:36
@elasticsearchmachine
Copy link
Collaborator

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

@@ -334,16 +334,13 @@ private void extractItem(String path, XContentParser source) throws IOException
source.nextToken();
break;
case VALUE_STRING:
case VALUE_NUMBER:
hashes.add(new NameAndHash(new BytesRef(path), hash(new BytesRef(source.text()))));
Copy link
Member

Choose a reason for hiding this comment

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

This isn't related to this change, but I think we should delegate to addMatching(...) here? Otherwise all fields are taken into account while hashing?

# Conflicts:
#	modules/data-streams/src/yamlRestTest/resources/rest-api-spec/test/data_stream/150_tsdb.yml
# Conflicts:
#	server/src/main/java/org/elasticsearch/index/mapper/TsidExtractingIdFieldMapper.java
# Conflicts:
#	rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/tsdb/20_mapping.yml
#	server/src/main/java/org/elasticsearch/index/mapper/TsidExtractingIdFieldMapper.java
@kkrik-es kkrik-es closed this Mar 21, 2024
@kkrik-es kkrik-es deleted the fix/103567-2 branch March 21, 2024 08:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants