* Checking that we try hard enough to get peers from dns-discovery
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>
* Making sure that the resolved DNS lists get used in full
Previously we would always process the list from the beginning. We would
only try maximumpeers elements from the list and never try more. This PR
firstly shuffles the peers list each time before applying it and then
also takes from the list for as long as there are free peers slots
available.
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
Temporary use a build of this plugin that contains the proposed PR[1],
that improve the downloadLicenses task, reducing its execution time from
about 10 minutes to under 1 minute.
The build is temporary hosted in a custom repository, until a new upstream
version with the patch is released.
[1]https://github.com/hierynomus/license-gradle-plugin/pull/203
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Adding support of the NO_COLOR environment variable as described in
the [NO_COLOR](https://no-color.org/) standard.
The new behaviour looks like this:
1) Both NO_COLOR is not set and color-enabled options is not set => colors
will be enabled (by default we have colors on)
2) NO_COLOR is not set but color-enabled option is set to false =>
colors will be disabled (we can disable colors using an option)
3) NO_COLOR is set to any value and color-enabled option is not used =>
colors will be disabled (we can disable colors using an environment
variable this is new!)
4) NO_COLOR is set to any value but color-enabled option is set to true
=> colors will be enabled (an option has precedence over the environment
variable)
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* add unit test for JWTAuthOptionsFactory
Signed-off-by: Frank Li <b439988l@gmail.com>
* additional test for invalid algo
Signed-off-by: Frank Li <b439988l@gmail.com>
* WIP || Think about how to handle the invalid algorithm exception
Signed-off-by: Frank Li <b439988l@gmail.com>
* WIP || Handle exception at BesuCommand level, remove test
Signed-off-by: Frank Li <b439988l@gmail.com>
* WIP || Acceptance Tests
Signed-off-by: Frank Li <b439988l@gmail.com>
* WIP || Fix obvios test run errors
Signed-off-by: Frank Li <b439988l@gmail.com>
* WIP || Break long line of string
Signed-off-by: Frank Li <b439988l@gmail.com>
* Acceptance tests working
Signed-off-by: Frank Li <b439988l@gmail.com>
* remove accidentally committed file
Signed-off-by: Frank Li <b439988l@gmail.com>
* fix failing tests
Signed-off-by: Frank Li <b439988l@gmail.com>
* changelog entry
Signed-off-by: Frank Li <b439988l@gmail.com>
* fixes based on CR
Signed-off-by: Frank Li <b439988l@gmail.com>
* add missed acceptance test stuff
Signed-off-by: Frank Li <b439988l@gmail.com>
* use enum for CLI arg
Signed-off-by: Frank Li <b439988l@gmail.com>
* two seperate CLI args for ws and http
Signed-off-by: Frank Li <b439988l@gmail.com>
* add file header
Signed-off-by: Frank Li <b439988l@gmail.com>
* use JwtAlgorithm class + fix broken unit test
Signed-off-by: Frank Li <b439988l@gmail.com>
* add fromString
Signed-off-by: Frank Li <b439988l@gmail.com>
* experimental flag || changelog update || CLI option dependency
Signed-off-by: Frank Li <b439988l@gmail.com>
* hide exprimental options
Signed-off-by: Frank Li <b439988l@gmail.com>
* remove experimental flag
Signed-off-by: Frank Li <b439988l@gmail.com>
* change experimental options in toml
Signed-off-by: Frank Li <b439988l@gmail.com>
* add behavior to not drop peers on failed lookup, add test coverage
* add dns discovery server override cli flag
Signed-off-by: garyschulte <garyschulte@gmail.com>
* catch exception
Signed-off-by: Frank Li <b439988l@gmail.com>
* use full error message
Signed-off-by: Frank Li <b439988l@gmail.com>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* Minimal cleanup: deleting rendundant code from ForkingValidatorProvider and associated tests
TODO refactor
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* Refactor: Remove now redundant lambdas and helper method in ForkingValidatorProvider
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* Refactor: Inline variables
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Require validator overrides for blockheader selection mode transitions
A runtime is thrown at startup if this requirement is not met.
Improve ValidatorContractTest: mine an extra block when ending transitions in blockheader mode, such that the test would fail if there were no validator overrides.
First commit for https://github.com/hyperledger/besu/issues/3038
A future commit will cleanup some associated redundant code.
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Jacoco failed to instrument some tests using the old version of the tool
when build under jdk17
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* add download link for 21.10.1
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* corrected link and hash
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
We are creating but not starting the dns discovery daemon. After this modification the node find peers instantly
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Co-authored-by: garyschulte <garyschulte@gmail.com>
* Remove benchmark from workflow (#2827)
Remove benchmark from workflow
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
Signed-off-by: Min Song <minsong@splunk.com>
* Added subcommand for validate-config
Signed-off-by: Min Song <ms2597@cornell.edu>
Signed-off-by: Min Song <minsong@splunk.com>
* formatting
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* use the main TomlConfigFile provider
* inject commandLine
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
Co-authored-by: Antony Denyer <git@antonydenyer.co.uk>
Co-authored-by: Min Song <minsong@splunk.com>
Co-authored-by: Min Song <ms2597@cornell.edu>
The NodeKeyTest might fail in case the SignatureAlgorithmFactory has an
instance already set from some previous test.
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
Next version of the dependency after 0.5.0 was 21.10.0 as can be seen on
the release page: https://github.com/ConsenSys/discovery/releases
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>
* 21.10.2-SNAPSHOT
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* moved things to next release
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
* Only add --bootnodes if there are some nodes set (#1632)
Signed-off-by: Diego López León <dieguitoll@gmail.com>
* Allow to configure P2P port (#1632)
Signed-off-by: Diego López León <dieguitoll@gmail.com>
* Add discovery options to genesis file (#1632)
Signed-off-by: Diego López León <dieguitoll@gmail.com>
When producing the next block, the previousBlockHeader.number + 1 needs to be used to query the transition forkSchedule.
This is because the list of validators associated with each forkSchedule may be a different set to the current block.
This commit changes the implementation for getValidatorsAfterBlock to support this and points getValidatorsAtHead at this implementation.
Note getValidatorsForBlock's forkSchedule query is unchanged since we have already mined the block at the point this is called (e.g. for RPCs qbft_getValidatorsBy...).
For TransactionValidatorProvider, we need to use the next block's contract address but still use the previous block's validators in the contract call itself.
Querying validators using afterBlock vs forBlock may yield different (blockNumber -> validatorAddresses) combinations when transitioning into CONTRACT mode.
There we also split TransactionValidatorProvider validatorCache into two caches.
Add special case to ForkingValidatorProvider (BlockValidatorProvider.hasValidatorOverridesForBlockNumber) to support transitioning to blockheader mode with some validator overrides. This might be needed if the current validator set loses quorum and we
are no longer able to vote new ones in.
New integration test cases for validatorselectionmode transitions:
- contract -> contract
- contract1 -> blockheader -> contract2
- contract1 -> blockheader with overridden validators -> contract2
Fixes https://github.com/hyperledger/besu/issues/2901
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
* When tls is on, use passthrough framer and passthrough handshaker to avoid double encryption
Signed-off-by: Saravana Perumal Shanmugam <perusworld@linux.com>
* adds a new docker build focusing on providing tools for debugging
* updates the latest build to only include a jvm, not a full jdk as shipped for Java 17
Signed-off-by: Justin Florentine <justin+github@florentine.us>