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

Leo/v0.22 merge master with consensus fix #1433

Merged
merged 140 commits into from
Oct 5, 2021

Conversation

zhangchiqing
Copy link
Member

No description provided.

janezpodhostnik and others added 30 commits August 27, 2021 22:44
… Added encoding and writing to disk encoded root block and votes
…ementing reading/writing of DKG and root block
jordanschalm and others added 24 commits October 1, 2021 11:23
1276: Addition of AWS S3 uploader r=huitseeker a=martingallagher



Co-authored-by: Martin Gallagher <martin@martingallagher.com>
Co-authored-by: François Garillot <francois.garillot@dapperlabs.com>
Their flakiness was fixed by #1227
1368: [crypto] Test infra maintenance r=huitseeker a=huitseeker

- moves ADX detection to crypto Makefile
- de-quarantine BLST tests

Co-authored-by: François Garillot <francois.garillot@dapperlabs.com>
…/flow-go into khalil/5844-access-node-fallbacks
1395: Khalil/5844 access node fallbacks r=jordanschalm a=kc1116

This PR removes 2 flags from LN/SN nodes --access-address & --secure-access-node-id . It replaces them with a single flag --access-node-ids because protocol state will be the source of truth for connection info to **_staked_** access node APIs. 
--access-node-ids is a priority ordered list that will be used to create multiple flow client connections for QCVoter and DKG broker. This allows us to fallback to another access node if a node goes down. 

