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

nameservice.c: adjust writing files #114

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Akira25
Copy link

@Akira25 Akira25 commented Apr 28, 2022

At Freifunk Berlin we experienced fairly random updates on the files. This
resulted from the calc_jitter() function in the scheduler.c.
By calling the function with a jitter of 0% there shouldn't be any randomness
anymore and the nameservice-files should get written on schedule.

Signed-off-by: Martin Hübner [email protected]

This PR is still under testing for having the desired effect. Thus draft-state for now.

At Freifunk Berlin we experienced fairly random updates on the files. This
resulted from the calc_jitter() function in the scheduler.c.
By calling the function with a jitter of 0% there shouldn't be any randomness
anymore and the nameservice-files should get written on schedule.

Signed-off-by: Martin Hübner <[email protected]>
@mathiashro
Copy link
Contributor

@Akira25, I'm just curios ...

  1. Was there may be good reason to have some back-off / non-synchronous write procedure?
  2. What is the current impact on your mesh?

@Noki
Copy link

Noki commented Apr 28, 2022

@mathiashro The impact is that we observed delays for nameservice updates of several hours even when setting filewrite_interval to 60 seconds. In general a back-off / non-synchronous write procedure can be a good idea, however random backoffs resulting in huge and undeterministic delays are obviously not.

@mathiashro mathiashro marked this pull request as ready for review April 28, 2022 14:28
@mathiashro
Copy link
Contributor

@Noki / @Akira25, do we want to wait for further comments and community feedback or just merge it? (We may introduce also a config parameter if we do have different requirements by different OLSR users.)

For me we are fine to merge and I can finalize that. As for our mesh (Rostock) we did not had the issue with the backup yet but currently mainly try to remove our dependency on the nameservice plugin for all central services.

Proceed with merge or wait?

@Akira25 Akira25 marked this pull request as draft April 28, 2022 15:05
@Akira25
Copy link
Author

Akira25 commented Apr 28, 2022

@mathiashro I'd prefer to test this for me. Maybe forgot to make this a Draft. So I'm open to wait for some further comments.

@mathiashro
Copy link
Contributor

Hi @Akira25, did had some time to test the changes in your environment?

@booo
Copy link
Contributor

booo commented Jan 14, 2023

We have a patch laying around somewhere that sends a signal to a process as soon as there is new information on names. This could remove the regular write operation.

@Akira25
Copy link
Author

Akira25 commented Jan 15, 2023

Hi @Akira25, did had some time to test the changes in your environment?

Sadly not. Help with this is highly appreciated!

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.

4 participants