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

Make LedgerMetadata Immutable #610

Closed
ivankelly opened this issue Oct 17, 2017 · 2 comments
Closed

Make LedgerMetadata Immutable #610

ivankelly opened this issue Oct 17, 2017 · 2 comments

Comments

@ivankelly
Copy link
Contributor

JIRA: https://issues.apache.org/jira/browse/BOOKKEEPER-822

Reporter: Ivan Kelly @ivankelly

Mutable metadata has been a very rich source of bugs. There are multiple processing modifying for rebuilding ensembles, closing, fencing, autorecovery etc.

The local metadata should be a mirror of the metadata in zookeeper. So we should only modify the local metadata as a whole. The first part of this is making it immutable, so that it can only be modified with a builder.

Comments from JIRA


Ivan Kelly 2017-10-09T09:28:33.199+0000

I think this is already done, but moving over to gh anyhow to verify.

@ivankelly
Copy link
Contributor Author

WIP patch from 4 years ago.
ivankelly@8531463

@ivankelly
Copy link
Contributor Author

Dupe of #281

jvrao added a commit to jvrao/bookkeeper that referenced this issue Aug 9, 2018
The Original intent of this change is to do a best-effort ensemble change.
But this is not possible until the local metadata is completely immutable.
Until the feature "Make LedgerMetadata Immutable apache#610" Is complete we will use
handleBookieFailure() to handle delayed writes as regular bookie failures.

Signed-off-by: Venkateswararao Jujjuri (JV) <vjujjuri@salesforce.com>
ivankelly pushed a commit that referenced this issue Aug 13, 2018
Descriptions of the changes in this PR:

The Original intent of this change is to do a best-effort ensemble change.
But this is not possible until the local metadata is completely immutable.
Until the feature "Make LedgerMetadata Immutable #610" Is complete we will use
handleBookieFailure() to handle delayed writes as regular bookie failures.

Signed-off-by: Venkateswararao Jujjuri (JV) <vjujjurisalesforce.com>

Master Issue: #1591
Relate Issue: #1395

Author: JV Jujjuri <vjujjuri@salesforce.com>
Author: Ivan Kelly <ivank@apache.org>

Reviewers: Ivan Kelly <ivank@apache.org>, Sijie Guo <sijie@apache.org>

This closes #1592 from jvrao/datalossbug
ivankelly pushed a commit that referenced this issue Aug 13, 2018
Descriptions of the changes in this PR:

The Original intent of this change is to do a best-effort ensemble change.
But this is not possible until the local metadata is completely immutable.
Until the feature "Make LedgerMetadata Immutable #610" Is complete we will use
handleBookieFailure() to handle delayed writes as regular bookie failures.

Signed-off-by: Venkateswararao Jujjuri (JV) <vjujjurisalesforce.com>

Master Issue: #1591
Relate Issue: #1395

Author: JV Jujjuri <vjujjuri@salesforce.com>
Author: Ivan Kelly <ivank@apache.org>

Reviewers: Ivan Kelly <ivank@apache.org>, Sijie Guo <sijie@apache.org>

This closes #1592 from jvrao/datalossbug

(cherry picked from commit 3ab6e92)
Signed-off-by: Ivan Kelly <ivank@apache.org>
reddycharan pushed a commit to reddycharan/bookkeeper that referenced this issue Aug 20, 2018
* Avoid releasing sent buffer to early in BookieClient mock

If the buffer was sent to more than one bookie with the mock, it would
be released after being sent to the first one. Each write should
retain a refCount themselves, and then release when done.

Author: Ivan Kelly <ivank@apache.org>

Reviewers: Sijie Guo <sijie@apache.org>

This closes apache#1598 from ivankelly/double-rel-mock

* (@bug W-5344681@) Delayed write ensemble change may cause dataloss

Descriptions of the changes in this PR:

The Original intent of this change is to do a best-effort ensemble change.
But this is not possible until the local metadata is completely immutable.
Until the feature "Make LedgerMetadata Immutable apache#610" Is complete we will use
handleBookieFailure() to handle delayed writes as regular bookie failures.

Signed-off-by: Venkateswararao Jujjuri (JV) <vjujjurisalesforce.com>

Master Issue: apache#1591
Relate Issue: apache#1395

Author: JV Jujjuri <vjujjuri@salesforce.com>
Author: Ivan Kelly <ivank@apache.org>

Reviewers: Ivan Kelly <ivank@apache.org>, Sijie Guo <sijie@apache.org>
@Rev Sam Just@

This closes apache#1592 from jvrao/datalossbug
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant