-
Notifications
You must be signed in to change notification settings - Fork 8.8k
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
FAB-2931: do not create a chain if it's already created #2934
Conversation
746a94a
to
b992541
Compare
f85446b
to
b4db335
Compare
…of chains. This can happen when in Raft protocol a channel was created, but not marked as done in WAL logs, so at orderer startup it will try to rerun creation tx and panic because the channel already exists. Signed-off-by: Vladyslav Kopaihorodskyi <vlad.kopaygorodsky@gmail.com>
b4db335
to
5f12590
Compare
Looks good to me. Let's get more eyes on this. |
Looks good to me |
@Mergifyio backport release-2.3 |
@Mergifyio backport release-2.2 |
Command
|
Command
|
@kopaygorodsky do you want to backport it to 1.4 and 2.2 branches? |
We'll have to backport to release-2.2 and release-1.4 by hand (cherry-pick), auto backport only worked on release-2.3. |
this should've fixed https://jira.hyperledger.org/browse/FAB-18526 as well |
@kopaygorodsky Reminder before we lose track of this one... if you can't find time for the remaining backports we can likely find another person... |
@denyeart I'll definitely find some time this weekend, had an unexpectedly busy week, sorry. |
Signed-off-by: Vladyslav Kopaihorodskyi vlad.kopaygorodsky@gmail.com
Type of change
Description
Do not create a new chain of type
etcdraft.Chain
if such exists in the map of chains. This can happen when in Raft protocol a channel was created, but not marked as done in WAL logs. So at orderer startup, it tried to create another instance of a chain and panicked because that instance startup failed.Related issues
#2931
Release Note
Fixed bug when an orderer crashed at channel creation and after restart couldn't bootstrap because of desynchronization between WAL logs and ledger state.