You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With -condition-use-slice-for-prescaling <N> use TF slice instead of TFcounter for CCDB cache validation is N!=0
If --condition-tf-per-query-multiplier value is negative, the prescaling is simply
applied to tfCounter%|query_rate| (or timeslice%|query_rate| if --condition-use-slice-for-prescaling is asked)
If N>0, then enforce a check if the abs difference between the last checked and current TFCounters (not slices!) exceeds N,
even if the slices difference is less than the requested check rate.
Copy file name to clipboardExpand all lines: Framework/CCDBSupport/src/CCDBFetcherHelper.h
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -33,6 +33,7 @@ struct CCDBFetcherHelper {
33
33
size_t minSize = -1ULL;
34
34
size_t maxSize = 0;
35
35
int lastCheckedTF = 0;
36
+
int lastCheckedSlice = 0;
36
37
};
37
38
38
39
structRemapMatcher {
@@ -94,6 +95,7 @@ struct CCDBFetcherHelper {
94
95
int queryPeriodGlo = 1;
95
96
int queryPeriodFactor = 1;
96
97
int64_t timeToleranceMS = 5000;
98
+
int useTFSlice = 0; // if non-zero, use TFslice instead of TFcounter for the validity check. If > requested checking rate, add additional check on |lastTFchecked - TCcounter|<=useTFSlice
Copy file name to clipboardExpand all lines: Framework/CCDBSupport/src/CCDBHelpers.cxx
+32-9Lines changed: 32 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -39,6 +39,7 @@ struct CCDBFetcherHelper {
39
39
size_t minSize = -1ULL;
40
40
size_t maxSize = 0;
41
41
int lastCheckedTF = 0;
42
+
int lastCheckedSlice = 0;
42
43
};
43
44
44
45
structRemapMatcher {
@@ -60,6 +61,7 @@ struct CCDBFetcherHelper {
60
61
int queryPeriodGlo = 1;
61
62
int queryPeriodFactor = 1;
62
63
int64_t timeToleranceMS = 5000;
64
+
int useTFSlice = 0; // if non-zero, use TFslice instead of TFcounter for the validity check. If > requested checking rate, add additional check on |lastTFchecked - TCcounter|<=useTFSlice
{"condition-not-after", VariantType::Int64, 3385078236000ll, {"do not fetch from CCDB objects created after the timestamp"}},
178
178
{"condition-remap", VariantType::String, "", {"remap condition path in CCDB based on the provided string."}},
179
179
{"condition-tf-per-query", VariantType::Int, defaultConditionQueryRate(), {"check condition validity per requested number of TFs, fetch only once if <=0"}},
180
-
{"condition-tf-per-query-multiplier", VariantType::Int, defaultConditionQueryRateMultiplier(), {"check conditions once per this amount of nominal checks"}},
180
+
{"condition-tf-per-query-multiplier", VariantType::Int, defaultConditionQueryRateMultiplier(), {"check conditions once per this amount of nominal checks (>0) or on module of TFcounter (<0)"}},
181
+
{"condition-use-slice-for-prescaling", VariantType::Int, 0, {"use TFslice instead of TFcounter to control validation frequency. If > query rate, do not allow TFCounter excursion exceeding it"}},
181
182
{"condition-time-tolerance", VariantType::Int64, 5000ll, {"prefer creation time if its difference to orbit-derived time exceeds threshold (ms), impose if <0"}},
182
183
{"orbit-offset-enumeration", VariantType::Int64, 0ll, {"initial value for the orbit"}},
183
184
{"orbit-multiplier-enumeration", VariantType::Int64, 0ll, {"multiplier to get the orbit from the counter"}},
{"condition-not-after", VariantType::Int64, 3385078236000ll, {"do not fetch from CCDB objects created after the timestamp"}},
196
197
{"condition-remap", VariantType::String, "", {"remap condition path in CCDB based on the provided string."}},
197
198
{"condition-tf-per-query", VariantType::Int, defaultConditionQueryRate(), {"check condition validity per requested number of TFs, fetch only once if <=0"}},
198
-
{"condition-tf-per-query-multiplier", VariantType::Int, defaultConditionQueryRateMultiplier(), {"check conditions once per this amount of nominal checks"}},
199
+
{"condition-tf-per-query-multiplier", VariantType::Int, defaultConditionQueryRateMultiplier(), {"check conditions once per this amount of nominal checks (>0) or on module of TFcounter (<0)"}},
200
+
{"condition-use-slice-for-prescaling", VariantType::Int, 0, {"use TFslice instead of TFcounter to control validation frequency. If > query rate, do not allow TFCounter excursion exceeding it"}},
199
201
{"condition-time-tolerance", VariantType::Int64, 5000ll, {"prefer creation time if its difference to orbit-derived time exceeds threshold (ms), impose if <0"}},
200
202
{"start-value-enumeration", VariantType::Int64, 0ll, {"initial value for the enumeration"}},
201
203
{"end-value-enumeration", VariantType::Int64, -1ll, {"final value for the enumeration"}},
0 commit comments