Revision ad85cd50b5216ef3ddc3a7347787d10fe5ab2a0d authored by Marco Iorio on 19 June 2024, 07:41:22 UTC, committed by Julian Wiedmann on 20 June 2024, 05:43:35 UTC
In order to prevent possible race conditions when watching clustermesh
config file changes, once we receive a file change notification, we
first add that path to the list of watched ones and, if it wasn't
already registered, recurse again. This prevents missing possible
updates that could have happened in the time window between the
reading of the file and the registration of the watcher.

However, the previous implementation was lacking a return statement,
hence causing the add notification to be actually triggered twice,
if the two iterations read two different versions of the file.
Practically speaking, this is extremely unlikely to lead to actual
issues, unless multiple back-to-back changes are performed in sequence
(as we do in the unit tests).

Regardless, let's fix it by adding the missing return statement.

Fixes: 106d0981ee35 ("clustermesh: fix config watcher race condition with back-to-back changes")
Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
1 parent db1cd13
Raw File
CODE_OF_CONDUCT.md
## Community Code of Conduct v1.0

This is Code of Conduct is based on the [CNCF Code of
Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md).
See the referred document for translated versions into different languages. The
text below is modified with Cilium community specific contact details.

### Contributor Code of Conduct

As contributors and maintainers of this project, and in the interest of fostering
an open and welcoming community, we pledge to respect all people who contribute
through reporting issues, posting feature requests, updating documentation,
submitting pull requests or patches, and other activities.

We are committed to making participation in this project a harassment-free experience for
everyone, regardless of level of experience, gender, gender identity and expression,
sexual orientation, disability, personal appearance, body size, race, ethnicity, age,
religion, or nationality.

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery
* Personal attacks
* Trolling or insulting/derogatory comments
* Public or private harassment
* Publishing others' private information, such as physical or electronic addresses,
 without explicit permission
* Other unethical or unprofessional conduct.

Project maintainers have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are not
aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers
commit themselves to fairly and consistently applying these principles to every aspect
of managing this project. Project maintainers who do not follow or enforce the Code of
Conduct may be permanently removed from the project team.

This code of conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community.

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the code of conduct team via 
[conduct@cilium.io](mailto:conduct@cilium.io).

This Code of Conduct is adapted from the Contributor Covenant
(http://contributor-covenant.org), version 1.2.0, available at
http://contributor-covenant.org/version/1/2/0/
back to top