- update LN/SN flags 
- add common util funcs to setup multiple client connection options
- update QCVoter and DKG Broker to support multiple contract client instances and fallback to the next instance in use every 2 failed retry attempts
- update localnet container configs 
- update integration tests container configs (from #1323) 

Co-authored-by: Khalil Claybon <khalil.claybon@dapperlabs.com>
Co-authored-by: Jordan Schalm <jordan@dapperlabs.com>
* refactors pusher engine multicast

* refactors ingestion engine publish mechanism on consensus node side

* fixes lint

* fixes a comment
* revert unsealed reason

* fix linter

Co-authored-by: Alexander Hentschel <alex.hentschel@axiomzen.co>
[Bootstrap] Extracted `rootblock` and updated `finalize`
1364: [Admin] simplify admin server implementation r=smnzhu a=smnzhu

This simplifies the implementation of admin server to remove the `commandQ`, which reduces the surface area for concurrency bugs.

gRPC will automatically create a new thread for each admin command, and the rate of admin commands will likely not reach the point where having a queue will be necessary.

Co-authored-by: Simon Zhu <simon.zsiyan@gmail.com>
1374: implement pull root block and push root block vote r=smnzhu a=smnzhu

closes https://github.com/dapperlabs/flow-go/issues/5888

### TODO
- [x] Add documentation to README.md
- [ ] Test

Co-authored-by: Simon Zhu <simon.zsiyan@gmail.com>
Co-authored-by: Alexander Hentschel <alex.hentschel@axiomzen.co>
Co-authored-by: Yurii Oleksyshyn <yuraolex@gmail.com>
Co-authored-by: Jordan Schalm <jordan@dapperlabs.com>
@zhangchiqing zhangchiqing merged commit e1659ae into v0.22 Oct 5, 2021
@zhangchiqing zhangchiqing deleted the leo/v0.22-merge-master-with-consensus-fix branch October 5, 2021 00:13
SupunS pushed a commit that referenced this pull request Oct 28, 2021
* fvm bench test

* bench test upgrade

* add create account and ft transfer bench

* Add a comparative bench

* adb more benchmarks

* review fixes

* increase benchmarking string length

* Addition of AWS S3 uploader

* Add S3 bucket option to execution CLI

* Use single programs instance

* fix lint issues and revert unnecesary changes

* refactor - part1

* refactor - part 2

* let batchNFT benchmark accept block executor

* Enable transaction fees on mainnet

* adjust CLI flags

* go mod tidy

* simplify admin server implementation

* Extracted rootBlock command from finalize command for bootstrap util. Added encoding and writing to disk encoded root block and votes

* Implemented QC creation as part of finalizing cmd. Updated docs. Implementing reading/writing of DKG and root block

* Fixed typo, updated tests

* Updated QC building logic. Fixed signing of QC

* Updated godoc

* Updated comments. Reverted last commit

* Updated how root block is created. Separated root block and votes

* update QCVoter and DKG Broker to handle access node fallbacks

- update CLI for LN/SN nodes to remove access-address, and secure-access-node-api flags

- add --access-node-ids flag

- update unit tests

- add fallback logic to retry logic of Broadcast and Vote

* Added encoding of full DKG to construct QC in finilize step

* Updated reading of votes, dkg data in finalizer. Simplified logic for generating QC

* implement pull root block and push root block vote

* fux kubg

* Updated tests

* lint fixes

* Fixed tests

* Linted. Fixed tests

* Update cmd/bootstrap/run/qc.go

* renamed methods for reading node infos to reflect that fact that we are _reading_ the infos and not generating them

* consolidated consistency checks

* cleanup

* added error check

* format

* update localnet/integration tests to generate votes separately

* put votes in same directory

* fix path join

* address comments

* fix cmd namings

* rename root block vote

* pass in identities separate from participant data

* add log

* Extracted rootBlock command from finalize command for bootstrap util. Added encoding and writing to disk encoded root block and votes

* unwrap encodable type of key for partners

* Implemented QC creation as part of finalizing cmd. Updated docs. Implementing reading/writing of DKG and root block

* Fixed typo, updated tests

* Updated QC building logic. Fixed signing of QC

* Updated godoc

* Updated comments. Reverted last commit

* Updated how root block is created. Separated root block and votes

* Added encoding of full DKG to construct QC in finilize step

* Updated reading of votes, dkg data in finalizer. Simplified logic for generating QC

* Updated tests

* Fixed tests

* Linted. Fixed tests

* Update cmd/bootstrap/run/qc.go

* renamed methods for reading node infos to reflect that fact that we are _reading_ the infos and not generating them

* consolidated consistency checks

* cleanup

* format

* update localnet/integration tests to generate votes separately

* put votes in same directory

* fix path join

* change file names

* Update finalize_test.go

* fix filename

* fixing makefile and other fixes (#1378)

* fixing makefile and other fixes

* removing special nocgo docker target for the transit script

* fix test (lint)

* Update README.md

* LInted and fixed unit tests

* Fixed network test

* Updated godoc

* fixing the rootblock.json download path

* fixing log message

* restrict fees to mainnet testnet and canary

* split sign and upload into two steps

* update localnet

- update local net flags for LN/SN nodes

- update default access node count to 2

-  put flow client config prep in common function

* Update peerManager.go

* fix bug

* Update peerManager.go

* update integration tests

- update integration tests flags and container configs (from #1323)

* add missing error return when node fails to prepare flow client conn opts

* Update flow_client.go

* update dkg tests controller factory client arg

* update comments and log statement formatting

* Update flow_client.go

* add fallback to poll/submitResult

* add log

* fix bug creating flow client opts

we always used the public key from the first AN, making any fallback
attempts useless (wrong key)

* [Consensus] fix startup time (#1402)

* fix startup time

* remove log from debugging

* maintain ordering of ANs

* update var names

* update flag help string, improve logging,

- use trim prefix

* [crypto] Move ADX detection to crypto Makefile

Fixes #1229

* [crypto] De-quarantine BLST tests

Their flakiness was fixed by #1227

* Update broker.go

* [Consensus and Collection] Refactors guarantee dissemination  (#1406)

* refactors pusher engine multicast

* refactors ingestion engine publish mechanism on consensus node side

* fixes lint

* fixes a comment

* [Consensus] Revert unsealed reason (#1332)

* revert unsealed reason

* fix linter

Co-authored-by: Alexander Hentschel <alex.hentschel@axiomzen.co>

* Update command_runner_test.go

* fix typo

Co-authored-by: Janez Podhostnik <janez.podhostnik@gmail.com>
Co-authored-by: Martin Gallagher <martin@martingallagher.com>
Co-authored-by: Janez Podhostnik <67895329+janezpodhostnik@users.noreply.github.com>
Co-authored-by: ramtinms <ramtin@axiomzen.co>
Co-authored-by: Ramtin M. Seraj <ramtinms@users.noreply.github.com>
Co-authored-by: François Garillot <francois.garillot@dapperlabs.com>
Co-authored-by: Simon Zhu <simon.zsiyan@gmail.com>
Co-authored-by: Yurii Oleksyshyn <yuraolex@gmail.com>
Co-authored-by: Khalil Claybon <khalil.claybon@dapperlabs.com>
Co-authored-by: Alexander Hentschel <alex.hentschel@axiomzen.co>
Co-authored-by: Jordan Schalm <jordan@dapperlabs.com>
Co-authored-by: Vishal <1117327+vishalchangrani@users.noreply.github.com>
Co-authored-by: bors[bot] <26634292+bors[bot]@users.noreply.github.com>
Co-authored-by: Yahya Hassanzadeh <yhassanzadeh13@ku.edu.tr>
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.

None yet