mikebridge commented on code in PR #45133:
URL: https://github.com/apache/superset/pull/45133#discussion_r4235480742
##########
superset/semantic_layers/models.py:
##########
@@ -786,9 +786,11 @@ def result_cache_discriminator(self) -> tuple[str, str] |
None:
def get_extra_cache_keys(self, query_obj: QueryObjectDict) ->
list[Hashable]:
discriminator: tuple[str, str] | None = self.result_cache_discriminator
- if discriminator is None:
- return []
- return [("semantic-result-version", *discriminator)]
+ # Separate cached pre-normalization results during rolling deployments.
+ keys: list[Hashable] = ["semantic-null-filters-v1"]
Review Comment:
You're right about the stale parent-cache path. I checked it with a real
Slice and saved semantic query context: annotation execution resolves that
context and reaches ChartDataCommand with the NULL filter, while the parent key
stays unchanged. The earlier check established that Slice.datasource is
table-only; it did not establish that semantic annotation execution is
unreachable.
Adding the marker inside the existing SemanticView check would still not
fire. A working fix needs either an annotation-context version bump (also
cold-starting SQL-only annotation caches), or source resolution matching the
saved query context before adding the marker, coordinated with #45100. That
touches the shared query-context processor outside this PR's current file
scope, so I’m leaving this open for that coordinated correction; no fix is
claimed yet.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]