-
Type:
Sub-task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Integration
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Extensions aren’t allowed on views until featureFlagExtensionViewsAndUnionWith is enabled. In DocumentSourceExtensionOptimizable::create():
void DocumentSourceExtensionOptimizable::LiteParsedExpanded::bindViewInfo(...) {
uassert(ErrorCodes::NotImplemented,hasExtensionVectorSearchStage() || hasExtensionSearchStage());
throwIfrKickbackIfNecessary(name, isExtensionSearchStage, gFeatureFlagSearchExtension,search_metrics::onViewKickbackRetryCount, "...");
}
There is also an optimization in cluster_aggregate.cpp that can be added to prevent an unnecessary round-trip for views:
if (ifrContext->getSavedFlagValue(feature_flags::gFeatureFlagSearchExtension) &&
!feature_flags::gFeatureFlagExtensionViewsAndUnionWith.isEnabled()) {
state.ifrFlagsToDisableOnRetries.insert(&feature_flags::gFeatureFlagSearchExtension);
}
Integration Tests:
- $search/$searchMeta on a view with the appropriate flag disabled.
- IFR kickback fires and the query retries.
- The appropriate metric is incremented.
- $search/$searchMeta on a view with the appropriate flag enabled.
- No IFR kickback or metric increment.
- depends on
-
SERVER-122428 Add kickback helper and refactor existing kickbacks
-
- Closed
-