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

in_calyptia_fleet: improve configuration reloading. #7925

Merged
merged 7 commits into from
Sep 18, 2023

Conversation

pwhelan
Copy link
Contributor

@pwhelan pwhelan commented Sep 14, 2023

Summary

This PR correctly detects when the fleet configuration changes in the calyptia API as well as handling reloading more effectively.

Description

The actual timestamp from the configuration file name is now used to compare to the 'Last-Modified' date of the fleet configuration to determine a new configuration requires loading.

Care is also now taken to avoid two reloads to occur at the same time:

  • The plugin is paused while a reload is being executed
  • The polling interval has been increased to 15 seconds.

Enter [N/A] in the box, if an item is not applicable to your change.

Testing
Before we can approve your change; please submit the following in a comment:

  • Example configuration file for the change
  • Debug log output from testing the change
  • Attached Valgrind output that shows no leaks or memory corruption was found

If this is a change to packaging of containers or native binaries then please confirm it works for all targets.

  • Run local packaging test showing all targets (including any new ones) build.
  • Set ok-package-test label to test for all targets (requires maintainer to do).

Documentation

  • Documentation required for this feature

Backporting

  • Backport to latest stable release.

Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.


@pwhelan pwhelan changed the title Pwhelan fleet always reload in_calyptia_fleet: improve configuration reloading. Sep 14, 2023
@pwhelan pwhelan temporarily deployed to pr September 14, 2023 22:02 — with GitHub Actions Inactive
@pwhelan pwhelan temporarily deployed to pr September 14, 2023 22:02 — with GitHub Actions Inactive
@pwhelan pwhelan temporarily deployed to pr September 14, 2023 22:02 — with GitHub Actions Inactive
@pwhelan pwhelan temporarily deployed to pr September 14, 2023 22:31 — with GitHub Actions Inactive
niedbalski
niedbalski previously approved these changes Sep 15, 2023
Copy link
Collaborator

@niedbalski niedbalski left a comment

Choose a reason for hiding this comment

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

LGTM

plugins/in_calyptia_fleet/in_calyptia_fleet.c Outdated Show resolved Hide resolved
plugins/in_calyptia_fleet/in_calyptia_fleet.c Outdated Show resolved Hide resolved
plugins/in_calyptia_fleet/in_calyptia_fleet.c Outdated Show resolved Hide resolved
plugins/in_calyptia_fleet/in_calyptia_fleet.c Show resolved Hide resolved
@pwhelan pwhelan temporarily deployed to pr September 15, 2023 15:23 — with GitHub Actions Inactive
@pwhelan pwhelan temporarily deployed to pr September 15, 2023 15:23 — with GitHub Actions Inactive
@pwhelan pwhelan temporarily deployed to pr September 15, 2023 15:23 — with GitHub Actions Inactive
@pwhelan pwhelan temporarily deployed to pr September 15, 2023 15:28 — with GitHub Actions Inactive
@pwhelan pwhelan temporarily deployed to pr September 15, 2023 15:28 — with GitHub Actions Inactive
@pwhelan pwhelan temporarily deployed to pr September 15, 2023 15:28 — with GitHub Actions Inactive
@pwhelan pwhelan temporarily deployed to pr September 15, 2023 15:56 — with GitHub Actions Inactive
@niedbalski niedbalski requested a review from edsiper September 18, 2023 16:03
@edsiper edsiper merged commit 64b70ed into master Sep 18, 2023
43 checks passed
@edsiper edsiper deleted the pwhelan-fleet-always-reload branch September 18, 2023 18:03
@edsiper edsiper mentioned this pull request Sep 18, 2023
7 tasks
leonardo-albertovich pushed a commit that referenced this pull request Oct 5, 2023
- use current configuration timestamp to evaluate if a reload is required.
- increase minimum interval to 15 seconds, pause collector sooner.
- use symlinks instead of hardlinks and check the filename to properly account for the timestamp.
- in_calyptia_fleet: initialize ctx->collect_fd to -1.
- in_calyptia_fleet: check return value from strtol()

---------

Signed-off-by: Phillip Whelan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants