DriverDSLImpl: incompatible API between Corda CE and OS (4.6.1)

Description

  • A clear description of the issue

Tools designed to use OS' `DriverDSLImpl` fail constructing an instance of the same class using CE.
The reason seems to be that CE adds an `enableSNI: Boolean` constructor parameter, perhaps without a default value.

  • Any logs or stack traces that you can provide (use a site like https://pastebin.com for larger logs)

```
java.lang.NoSuchMethodError: net.corda.testing.node.internal.DriverDSLImpl.<init>(Lnet/corda/testing/driver/PortAllocation;Lnet/corda/testing/driver/PortAllocation;Ljava/util/Map;Ljava/nio/file/Path;ZZZZLjava/util/List;Lnet/corda/testing/driver/JmxPolicy;Ljava/util/List;Lnet/corda/testing/node/internal/CompatibilityZoneParams;Lnet/corda/core/node/NetworkParameters;Ljava/util/Map;ZLjava/util/Collection;Ljava/nio/file/Path;Ljava/util/List;Ljava/util/Map;ZZILkotlin/jvm/internal/DefaultConstructorMarker;)V
```

  • Steps to reproduce the issue

Try to construct an instance like

```kotlin
DriverDSLImpl(
portAllocation = defaultParameters.portAllocation,
debugPortAllocation = defaultParameters.debugPortAllocation,
systemProperties = defaultParameters.systemProperties,
driverDirectory = defaultParameters.driverDirectory.toAbsolutePath(),
useTestClock = defaultParameters.useTestClock,
isDebug = defaultParameters.isDebug,
startNodesInProcess = defaultParameters.startNodesInProcess,
waitForAllNodesToFinish = defaultParameters.waitForAllNodesToFinish,
extraCordappPackagesToScan = @Suppress("DEPRECATION") defaultParameters.extraCordappPackagesToScan,
notarySpecs = defaultParameters.notarySpecs,
jmxPolicy = defaultParameters.jmxPolicy,
compatibilityZone = null,
networkParameters = defaultParameters.networkParameters,
notaryCustomOverrides = defaultParameters.notaryCustomOverrides,
inMemoryDB = defaultParameters.inMemoryDB,
cordappsForAllNodes = uncheckedCast(defaultParameters.cordappsForAllNodes),
djvmBootstrapSource = defaultParameters.djvmBootstrapSource,
djvmCordaSource = defaultParameters.djvmCordaSource,
environmentVariables = defaultParameters.environmentVariables,
// This is missing from OS so it wont compile
// enableSNI = true,
allowHibernateToManageAppSchema = true,
premigrateH2Database = true
```

  • The version/tag/release or commit hash it occurred on

Corda CE 4.6.1

Created by github action.

Assignee

Unassigned

Reporter

Former user

Labels

Sprint

None

Epic Link

None

Priority

Medium

Engineering Teams

None

Fix versions

None

Affects versions

None

Ported to...

None

Story Points / Dev Days

None

Build cut

None

Squad

None