Skip to content

Commit

Permalink
Change disable order by dynamic config to per namespace (#4063)
Browse files Browse the repository at this point in the history
  • Loading branch information
rodrigozhou committed Mar 20, 2023
1 parent 129f2f8 commit 0d0cad4
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 14 deletions.
6 changes: 3 additions & 3 deletions common/persistence/visibility/factory.go
Expand Up @@ -63,7 +63,7 @@ func NewManager(
advancedVisibilityWritingMode dynamicconfig.StringPropertyFn,
enableReadFromSecondaryAdvancedVisibility dynamicconfig.BoolPropertyFnWithNamespaceFilter,
enableWriteToSecondaryAdvancedVisibility dynamicconfig.BoolPropertyFn,
visibilityDisableOrderByClause dynamicconfig.BoolPropertyFn,
visibilityDisableOrderByClause dynamicconfig.BoolPropertyFnWithNamespaceFilter,

metricsHandler metrics.Handler,
logger log.Logger,
Expand Down Expand Up @@ -201,7 +201,7 @@ func NewAdvancedManager(

advancedVisibilityPersistenceMaxReadQPS dynamicconfig.IntPropertyFn,
advancedVisibilityPersistenceMaxWriteQPS dynamicconfig.IntPropertyFn,
visibilityDisableOrderByClause dynamicconfig.BoolPropertyFn,
visibilityDisableOrderByClause dynamicconfig.BoolPropertyFnWithNamespaceFilter,

metricsHandler metrics.Handler,
logger log.Logger,
Expand Down Expand Up @@ -320,7 +320,7 @@ func newAdvancedVisibilityStore(
esProcessorConfig *elasticsearch.ProcessorConfig,
searchAttributesProvider searchattribute.Provider,
searchAttributesMapperProvider searchattribute.MapperProvider,
visibilityDisableOrderByClause dynamicconfig.BoolPropertyFn,
visibilityDisableOrderByClause dynamicconfig.BoolPropertyFnWithNamespaceFilter,
metricsHandler metrics.Handler,
logger log.Logger,
) store.VisibilityStore {
Expand Down
Expand Up @@ -74,7 +74,7 @@ type (
searchAttributesMapperProvider searchattribute.MapperProvider
processor Processor
processorAckTimeout dynamicconfig.DurationPropertyFn
disableOrderByClause dynamicconfig.BoolPropertyFn
disableOrderByClause dynamicconfig.BoolPropertyFnWithNamespaceFilter
metricsHandler metrics.Handler
}

Expand Down Expand Up @@ -103,7 +103,7 @@ func NewVisibilityStore(
searchAttributesMapperProvider searchattribute.MapperProvider,
processor Processor,
processorAckTimeout dynamicconfig.DurationPropertyFn,
disableOrderByClause dynamicconfig.BoolPropertyFn,
disableOrderByClause dynamicconfig.BoolPropertyFnWithNamespaceFilter,
metricsHandler metrics.Handler,
) *visibilityStore {

Expand Down Expand Up @@ -679,7 +679,7 @@ func (s *visibilityStore) buildSearchParametersV2(
// using a field that was not indexed by ES. Since slow queries can block
// writes for unreasonably long, this option forbids the usage of ORDER BY
// clause to prevent slow down issues.
if s.disableOrderByClause() && len(fieldSorts) > 0 {
if s.disableOrderByClause(request.Namespace.String()) && len(fieldSorts) > 0 {
return nil, serviceerror.NewInvalidArgument("ORDER BY clause is not supported")
}

Expand Down
Expand Up @@ -119,7 +119,7 @@ func (s *ESVisibilitySuite) SetupTest() {
s.Assertions = require.New(s.T())

esProcessorAckTimeout := dynamicconfig.GetDurationPropertyFn(1 * time.Minute * debug.TimeoutMultiplier)
visibilityDisableOrderByClause := dynamicconfig.GetBoolPropertyFn(false)
visibilityDisableOrderByClause := dynamicconfig.GetBoolPropertyFnFilteredByNamespace(false)

s.controller = gomock.NewController(s.T())
s.mockMetricsHandler = metrics.NewMockHandler(s.controller)
Expand Down Expand Up @@ -493,7 +493,7 @@ func (s *ESVisibilitySuite) TestBuildSearchParametersV2DisableOrderByClause() {
matchNamespaceQuery := elastic.NewTermQuery(searchattribute.NamespaceID, request.NamespaceID.String())

// disable ORDER BY clause
s.visibilityStore.disableOrderByClause = dynamicconfig.GetBoolPropertyFn(true)
s.visibilityStore.disableOrderByClause = dynamicconfig.GetBoolPropertyFnFilteredByNamespace(true)

// test valid query
request.Query = `WorkflowId="guid-2208"`
Expand Down
4 changes: 2 additions & 2 deletions service/frontend/service.go
Expand Up @@ -67,7 +67,7 @@ type Config struct {
EnableReadVisibilityFromES dynamicconfig.BoolPropertyFnWithNamespaceFilter
EnableReadFromSecondaryAdvancedVisibility dynamicconfig.BoolPropertyFnWithNamespaceFilter
ESIndexMaxResultWindow dynamicconfig.IntPropertyFn
VisibilityDisableOrderByClause dynamicconfig.BoolPropertyFn
VisibilityDisableOrderByClause dynamicconfig.BoolPropertyFnWithNamespaceFilter

HistoryMaxPageSize dynamicconfig.IntPropertyFnWithNamespaceFilter
RPS dynamicconfig.IntPropertyFn
Expand Down Expand Up @@ -186,7 +186,7 @@ func NewConfig(dc *dynamicconfig.Collection, numHistoryShards int32, enableReadF
EnableReadVisibilityFromES: dc.GetBoolPropertyFnWithNamespaceFilter(dynamicconfig.EnableReadVisibilityFromES, enableReadFromES),
EnableReadFromSecondaryAdvancedVisibility: dc.GetBoolPropertyFnWithNamespaceFilter(dynamicconfig.EnableReadFromSecondaryAdvancedVisibility, false),
ESIndexMaxResultWindow: dc.GetIntProperty(dynamicconfig.FrontendESIndexMaxResultWindow, 10000),
VisibilityDisableOrderByClause: dc.GetBoolProperty(dynamicconfig.VisibilityDisableOrderByClause, false),
VisibilityDisableOrderByClause: dc.GetBoolPropertyFnWithNamespaceFilter(dynamicconfig.VisibilityDisableOrderByClause, false),

HistoryMaxPageSize: dc.GetIntPropertyFilteredByNamespace(dynamicconfig.FrontendHistoryMaxPageSize, common.GetHistoryMaxPageSize),
RPS: dc.GetIntProperty(dynamicconfig.FrontendRPS, 2400),
Expand Down
4 changes: 2 additions & 2 deletions service/history/configs/config.go
Expand Up @@ -55,7 +55,7 @@ type Config struct {
EnableWriteToSecondaryAdvancedVisibility dynamicconfig.BoolPropertyFn
EnableReadVisibilityFromES dynamicconfig.BoolPropertyFnWithNamespaceFilter
EnableReadFromSecondaryAdvancedVisibility dynamicconfig.BoolPropertyFnWithNamespaceFilter
VisibilityDisableOrderByClause dynamicconfig.BoolPropertyFn
VisibilityDisableOrderByClause dynamicconfig.BoolPropertyFnWithNamespaceFilter

EmitShardLagLog dynamicconfig.BoolPropertyFn
MaxAutoResetPoints dynamicconfig.IntPropertyFnWithNamespaceFilter
Expand Down Expand Up @@ -323,7 +323,7 @@ func NewConfig(dc *dynamicconfig.Collection, numberOfShards int32, isAdvancedVis
EnableWriteToSecondaryAdvancedVisibility: dc.GetBoolProperty(dynamicconfig.EnableWriteToSecondaryAdvancedVisibility, false),
EnableReadVisibilityFromES: dc.GetBoolPropertyFnWithNamespaceFilter(dynamicconfig.EnableReadVisibilityFromES, isAdvancedVisibilityConfigExist),
EnableReadFromSecondaryAdvancedVisibility: dc.GetBoolPropertyFnWithNamespaceFilter(dynamicconfig.EnableReadFromSecondaryAdvancedVisibility, false),
VisibilityDisableOrderByClause: dc.GetBoolProperty(dynamicconfig.VisibilityDisableOrderByClause, false),
VisibilityDisableOrderByClause: dc.GetBoolPropertyFnWithNamespaceFilter(dynamicconfig.VisibilityDisableOrderByClause, false),

EmitShardLagLog: dc.GetBoolProperty(dynamicconfig.EmitShardLagLog, false),
HistoryCacheInitialSize: dc.GetIntProperty(dynamicconfig.HistoryCacheInitialSize, 128),
Expand Down
4 changes: 2 additions & 2 deletions service/worker/service.go
Expand Up @@ -121,7 +121,7 @@ type (
AdvancedVisibilityPersistenceMaxWriteQPS dynamicconfig.IntPropertyFn
EnableReadVisibilityFromES dynamicconfig.BoolPropertyFnWithNamespaceFilter
EnableReadFromSecondaryAdvancedVisibility dynamicconfig.BoolPropertyFnWithNamespaceFilter
VisibilityDisableOrderByClause dynamicconfig.BoolPropertyFn
VisibilityDisableOrderByClause dynamicconfig.BoolPropertyFnWithNamespaceFilter
}
)

Expand Down Expand Up @@ -345,7 +345,7 @@ func NewConfig(dc *dynamicconfig.Collection, persistenceConfig *config.Persisten
AdvancedVisibilityPersistenceMaxWriteQPS: dc.GetIntProperty(dynamicconfig.AdvancedVisibilityPersistenceMaxWriteQPS, 9000),
EnableReadVisibilityFromES: dc.GetBoolPropertyFnWithNamespaceFilter(dynamicconfig.EnableReadVisibilityFromES, enableReadFromES),
EnableReadFromSecondaryAdvancedVisibility: dc.GetBoolPropertyFnWithNamespaceFilter(dynamicconfig.EnableReadFromSecondaryAdvancedVisibility, false),
VisibilityDisableOrderByClause: dc.GetBoolProperty(dynamicconfig.VisibilityDisableOrderByClause, false),
VisibilityDisableOrderByClause: dc.GetBoolPropertyFnWithNamespaceFilter(dynamicconfig.VisibilityDisableOrderByClause, false),
}
return config
}
Expand Down

0 comments on commit 0d0cad4

Please sign in to comment.