Skip to content
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

FilterX: fix invalid LogMessage variables access #333

Merged
merged 7 commits into from
Oct 29, 2024

Conversation

OverOrion
Copy link
Contributor

@OverOrion OverOrion commented Oct 11, 2024

This PR fixes accessing LogMessage type FilterX variables in case there had been changes between filterx blocks.

@OverOrion OverOrion force-pushed the filterx-context-scope-fix-minimal branch 11 times, most recently from e67d698 to 88b4238 Compare October 17, 2024 11:25
@OverOrion OverOrion marked this pull request as ready for review October 17, 2024 11:25
@OverOrion OverOrion changed the title filterx context scope fix minimal FilterX: fix invalid LogMessage variables access Oct 17, 2024
@MrAnno MrAnno self-requested a review October 17, 2024 11:34
Copy link
Member

@MrAnno MrAnno left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice 👍🏻

lib/filterx/filterx-scope.c Outdated Show resolved Hide resolved
lib/filterx/expr-variable.c Outdated Show resolved Hide resolved
lib/filterx/filterx-scope.c Outdated Show resolved Hide resolved
Signed-off-by: Szilard Parrag <szilard.parrag@axoflow.com>
Signed-off-by: Szilard Parrag <szilard.parrag@axoflow.com>
This is to better indicate the intention of synchronizing FilterX -> LogMessage.

Signed-off-by: Szilard Parrag <szilard.parrag@axoflow.com>
…rection

Signed-off-by: Szilard Parrag <szilard.parrag@axoflow.com>
Signed-off-by: Szilard Parrag <szilard.parrag@axoflow.com>
Signed-off-by: Szilard Parrag <szilard.parrag@axoflow.com>
A non-floating (i.e., tied to a LogMessage) FilterX variable is considered invalid if:
- its' generation counter is 0 AND
- the scope is syncable

This is to allow two consecutive FilterX blocks to pass non-floating variables
without calling filterx_scope_sync().
If they would be considered invalid then the changes would be lost in the latter block.
This is because it would fetch it via _pull_variable_from_message() which would
yield the unmodified LogMessageValue.

Signed-off-by: Szilard Parrag <szilard.parrag@axoflow.com>
@OverOrion OverOrion force-pushed the filterx-context-scope-fix-minimal branch from 88b4238 to afd3f19 Compare October 28, 2024 15:43
Copy link
Member

@MrAnno MrAnno left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice :)

@MrAnno MrAnno merged commit 54b96ca into axoflow:main Oct 29, 2024
22 checks passed
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