@@ -16,6 +16,7 @@ import (
16
16
"github.com/volcengine/datatester-go-sdk/handler"
17
17
"github.com/volcengine/datatester-go-sdk/log"
18
18
"github.com/volcengine/datatester-go-sdk/meta/manager"
19
+ "github.com/volcengine/datatester-go-sdk/utils"
19
20
)
20
21
21
22
type AbClient struct {
@@ -180,7 +181,10 @@ func (t *AbClient) GetAllExperimentConfigs(decisionId string,
180
181
continue
181
182
}
182
183
for k , v := range confMap {
183
- configs [k ] = v
184
+ existConfig , conflict := configs [k ]
185
+ if ! conflict || utils .IsHigherPriorityConfig (existConfig , v ) {
186
+ configs [k ] = v
187
+ }
184
188
}
185
189
}
186
190
t .updateUserAbInfo (decisionId , experiment2variant )
@@ -212,7 +216,10 @@ func (t *AbClient) getAllExperimentConfigs4Activate(variantKey, decisionId strin
212
216
continue
213
217
}
214
218
for k , v := range confMap {
215
- configs [k ] = v
219
+ existConfig , conflict := configs [k ]
220
+ if ! conflict || utils .IsHigherPriorityConfig (existConfig , v ) {
221
+ configs [k ] = v
222
+ }
216
223
}
217
224
vid2ExperimentIdMap [variant .Id ] = variant .ExperimentId
218
225
}
@@ -426,7 +433,10 @@ func (t *AbClient) GetAllFeatureConfigs(decisionId string,
426
433
continue
427
434
}
428
435
for k , v := range confMap {
429
- configs [k ] = v
436
+ existConfig , conflict := configs [k ]
437
+ if ! conflict || utils .IsHigherPriorityConfig (existConfig , v ) {
438
+ configs [k ] = v
439
+ }
430
440
}
431
441
}
432
442
return configs , nil
0 commit comments