Commit Graph

10362 Commits

Author SHA1 Message Date
Shams Asari
fbb8a774f3 ENT-11056: Turn off javadoc for serialisation-1.2 module
It doesn't have any Java source code.
2024-01-03 12:41:04 +00:00
Shams Asari
2e63ca6264
ENT-11065: Remove the need for JVM flags in client code (#7635) 2024-01-03 11:22:03 +00:00
Shams Asari
406f7ff292
ENT-11056: Compile the external verifier using Kotlin 1.2 (#7622)
This requires Kotlin 1.2 versions of core and serialization (core-1.2 and serialization-1.2 respectively), which are just "shell" modules and which compile the existing source code with Kotlin 1.2. The 1.2 plugin does not work with the current version of Gradle and so the 1.2 compiler has to be called directly.

Now with two versions of Kotlin in the code base, each module needs to have its version manually specified to ensure a clean separation. Otherwise, the default Kotlin version can override 1.2 when needed.

Some of the code was tidied-up or improved to enable it to be cross-compiled. For post-1.2 APIs being used, they have been copied into core-1.2 with the same method signatures. OpenTelemetryComponent was moved to node-api, along with the dependency, to avoid also having a 1.2 version for the opentelemetry module.
2024-01-02 17:02:20 +00:00
Adel El-Beik
4791f0d84f
Merge pull request #7630 from corda/merge-release/os/4.11-release/os/4.12-2023-12-21-86
ENT-11118: Merging forward updates from release/os/4.11 to release/os/4.12 - 2023-12-21
2023-12-22 12:23:02 +00:00
Adel El-Beik
7a8b2c89ef
Merge pull request #7633 from corda/arshadm/ent-11295-fix-mqsecurity-asnode
ENT-11295 Fix tests in P2PMQSecurityTest
2023-12-22 12:21:59 +00:00
Adel El-Beik
7b57ccf783
Merge pull request #7634 from corda/arshad/ent-11316-fix-config-parsing-test
ENT-11316 Fix test failure due to issue in Kotlin 1.9 type inference
2023-12-22 12:19:21 +00:00
Arshad Mahmood
74179a3ff5 ENT-11316 Fix test failure due issue in Kotlin 1.9 type inference 2023-12-21 15:44:14 +00:00
Arshad Mahmood
26861ffd05 ENT-11295 ActiveMQ behaviour has changed so that CREATE_ADDRESS is perforned before CREATE_DURABLE_QUEUE in this situation 2023-12-21 15:03:09 +00:00
Balwant Kothari
d235e887fe
ENT-11113 Ignored JDK 17 related fixes for byteman related issues (#7626)
* Updated mockito version and removed ignored annotation to relevant test cases
2023-12-21 11:11:55 +00:00
r3-build
2eb1e9f426 Merging forward updates from release/os/4.11 to release/os/4.12 - 2023-12-21 2023-12-21 03:50:35 +00:00
Adel El-Beik
e815b381ef
Merge pull request #7617 from corda/merge-release/os/4.11-release/os/4.12-2023-12-15-79
ENT-11281: Merging forward updates from release/os/4.11 to release/os/4.12 - 2023-12-15
2023-12-19 13:15:51 +00:00
Adel El-Beik
7cbfc71a74
Merge pull request #7621 from corda/feature/arshad/ent-11294-fix-checkpoint-failing-test
ENT-11294  Fix failing tests in - FlowCheckpointVersionNodeStartupCheckTest
2023-12-19 11:26:10 +00:00
Jose Coll
fb6c4f6a3d
ENT-11003 [CRAFT][Sample CorDapp] simm-demo fails to create a trade (#7604)
* Reference tiny contract-states jar (do this also gets deployed to node cordapps)
* Update artifact publishing.
* Add explicit compileKotlin pendency to sub-project shrink task.
2023-12-19 11:14:35 +00:00
Jose Coll
0bcebd3dc1 Detekt. 2023-12-19 10:02:12 +00:00
Jose Coll
5a807e1eed Detekt. 2023-12-19 09:25:43 +00:00
Jose Coll
d049f8a6f3 Re-add build cache configuration. 2023-12-19 09:20:31 +00:00
Jose Coll
b47d5ec5c7 Merge branch 'release/os/4.12' into merge-release/os/4.11-release/os/4.12-2023-12-15-79 2023-12-19 08:46:52 +00:00
Jose Coll
c1fe0e739a Resolve conflicts. 2023-12-19 08:46:26 +00:00
Arshad Mahmood
2a149e3aee ENT-11294 Handle kryo exception wrapped in KryoException 2023-12-18 16:12:34 +00:00
Adel El-Beik
dce725ff4b
Merge pull request #7609 from corda/arshadm/ent-11264-serizlized-lambda
ENT-11264  Fix initialization of field serializer
2023-12-18 15:54:15 +00:00
Adel El-Beik
422786dccc
Merge pull request #7608 from corda/shams-verification-service
ENT-11267: Introducing VerificationService, which implements VerificationSupport in terms of node-based services
2023-12-18 13:47:32 +00:00
Shams Asari
61a05a90eb
ENT-11155: Remove internal Kotlin utilities which have since been added after 1.2 (#7585)
This is mostly the `Path` extension functions in `PathUtils.kt`.
2023-12-18 12:05:08 +00:00
Adel El-Beik
4182e9f999
Merge pull request #7620 from corda/merge-release/os/4.10-release/os/4.11-2023-12-16-39
ENT-11118: Merging forward updates from release/os/4.10 to release/os/4.11 - 2023-12-16
2023-12-17 20:13:26 +00:00
r3-build
16ade601ad Merging forward updates from release/os/4.10 to release/os/4.11 - 2023-12-16 2023-12-16 19:18:14 +00:00
Adel El-Beik
5569cd37be
Merge pull request #7619 from corda/merge-release/os/4.9-release/os/4.10-2023-12-15-37
ENT-11118: Merging forward updates from release/os/4.9 to release/os/4.10 - 2023-12-15
2023-12-16 19:15:09 +00:00
r3-build
1cf66d4a8f Merging forward updates from release/os/4.9 to release/os/4.10 - 2023-12-15 2023-12-15 20:02:41 +00:00
Adel El-Beik
2208d56337
Merge pull request #7618 from corda/tom/ENT-11118/netty-ssl-handshake-fix
ENT-11118: Netty SSL handshake fix (#5028)
2023-12-15 19:59:39 +00:00
Adel El-Beik
10e005b072
Merge pull request #7612 from corda/arshadm/feature/ent-11253-publish-sources-and-javadoc
ENT-11253 Publish sources and javadoc
2023-12-15 18:04:56 +00:00
Tom Stark
71e187dddb ENT-11118: Netty SSL handshake fix (#5028)
* ENT-11118: Added fix for netty SSL handshake fail
2023-12-15 17:16:15 +00:00
Ronan Browne
292258a985
Merge pull request #7616 from corda/merge-release/os/4.10-release/os/4.11-2023-12-15-36
ENT-11281: Merging forward updates from release/os/4.10 to release/os/4.11 - 2023-12-15
2023-12-15 12:04:49 +00:00
r3-build
a475c275db Merging forward updates from release/os/4.10 to release/os/4.11 - 2023-12-15 2023-12-15 11:41:19 +00:00
Ronan Browne
87a47c4ee5
Merge pull request #7615 from corda/merge-release/os/4.9-release/os/4.10-2023-12-14-35
ENT-11281: Merging forward updates from release/os/4.9 to release/os/4.10 - 2023-12-14
2023-12-15 11:40:05 +00:00
r3-build
27759ea74f Merging forward updates from release/os/4.9 to release/os/4.10 - 2023-12-14 2023-12-14 17:51:03 +00:00
Maciej Swierad
bf6fcb2a8f
Merge pull request #7614 from corda/merge-release/os/4.8-release/os/4.9-2023-12-14-33
ENT-11281: Merging forward updates from release/os/4.8 to release/os/4.9 - 2023-12-14
2023-12-14 17:48:48 +00:00
r3-build
40a96c5760 Merging forward updates from release/os/4.8 to release/os/4.9 - 2023-12-14 2023-12-14 17:06:04 +00:00
Maciej Swierad
bbc994882a
Merge pull request #7613 from corda/merge-release/os/4.7-release/os/4.8-2023-12-14-35
ENT-11281: Merging forward updates from release/os/4.7 to release/os/4.8 - 2023-12-14
2023-12-14 17:03:24 +00:00
r3-build
0dbdd08984 Merging forward updates from release/os/4.7 to release/os/4.8 - 2023-12-14 2023-12-14 15:30:28 +00:00
Maciej Swierad
97310a8895 ENT-11281/Activating forward merge logic 2023-12-14 14:57:13 +00:00
Suhas Krishna Srivastava
dfbc5302a9
ENT-11270: fix structure tests (#7606)
* ENT-11270: Un-ignored new tests as newer JDK adds more details.

Newer JDK adds the line position as well along exception message string, this makes the actual as:
line too long (line 1)
instead of: line too long
So, error is still thrown but the message contains a little more detail in the newer JDK.

Hence, changing equals to contains.
2023-12-14 11:09:16 +00:00
Arshad Mahmood
91d4c33513 ENT-11264 Fixed initialization of field serializer 2023-12-13 16:34:44 +00:00
Arshad Mahmood
b7de1dcd23 ENT-11253 Publish sources and javadoc 2023-12-13 16:26:23 +00:00
Shams Asari
a34932e887 ENT-11267: Introducing VerificationService, which implements VerificationSupport in terms of node-based services 2023-12-12 15:01:48 +00:00
Arshad Mahmood
c94f1d730c ENT-11271 Publish dependencies in the maven pom.xml 2023-12-12 13:24:15 +00:00
Adel El-Beik
b375c7da21
Merge pull request #7601 from corda/arshadm/ent-11261-fix-class-cast-test-failures
ENT-11261 Re-enabled a number of ignored tests due to class cast exception
2023-12-08 10:52:29 +00:00
Arshad Mahmood
d4dc6127b1 ENT-11261 Re-enabled tests ignore due to class cast exception 2023-12-08 07:49:16 +00:00
Adel El-Beik
6c4ab9a440
Merge pull request #7575 from corda/merge-release/os/4.11-release/os/4.12-2023-11-14-36
ENT-11130: Merging forward updates from release/os/4.11 to release/os/4.12 - 2023-11-14
2023-12-07 17:54:21 +00:00
Adel El-Beik
c9589d6ae3
Merge pull request #7602 from corda/shams-remove-too-generic-exception-rule
ENT-11263: Remove TooGenericExceptionCaught detekt rule
2023-12-07 17:51:28 +00:00
Shams Asari
e2bcd0499e ENT-11263: Remove TooGenericExceptionCaught detekt rule 2023-12-07 13:36:21 +00:00
Shams Asari
11d0054fcc
ENT-11055: Basic external verification (#7545)
* ENT-11055: Basic external verification

Introduction of the external transaction verifier, a separate JVM process for verifying `SignedTransaction`s. The end goal is for this verifier to be built with Kotlin 1.2 so that it creates a compatible verification environment for transactions with 4.11 contracts. For now however the verifier is built against Kotlin 1.8, same as the node.

External verification is enabled when the the system property `net.corda.node.verification.external` is set to `true`. When enabled, all verification requests made via `SignedTransaction.verify` are sent to the external verifier, regardless of the transaction content. It will do the vast bulk of the verification and then send the result back, namely if an exception occurred. If it did, then it's re-thrown in the node.

The external verifier is a stateless process, with no connection to the node's database. All transaction resolution information needed to create the relevant ledger transaction object are made to the node, which waits in a loop servicing these requests until it receives the result. The verifier Jar is embedded in the Corda node Jar, and is extracted and run when needed for the first time. The node opens up a local port for the verifier to communicate with, which is specified to the verifier in the process command line. This all means there is no extra configuration or deployment required to support external verification.

The existing code had some initial attempts and abstractions to support a future external verification feature. However,
they were either incorrect or didn't quite fit. One such example was `TransactionVerifierService`. It incorrectly operated on the `LedgerTransaction` level, which doesn't work since the transaction needs to be first serialised. Instead a new abstraction, `VerificationSupport` has been introduced, which represents all the operations needed to resolve and verify a `SignedTransaction`, essentially replacing `ServicesForResolution` (a lot of the changes are due to this). The external verifier implements this with a simple RPC mechanism, whilst the node needed a new (internal) `ServiceHub` abstraction, `VerifyingServiceHub`. `ServicesForResolution` hasn't been deleted since it's public API, however all classes implementing it must also implement `VerifyingServiceHub`. This is possible to do without breaking compatibility since `ServicesForResolution` is annotated with  `@DoNotImplement`.

Changes to `api-current.txt` were made due to the removal of `TransactionVerifierService`, which was clearly indicated as an internal class, and returning `TransactionBuilder.toLedgerTransactionWithContext` back to an internal method.

* Address review comments

* One bulk load states method

* Merge fix
2023-12-07 11:29:27 +00:00
Balwant Kothari
74ca2c6734
ENT-10560 JDK 17 Test Cases Fixes (#7598)
* Updated mockito version and removed ignored annotation to relevant test cases

* Updated mockito version and removed ignored annotation to relevant test cases
2023-12-07 10:46:56 +00:00