Skip to content

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

Open
wants to merge 11 commits into
base: ssrc
Choose a base branch
from
Open

Ssrc bugbash fix #1117

wants to merge 11 commits into from

Conversation

rathovarun1032
Copy link

@rathovarun1032 rathovarun1032 commented Aug 14, 2025

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.

Athira M and others added 11 commits August 7, 2025 22:48
…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.

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"));
}

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))

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()

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()?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants