To prepare for the Bintray shutdown add publication to the hyperledger's
artifactory instance to the build.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* Add tracing support for internals and JSON-RPC
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Remove rocksdb tracing as it slows down execution too much
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Add B3 headers extraction on JSON-RPC requests
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Remove traces around trie tree as they slow down syncing significantly
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Add tracing to fast sync pipeline
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Add tracing for all pipelines
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Address code review
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Add acceptance tests and break out the shaded dependency
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Fix tracer id
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Revert changes to trie
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Upgrade otel to latest, remove old tracing
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Code review comments
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
The addition of the EvmTool resulted in duplication of some files in the
zip and tar.gz distributions. Remove the build configurations that
caused that duplication.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* Add OTLP metrics support
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Don't automatically push to grpc. Only allow if pushEnabled is set to true
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Code review
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Missed refactoring
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Add missing header
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Don't make otel depend on the push enabled flag
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Expose JUL logs to log4j2
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Code review fixes and make sure not to start push gateway if not set to prometheus
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* spotless
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Fix unit test
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* code review feedback
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Add changelog entry
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Update the besu-native libraries to 0.3.0 to gain access to faster BN128
and secp256k1 implementations.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
This adds EvmTool to the standard distributions.
In addition, add a property flag that disables the secpk256k1
auto-randomization for just the EvmTool to speed up invocation.
(fixes#1464)
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Add some Quality of Life changes to reference tests
* ShanghaiLove tests tend to OOM in parallel execution. Exclude them.
* LegacyTests, as generated code, are not subject to SPDX header checks.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Create different Docker images with different base JVMs. Initially
OpenJDK 11.0.7, whatever OpenJDK latest is (14.0.1 at the moment), and
Graal 20.1.0 .
We still maintain a "Default" which will remain Java 11.0.x
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* Upgrade Library Versions
Upgrade library versions to most recent version
Exceptions:
* Errorprone - lots of new violations need fixing
There will be a follow on PR for this.
* picocli - non-trivial conformance changes
* EthSigner&Orion - similar non-trivial API changes, plus it's only for
integration testing
* Kubernetes - significant library revisions
* Web3j - Web3j changed some error semantics in 5.0 that broke
acceptance tests. Expect an update in a follow on PR.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
SPDX checks shouldn't be done against jmh generated files. Make it
generic so that the gradle/intellij favoured location of generated files
will never be a problem. These are also covered by `.gitignore` already.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
When deserializing some JSON-RPC requests jackson instantiates
OptionalLong in a way JPMS doesn't like. Suppress that warning.
Fixes#798
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* Capture test logs in CI
If test logs were saved, store them as CI artifacts
* Only keep logs for failed tests
* Catch tests who didn't define names into a generic filename
Signed-off-by: Horacio Mijail Anton Quiles <hmijail@gmail.com>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
Via JNA use native scep256k1 and altbn128 libraries.
This is gated by two feature flags and is disabled by default.
* `--Xsecp256k1-native-enabled` enables native secp256k1 across all of besu
* `--Xaltbn128-native-enabled` enables native altbn128 in the precompiled contracts
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Occasionally the other side of an HTTP connection will drop the
connection before we are done processing. This results in a harmless
but annoying exception showing up in the log. If we check before we
write we won't get that exception.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
License reporting depends on the deprecated "compile" dependency in the
root project. Restore that so that license checking can work.
Also clean out old unused license types and one unneeded dependency.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* Fix zip build
Currently building from a non-git checkout, such as a zip file, does not
work because of the way we calculate the git commit hash. Add a catch
clause to return 8 "x"s in case the calculation fails.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* let the user know retrievial failed
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* left in debugging code tripping the error
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Removes as many Gradle 7.0 compatibility issues as possible
* `baseName` -> `archiveBaseName`
* `extension` -> `archiveExtension`
* `destinationDir` -> `destinationDirectory`
* `runtime` -> `runtimeOnly`
* Change some log4j-api and log4j-core dependencies
* Remove an unneeded and outdated plugin (`net.ltgt.apt`)
* tweak the plugin-api change detector's property annotations.
Warnings still exist with one external plugin used for license file
checking that we do not control the source code for.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
This was turned off a number of months ago because of long build times.
However it appears either because of code structure changes or fixed
errorprone that this finishes in a reasonable time now.
Code that violated this check is also fixed.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Update dependencies to most current version
- except picocli which is a major version update
Alphabetize dependencies
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* updates to circle building acceptance tests
* added in a testDocker gradle target to test the docker image
Signed-off-by: Joshua Fernandes <joshua.fernandes@consensys.net>
Upgrade Gradle to 6.0.
* This is needed as Gradle 5.x did not support Java 13
* Jacoco needed a version upgrade to support Java 13
* Upgrade Errorprone to fix some breaks
* Another Errorprone check is broken in 13
* The 'Finally' Errorprone check is only broken in Java 12
* JMH needed a version upgrade and a new build flag
* Switch to bin distribution for smaller builds
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Upgrade dependencies except rocksdb (needs burn in testing),
picocli (reorders options), gradle (causes build server breakage), and
web3j (test failures).
* Awaitality removed a Duration object and instead uses java.time
* jackson stopped throwing a checked exception for one API
* spotless now enforces gradle formatting checks (yea!)
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* Add totalDiffculty to BlockPropagated events.
The chain head block can be contentious with many fork blocks (ommers) propagating on the network. We should add a totalDifficulty to make it easier to see which block is most likely the current head.
- added `BlockPropagated` interface in `plugin-api`.
- updated `BesuEvents.onBlockPropagated` method to take a `BlockPropagated` instead of a `BlockHeader`.
- created `BlockPropagatedSubscriber` in `BlockBroadcaster`.
- changed type of `BlockBroadcaster.blockPropagatedSubscribers` from `Consumer<Block>` to `BlockPropagatedSubscriber`.
- updated unit tests accordingly to all changes.
- updated known hash in `build.gradle` file of `plugin-api`: new value is `4SAeaZIJMsDvUK5Wp2RzU8TlHacslALnM/4yvVhsMtY=`
Signed-off-by: Abdelhamid Bakhta <abdelhamid.bakhta@consensys.net>
Add a build task that will enumerate all the maven publications and fail
the build if it detects that a duplicate maven coordinate would be used.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Signed-off-by: Lucas Saldanha <lucas.saldanha@consensys.net>