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

Merge feature/vector tiles branch to master #73872

Merged
merged 27 commits into from
Jun 18, 2021
Merged

Conversation

imotov
Copy link
Contributor

@imotov imotov commented Jun 7, 2021

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

iverase and others added 20 commits March 30, 2021 19:09
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.
@imotov imotov added >non-issue :Analytics/Geo Indexing, search aggregations of geo points and shapes v8.0.0 labels Jun 7, 2021
@imotov imotov requested review from rjernst and jpountz June 7, 2021 22:35
@elasticmachine elasticmachine added the Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) label Jun 7, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-analytics-geo (Team:Analytics)

@imotov imotov removed the request for review from rjernst June 8, 2021 04:30
Copy link
Contributor

@jpountz jpountz left a 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;
Copy link
Contributor

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?

Copy link
Contributor Author

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 + "]"
);
}
Copy link
Contributor

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?

…k/vectortile/feature/FeatureFactoryUtils.java

Co-authored-by: Adrien Grand <jpountz@gmail.com>
@imotov
Copy link
Contributor Author

imotov commented Jun 17, 2021

@elasticmachine update branch

@imotov imotov merged commit 82ae674 into master Jun 18, 2021
@imotov imotov deleted the feature/vector-tiles branch June 18, 2021 00:27
@iverase iverase added the v7.15.0 label Jul 7, 2021
elasticsearchmachine pushed a commit that referenced this pull request Aug 5, 2021
* [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>
elasticsearchmachine pushed a commit to elasticsearchmachine/elasticsearch that referenced this pull request Aug 5, 2021
* [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>
elasticsearchmachine added a commit that referenced this pull request Aug 5, 2021
* [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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Analytics/Geo Indexing, search aggregations of geo points and shapes >non-issue Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) v7.15.0 v8.0.0-alpha1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants