Build Update for apache/druid
-------------------------------------

Build: #36801
Status: Broken

Duration: 6 mins and 25 secs
Commit: d0c9c37 (master)
Author: Clint Wylie
Message: make query context changes backwards compatible (#12564)

Adds a default implementation of getQueryContext, which was added to the Query 
interface in #12396. Query is marked with @ExtensionPoint, and lately we have 
been trying to be less volatile on these interfaces by providing default 
implementations to be more chill for extension writers.

The way this default implementation is done in this PR is a bit strange due to 
the way that getQueryContext is used (mutated with system default and system 
generated keys); the default implementation has a specific object that it 
returns, and I added another temporary default method isLegacyContext that 
checks if the getQueryContext returns that object or not. If not, callers fall 
back to using getContext and withOverriddenContext to set these default and 
system values.

I am open to other ideas as well, but this way should work at least without 
exploding, and added some tests to ensure that it is wired up correctly for 
QueryLifecycle, including the context authorization stuff.

The added test shows the strange behavior if query context authorization is 
enabled, mainly that the system default and system generated query context keys 
also need to be granted as permissions for things to function correctly. This 
is not great, so I mentioned it in the javadocs as well. Not sure if it needs 
to be called out anywhere else.

View the changeset: 
https://github.com/apache/druid/compare/9f9faeec816fee7bc8936dc3cb4aa1b91450e6c3...d0c9c37e354df3b4cd8c580c528026ebabb79968

View the full build log and details: 
https://app.travis-ci.com/github/apache/druid/builds/251146926?utm_medium=notification&utm_source=email


--

You can unsubscribe from build emails from the apache/druid repository going to 
https://app.travis-ci.com/account/preferences/unsubscribe?repository=16806911&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at 
https://app.travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.

Reply via email to