-
Notifications
You must be signed in to change notification settings - Fork 289
Ssrc bugbash fix #1117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: ssrc
Are you sure you want to change the base?
Ssrc bugbash fix #1117
Conversation
…ersion failure) Using getDouble on a string parameter value, returns the appropriate default static value but logs a warning which looks incorrect ("%s" in the warning message?).
In the server template builder flow using cached template, evaluation using custom signals is not working as intended.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file looks identical to Version.java
. Any reason to add it separately?
|
||
assertEquals("Default value", evaluatedConfig.getString("Custom")); | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we also add a test to verify that parsing of cached template works as expected (all conditions, parameters, parameter groups are correctly parsed)?
ImmutableMap<String, Boolean> evaluatedCondition = | ||
context != null && !cache.getServerConditions().isEmpty() | ||
? ImmutableMap.copyOf( | ||
conditionEvaluator.evaluateConditions(cache.getServerConditions(), context)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we directly return an ImmutableMap
result here?
ImmutableMap<String, Boolean> evaluatedCondition = ImmutableMap.copyOf( | ||
conditionEvaluator.evaluateConditions(cache.getServerConditions(), context)); | ||
ImmutableMap<String, Boolean> evaluatedCondition = | ||
context != null && !cache.getServerConditions().isEmpty() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move this inside conditionEvaluator.evaluateConditions()
?
This resolves two bugs identified during the recent bug bash related to server template evaluation and parameter handling.
Corrected Custom Signal Evaluation with Cached Templates
A bug was preventing custom signals from being evaluated correctly when the server template was initialized from a cache. The root cause was an issue with template serialization/deserialization in ServerVersion and Condtion. The key percentOperator was being used instead of the correct percentConditionOperator. This has been fixed, ensuring that cached templates are parsed correctly and evaluations work as intended.
Fixed Malformed Logging Warning for getDouble()
When getDouble() was called on a parameter with a string value, it correctly returned the default static value but produced a malformed warning in the logs (e.g., "Unable to convert %s to double type."). The string formatting in the logger has been corrected to properly display the value that failed conversion.