-
Notifications
You must be signed in to change notification settings - Fork 24.8k
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
Merge feature/vector tiles branch to master #73872
Conversation
This is the first iteration that just extracts most obvious shared parts of vector tile and aggregated vector tile. Besides removing code repetition this common basis will simplify dealing with async and other aspects of search api later on.
This change unifies the request parsing and makes it extensible.
Replaces a manual way of building the meta layer with a more generic way of collecting unprocessed elements of the search response.
Adds support for array serialization in meta layer
Adds support for future development under a feature flag
# Conflicts: # x-pack/plugin/spatial/build.gradle # x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/SpatialPlugin.java
# Conflicts: # server/src/main/java/org/elasticsearch/common/util/Maps.java
In addition, a few things have been added: * The API now handles cancellation which it turned to be a big performance booster. * The API supports defining a sort field. * RestVectorTileAction has been refactor to one class again. * VectorTileRequest class has been extracted so it can be unit tested.
Pinging @elastic/es-analytics-geo (Team:Analytics) |
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.
+1 to develop in master with a feature flag rather than using a feature branch. I didn't fully review, only skimmed through the changes, but please don't hold back merging if both @iverase and yourself think that this has good enough quality to be integrated into the master branch.
flatMap.put(prefix + entry.getKey(), entry.getValue()); | ||
} | ||
} | ||
return flatMap; |
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.
Do we need to care about the case when a field exists under two different paths in the map, so that one doesn't override the other? Let's document the behavior if we think it's acceptable?
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.
I think for our purpose overriding is acceptable. We can fix check for it and throw an exception if needed. I will add javadoc with the explanation of the limitations for now.
throw new IllegalArgumentException( | ||
"expected es.vector_tile_feature_flag_registered to be unset or [true|false] but was [" + property + "]" | ||
); | ||
} |
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.
any reason not to use Booleans#parseBoolean
?
...ector-tile/src/main/java/org/elasticsearch/xpack/vectortile/feature/FeatureFactoryUtils.java
Outdated
Show resolved
Hide resolved
...ctor-tile/src/main/java/org/elasticsearch/xpack/vectortile/feature/SimpleFeatureFactory.java
Outdated
Show resolved
Hide resolved
…k/vectortile/feature/FeatureFactoryUtils.java Co-authored-by: Adrien Grand <jpountz@gmail.com>
…k/vectortile/feature/SimpleFeatureFactory.java Co-authored-by: Adrien Grand <jpountz@gmail.com>
@elasticmachine update branch |
* [DOCS] Document `_mvt` API Documents the `_mvt` API endpoint added with #73872. Relates to #75242. * Reword * Rename API * Fix doc.url in JSON spec * Reword * Reword * Add content type to JSON spec * Edits * Fix typo * Reword * Update docs after meeting * Fix typos * Fix `size` default * Updates for #75522 * Fixes * Clean up JSON spec * Fix extent tag * [DOCS] Add `<field>` constraints * Minor clarification * Update for #75697 * Reword * Update for #75621 * Reword default sort * Update for #75367 * Remove unneeded whitespace * Add experimental admon and if flags * [DOCS] Remove ifdefs Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* [DOCS] Document `_mvt` API Documents the `_mvt` API endpoint added with elastic#73872. Relates to elastic#75242. * Reword * Rename API * Fix doc.url in JSON spec * Reword * Reword * Add content type to JSON spec * Edits * Fix typo * Reword * Update docs after meeting * Fix typos * Fix `size` default * Updates for elastic#75522 * Fixes * Clean up JSON spec * Fix extent tag * [DOCS] Add `<field>` constraints * Minor clarification * Update for elastic#75697 * Reword * Update for elastic#75621 * Reword default sort * Update for elastic#75367 * Remove unneeded whitespace * Add experimental admon and if flags * [DOCS] Remove ifdefs Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* [DOCS] Document `_mvt` API Documents the `_mvt` API endpoint added with #73872. Relates to #75242. * Reword * Rename API * Fix doc.url in JSON spec * Reword * Reword * Add content type to JSON spec * Edits * Fix typo * Reword * Update docs after meeting * Fix typos * Fix `size` default * Updates for #75522 * Fixes * Clean up JSON spec * Fix extent tag * [DOCS] Add `<field>` constraints * Minor clarification * Update for #75697 * Reword * Update for #75621 * Reword default sort * Update for #75367 * Remove unneeded whitespace * Add experimental admon and if flags * [DOCS] Remove ifdefs Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> Co-authored-by: James Rodewig <40268737+jrodewig@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
We would like to continue developing the vector tile feature under the feature flag in master. We realized that the further development requires refactoring the master code and it would be much easier to do if we have everything in the same branch.
Relates #58696