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

Shmem4: a set of small fixes to shmem implementation #38

Merged
merged 7 commits into from
Jun 12, 2014
Merged

Conversation

jinmei
Copy link
Contributor

@jinmei jinmei commented Jun 7, 2014

This is a set of small fixes and improvements of the shared memory/mmap support.

Other than trivial one-liner fixes, there are two major changes:

  • update memmgr and its library to handle update failure better (see log for commit 662b2a3)
  • "pre-load" zone data diff when applying outstanding diffs on loading to memory for improving stability (see commit 965d075)

…update.

and if the update fails in the UPDATING state, move back to READY, instead
of trying to synchronize with readers and COPY the data.  in case diff-based
update fails at the last stage (which invalidates the zone followed by full
reload), it would be better to let the readers keep using the current version
until the next load happens.
so it can benefit from the previous commit: moving back to READY from
UPDATING when loading fails.
change is trivial, so adjusting the test should be enough.
this situation should be rare, but when it happens the zone data is detached
from the zone table and forgotten.
this way we can complete using the journal (possibly with DB transaction)
in the load() phase for typical DDNS cases, reducing the risk of failure
in the commit() phase, which is more expensive.
previously it tries to load zone data while holding the lock, and the loading
can be a very time consuing task, so it's not good.
as it can be too noisy with a busy DDNS server.
jinmei added a commit that referenced this pull request Jun 12, 2014
Shmem4: a set of small fixes to shmem implementation
@jinmei jinmei merged commit 954a66e into master Jun 12, 2014
@jinmei
Copy link
Contributor Author

jinmei commented Jun 12, 2014

merging, and opening a new issue for the outstanding review.

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.

1 participant