Tessera ATs - run Tessera as a process
When we added the Tessera container tests the time to run the acceptance tests increased.
Currently we are starting a docker container for each of the Besu and Tessera nodes for each test that involves Tessera.
- Reuse the docker instances per test class
- Make Tessera nodes run in a process/thread like they do in other acceptance tests
Any other ideas?
Alternative idea - run Tessera as a process (requires some changes to Tessera - Stefan had a PR)
Option 1: https://github.com/testcontainers/testcontainers-java/pull/1781
Container reuse in testcontainers is still WIP and appears to have outstanding work around assigning networks. This does not appear to be viable at this point in time.
@mark-terry - talking about this in planning today. We're going to do with option 2 and can start the work to make this change (ie, it's not blocked).
@pinges is going to link his previous PR using this approach. The previous PR is a MVP approach so this work is about implementing that approach with production quality code.
There's going to be two PRs - one in Tessera and one in Besu so leaving this issue in the Besu repo rather than moving to Tessera.
Going for "Make Tessera nodes run in a process/thread like they do in other acceptance tests"
Am interested in this, as the PrivacyReorgTest depends on Orion today, and when I swapped it out for Tessera in this pr https://github.com/hyperledger/besu/pull/3073, I triggered the dependency on testcontainers. That's not a deal breaker per-se, but since it is happening as a unit test instead of an integration/acceptance test, there is no docker daemon running to deploy Tessera to.
This functionality is now in Tessera. However we need a Tessera release 22.1.1 is current https://github.com/ConsenSys/tessera/releases/tag/tessera-22.1.1 Need 22.1.2 for this
Blocked by https://github.com/ConsenSys/tessera/issues/1490
Blocked by https://github.com/hyperledger/besu/pull/4532
Tessera needs Java 17.
@macfarla - anything related to latest tessera AT changes? Close?