Skip to content

Conversation

@yfxhust
Copy link

@yfxhust yfxhust commented Oct 22, 2019

This patch is a backport for the work of ZOOKEEPER-3104. I adapt the original patch to branch-3.4.

Original Author: Allan Lyu fangmin@apache.org

Author: Fangxi Yin yinfangxi@kuaishou.com

@maoling
Copy link
Member

maoling commented Oct 22, 2019

Looking

@eolivelli
Copy link
Contributor

The original patch is #583 from @lvfangmin

Copy link
Contributor

@eolivelli eolivelli left a comment

Choose a reason for hiding this comment

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

Thanks for doing this.
I am trying to 'diff' this diff with the original one but the original one is full of reformat actions. btw I found some little difference, I left a comment.

It would be also good to state in the commit message that this patch is a backport of the work of @lvfangmin and cite him as original author.

import org.junit.After;
import org.junit.Assert;
import org.junit.Test;
import org.junit.Ignore;
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you please fix the order of imports?
In branch 3.4 we do not have checkstyle

Copy link
Author

Choose a reason for hiding this comment

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

OK. I will run checkstyle for this commit.

@anmolnar
Copy link
Contributor

@yfxhust While I support the efforts of backporting critical bugfixes to 3.4, have you considered how much hassle would it be to upgrade your project to 3.5?

We highly encourage projects to upgrade sooner rather than later, because we'd like to EOL 3.4 soon. Also the community is focusing on 3.6.0 release and even if this patch gets submitted, I cannot tell you when are we going to have a new release of 3.4 branch.

@yfxhust
Copy link
Author

yfxhust commented Oct 25, 2019

@eolivelli Sorry for my miss for citing original author @lvfangmin. I will add it in my commit.

@yfxhust
Copy link
Author

yfxhust commented Oct 25, 2019

@yfxhust While I support the efforts of backporting critical bugfixes to 3.4, have you considered how much hassle would it be to upgrade your project to 3.5?

We highly encourage projects to upgrade sooner rather than later, because we'd like to EOL 3.4 soon. Also the community is focusing on 3.6.0 release and even if this patch gets submitted, I cannot tell you when are we going to have a new release of 3.4 branch.

@anmolnar The situation is not easy in real micro services environment. Zookeeper is a very foundamental component and many service depends on it. Most of these services use apache curator as client. We can not upgrade server cluster before the curator version is upgraded. In a real product micro service environment, curator client upgrading is not easy and it depends on many factors that are not from technique view.

Curator's zookeeper compatibility need more consideration.
https://curator.apache.org/zk-compatibility.html

In my opinion, any known critical bugs should be fixed before EOL.

yinfangxi added 2 commits October 25, 2019 21:27
… ZOOKEEPER-3104

This patch is a backport for the work of ZOOKEEPER-3104. I adapt the original patch to branch-3.4.

Original Author: Allan Lyu <fangmin@apache.org>

Author:  Fangxi Yin <yinfangxi@kuaishou.com>
…ports for QuorumPeerMainTest.

Make code comments of forceSnapSync more accurate.
@anmolnar
Copy link
Contributor

anmolnar commented Oct 26, 2019

@yfxhust

In my opinion, any known critical bugs should be fixed before EOL.

I agree. I just wanted to tell you the reality.

Copy link
Contributor

@lvfangmin lvfangmin left a comment

Choose a reason for hiding this comment

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

Thanks @yfxhust for porting this back to 3.4.

+1

The patch itself looks good to me, the main change is moving the NEWLEADER packet part to the time when we finished sending snapshot to the socket. The forceSnapSync option was added mainly for the testing purpose.

I would suggest to put some effort on the 3.4 to 3.6 migration, I understand the migration is painful and risky, but it was much more smooth than what we thought will be when we did that inside FB, and you can benefit from the latest cool feature and bug fixes from the community.

It may take time to upgrade though, meanwhile, I would suggest you go through the other inconsistecy fixes in 3.6, which might be an issue on 3.4, e.g. ZOOKEEPER-3144 fixed potential global session inconsistency issue, which is a problem on 3.4 as well I believe.

You can check the commit history on 3.6, and see if there are other inconsistency issue might affect your services.

@yfxhust
Copy link
Author

yfxhust commented Oct 28, 2019

@yfxhust

In my opinion, any known critical bugs should be fixed before EOL.

I agree. I just wanted to tell you the reality.

Thank you for your comments ! I got it.
Once this patch is reviewed and merged by community, maybe we can build it in our own zookeeper fork.

@yfxhust
Copy link
Author

yfxhust commented Oct 28, 2019

ZOOKEEPER-3144

@lvfangmin Thank you for your comments. We are in the progress of migrating to 3.5. But 3.4 is still in our maintenance list for some elder clusters in the near future. Actually we are reviewing inconsistency issues list in 3.6 commit history.

For 3.6, it is not in official release notes. https://zookeeper.apache.org/releases.html. I am not very sure whether it is product ready. But since you have mentioned that FB is already in 3.6, we are considering it's possibility now.

@anmolnar
Copy link
Contributor

retest maven build

@anmolnar
Copy link
Contributor

@eolivelli Are u happy to merge this?

@anmolnar
Copy link
Contributor

retest ant build

@anmolnar
Copy link
Contributor

@eolivelli PreCommit build on 3.4 is broken due to missing findbugs.
Do you think we could backport https://issues.apache.org/jira/browse/ZOOKEEPER-3539 ?

@anmolnar anmolnar closed this Mar 31, 2020
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.

5 participants