besu icon indicating copy to clipboard operation
besu copied to clipboard

Tessera ATs - run Tessera as a process

Open pinges opened this issue 4 years ago • 8 comments

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.

  1. Reuse the docker instances per test class
  2. Make Tessera nodes run in a process/thread like they do in other acceptance tests

Any other ideas?

pinges avatar Oct 11 '21 03:10 pinges

Alternative idea - run Tessera as a process (requires some changes to Tessera - Stefan had a PR)

macfarla avatar Oct 13 '21 00:10 macfarla

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 avatar Nov 04 '21 04:11 mark-terry

@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.

MadelineMurray avatar Nov 08 '21 00:11 MadelineMurray

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.

MadelineMurray avatar Nov 08 '21 00:11 MadelineMurray

Going for "Make Tessera nodes run in a process/thread like they do in other acceptance tests"

taccatisid avatar Nov 16 '21 01:11 taccatisid

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.

jflo avatar Nov 17 '21 23:11 jflo

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

macfarla avatar May 10 '22 23:05 macfarla

Blocked by https://github.com/ConsenSys/tessera/issues/1490

Gabriel-Trintinalia avatar Oct 06 '22 00:10 Gabriel-Trintinalia

Blocked by https://github.com/hyperledger/besu/pull/4532

Tessera needs Java 17.

Gabriel-Trintinalia avatar Nov 21 '22 05:11 Gabriel-Trintinalia

@macfarla - anything related to latest tessera AT changes? Close?

non-fungible-nelson avatar Jan 26 '23 10:01 non-fungible-nelson