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

Only render vector tile when there are executor groups #10977

Merged

Conversation

ahocevar
Copy link
Member

@ahocevar ahocevar commented Apr 28, 2020

This pull request prevents errors when there is no executor group for a tile. This can happen when a vector tile layer is configured with renderMode: vector and the source is being used by more than one layer.

@ahocevar ahocevar force-pushed the no-fail-when-no-executor-group branch 4 times, most recently from 20e78a5 to 876485b Compare April 28, 2020 21:57
@ahocevar
Copy link
Member Author

I cannot figure out why CircleCI is not able to run the test suite with this pull request. Giving up for today, maybe someone else can take a look at this.

@ahocevar
Copy link
Member Author

Ha, looks like me giving up was enough for CircleCI to behave nicely again ;-)

@ahocevar ahocevar force-pushed the no-fail-when-no-executor-group branch from 876485b to 7b86a53 Compare April 29, 2020 15:59
@ahocevar
Copy link
Member Author

I removed the CI fix, and created a separate pull request for that: #10983. Will rebase when that is merged.

@ahocevar ahocevar force-pushed the no-fail-when-no-executor-group branch from 7b86a53 to fe10577 Compare April 29, 2020 18:22
@ahocevar
Copy link
Member Author

Rebased, all green now.

@ahocevar ahocevar marked this pull request as draft April 30, 2020 06:54
@ahocevar
Copy link
Member Author

I'll see if I can handle this in a more consistent way by changing the isDrawableTile logic.

@ahocevar ahocevar force-pushed the no-fail-when-no-executor-group branch from fe10577 to 29eb314 Compare May 3, 2020 14:05
@ahocevar ahocevar marked this pull request as ready for review May 3, 2020 14:15
@ahocevar
Copy link
Member Author

ahocevar commented May 3, 2020

Ready for review now, which a much cleaner fix.

@ahocevar
Copy link
Member Author

ahocevar commented May 4, 2020

Thanks for any review.

@tschaub
Copy link
Member

tschaub commented May 4, 2020

Do you think there is a place we could throw an error the a user would see? I know we’re not consistent with this kind of thing. I was just pondering this for another case though.

@tschaub
Copy link
Member

tschaub commented May 4, 2020

Or is the right behavior just not to render (maybe I don’t understand the issue).

@ahocevar
Copy link
Member Author

ahocevar commented May 5, 2020

Or is the right behavior just not to render (maybe I don’t understand the issue).

The right behavior is not to render, because the tile is not ready for rendering yet. It will be rendered in the next cycle. That's the same in hybrid or image mode. The only difference is that renderQueuedTileImages_ also creates an executor group directly after the tile has finished loading, and in vector mode this only happens in prepareFrame.

That said, the whole vector and vector tile rendering code could use a refactoring or rewrite, i.e. simplify executor groups, improve decluttering etc. - but I guess that effort will have to wait a bit.

@ahocevar ahocevar merged commit c60a1de into openlayers:master May 5, 2020
@ahocevar ahocevar deleted the no-fail-when-no-executor-group branch May 5, 2020 07:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants