Commit Graph

10515 Commits

Author SHA1 Message Date
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
Shams Asari
199e167639
ENT-11192: Migrate usage of @Test.expected annotation parameter (#7593)
Replaced usage of `@Test.expected` annotation parameter with more specific exception assertions. This is also needed to migrate away from the explicit timeouts in every tests.
2023-12-06 16:45:51 +00:00
Shams Asari
755c7b73b0
ENT-11111: Reverted exposure of internal ConcurrencyUtils method (#7586) 2023-12-06 09:55:35 +00:00
Shams Asari
1b3ea01fc9
ENT-11112: Enabled X509EdDSAEngineTest (#7595) 2023-12-06 09:46:53 +00:00
Shams Asari
4cf5fe55dd
ENT-11099: Update Java compile source & target to 17 (#7594)
And removed unused `jdkClassifier` in build files.
2023-12-06 09:46:29 +00:00
Jose Coll
8f87b2060b
ENT-11245 Catch and transform new enum type value. (#7596) 2023-11-30 19:13:34 +00:00
Rick Parker
59ff476a40
ENT-11050: Support flag to indicate if in transaction back chain resolution, and use it to drop deserialization errors to warn (#7591)
* Support flag to indicate if in transaction back chain resolution, and use it to drop deserialization errors to warn
* Fix and rename test that has different outcome now
2023-11-28 11:15:21 +00:00
Adel El-Beik
72e5c4fed2
ENT-11036: initiatedBy is now a list of CordaX500Names. (#7592) 2023-11-28 07:10:53 +00:00
Connel McGovern
d6b9134700
Merge pull request #7589 from corda/merge-release/os/4.10-release/os/4.11-2023-11-24-14
ES-1131: Merging forward updates from release/os/4.10 to release/os/4.11 - 2023-11-24
2023-11-27 09:48:08 +00:00
r3-build
13417b037f Merging forward updates from release/os/4.10 to release/os/4.11 - 2023-11-24 2023-11-24 16:14:21 +00:00
Ronan Browne
b4a95a63cc
Merge pull request #7587 from corda/merge-release/os/4.9-release/os/4.10-2023-11-22-11
ES-1131: Merging forward updates from release/os/4.9 to release/os/4.10 - 2023-11-22
2023-11-24 16:13:22 +00:00
Adel El-Beik
21a5f20d6d
Merge pull request #7588 from corda/adel/ENT-11171
ENT-11171: Updated JDK8 to 392.
2023-11-23 14:44:18 +00:00
Adel El-Beik
47fd1ec1e4 ENT-11171: Updated JDK8 to 392. 2023-11-23 11:33:16 +00:00
r3-build
04d2373a8a Merging forward updates from release/os/4.9 to release/os/4.10 - 2023-11-22 2023-11-22 19:21:08 +00:00
Adel El-Beik
8776030a95
Merge pull request #7583 from corda/merge-release/os/4.8-release/os/4.9-2023-11-21-9
ES-1131: Merging forward updates from release/os/4.8 to release/os/4.9 - 2023-11-21
2023-11-22 19:20:14 +00:00
Adel El-Beik
daa5de7592
Merge pull request #7584 from corda/cc/dev/os/4.11/db_identifier_too_long
ENT-11168 - reduce database index name.
2023-11-21 15:07:58 +00:00
Connel McGovern
a1253c1f12
Merge pull request #7582 from corda/merge-release/os/4.10-release/os/4.11-2023-11-20-9
ES-1331: Merging forward updates from release/os/4.10 to release/os/4.11 - 2023-11-20
2023-11-21 13:03:25 +00:00
Chris Cochrane
d8b19de46e
Renamed index to keep Oracle happy 2023-11-21 11:48:37 +00:00
Connel McGovern
2adb502405
Merge branch 'release/os/4.11' into merge-release/os/4.10-release/os/4.11-2023-11-20-9 2023-11-21 09:16:06 +00:00
r3-build
aa4d2e56fc Merging forward updates from release/os/4.8 to release/os/4.9 - 2023-11-21 2023-11-21 03:02:05 +00:00
Ronan Browne
171977574e
Merge pull request #7581 from corda/merge-release/os/4.9-release/os/4.10-2023-11-20-8
ES-1331: Merging forward updates from release/os/4.9 to release/os/4.10 - 2023-11-20
2023-11-20 21:18:43 +00:00
r3-build
5e9fdb7b2b Merging forward updates from release/os/4.9 to release/os/4.10 - 2023-11-20 2023-11-20 14:29:12 +00:00
Connel McGovern
8d4eac4977
Merge pull request #7579 from corda/merge-release/os/4.8-release/os/4.9-2023-11-19-6
ES-1331: Merging forward updates from release/os/4.8 to release/os/4.9 - 2023-11-19
2023-11-20 14:25:52 +00:00
Adel El-Beik
f8925687a2
Merge pull request #7580 from corda/connelm/ES-1131/re-add-authenticateGradleWrapper
ES-1131: Re-add authenticateGradleWrapper
2023-11-20 11:38:01 +00:00
Connel McGovern
7c681e025d ES-1131: Re-add authenticateGradleWrapper 2023-11-20 11:06:46 +00:00
Connel McGovern
fa899c55c2 ES-1131: Re-add authenticateGradleWrapper 2023-11-20 11:05:54 +00:00
Ronan Browne
18d98760b1
Merge branch 'release/os/4.9' into merge-release/os/4.8-release/os/4.9-2023-11-19-6 2023-11-19 19:56:09 +00:00
Ronan Browne
44bfb2821d
Merge pull request #7578 from corda/merge-release/os/4.7-release/os/4.8-2023-11-17-6
ES-1331: Merging forward updates from release/os/4.7 to release/os/4.8 - 2023-11-17
2023-11-19 19:13:06 +00:00
Adel El-Beik
548242e3cd
Merge branch 'release/os/4.8' into merge-release/os/4.7-release/os/4.8-2023-11-17-6 2023-11-18 18:10:07 +00:00
Connel McGovern
5b846406c8
ES-1331: Enable Gradle Enterprise build scans & remote caching (#7574)
* ES-1131: Enable Gradle Enterprise build scans & remote caching
2023-11-17 17:41:45 +00:00
Jacob Scott
52e43d4223
ES-1622: Switch corda/corda Github Actions to use Github App for authentication (#7577)
* Update jira_assign_issue.yml

* Update jira_close_issue.yml

* Update jira_create_issue.yml

* Update .github/workflows/jira_assign_issue.yml

* Update .github/workflows/jira_assign_issue.yml

---------

Co-authored-by: Waldemar Żurowski <45210402+wzur-r3@users.noreply.github.com>
2023-11-16 16:21:07 +00:00
Adel El-Beik
afbd39660b
Merge pull request #7576 from corda/adel/ENT-11107
ENT-11107: Ctors added to LedgerRecoveryFlow to match EnterpriseLedge…
2023-11-16 11:35:10 +00:00
Adel El-Beik
b715140625 ENT-11107: Ctors added to LedgerRecoveryFlow to match EnterpriseLedgerRecoveryFlow. 2023-11-15 16:11:45 +00:00
r3-build
45bd9c95d8 Merging forward updates from release/os/4.11 to release/os/4.12 - 2023-11-14 2023-11-14 13:58:20 +00:00
Adel El-Beik
e39ceeab36
Merge pull request #7573 from corda/cc/dev/os/4.11/changeset_checksum
ENT-11130 - OS vs Enterprise changeset checksums
2023-11-14 13:55:53 +00:00
Chris Cochrane
9065c1703a
Updated changeset to match Enterprise 2023-11-13 17:07:49 +00:00
Adel El-Beik
fb9a6ef7c5
Merge pull request #7572 from corda/cc/dev/4.12/jetty_upgrade
ENT-11007 - Jetty upgrade
2023-11-13 09:36:15 +00:00
Chris Cochrane
2380364650
Jetty upgrade 2023-11-10 15:59:16 +00:00
Adel El-Beik
f40b6599fe
Merge pull request #7571 from corda/cc/dev/4.11/revert_netty
ENT-11129 - Revert netty version
2023-11-10 15:58:57 +00:00
Chris Cochrane
974d81cf41
Revert netty version 2023-11-10 12:41:44 +00:00
Adel El-Beik
28bbe09710
Merge pull request #7569 from corda/colljos/fix_sdr_index
ENT-11127  Update index name (to meet Oracle max length limitation of 30 chars).
2023-11-09 15:50:05 +00:00
Jose Coll
e94e02fc4b Update index name (to meet Oracle max length limitation of 30 chars). 2023-11-09 11:25:56 +00:00
Adel El-Beik
24da24e57c
Merge pull request #7568 from corda/feature/arshadm/publish-release-preview
ENT-11125  Fix publish preview releases
2023-11-08 15:17:36 +00:00
Arshad Mahmood
1b4189b2b3 Added explicit publishing configuration for projects bundled as jars, this change was required when upgrading to kotlin 1.9.0 2023-11-08 10:48:10 +00:00
Jose Coll
c445c72d3a
ENT-10110 Store Ledger Recovery records only if the transaction was locally stored in the first place. (#7564) 2023-11-08 08:52:25 +00:00
Chris Cochrane
3c34caabc3
ENT-10888,ENT-11108 - Security vulnerabilties (#7556)
* Security vulnerabilties
* Upgraded netty
* ENT-11108: Upgraded tcnative depedency to 2.2.224.
* Added architecture classifiers for netty-tcnative
2023-11-07 10:46:03 +00:00
Adel El-Beik
73fce5fa36
Merge pull request #7482 from corda/feature/arshadm/ent-6914-jdk17-compatibility-rebased
ENT-6914 - Updated project to build with Gradle 7.6, Kotlin 1.8 and JDK 17
2023-11-06 13:10:02 +00:00
Arshad Mahmood
1614bd5a63 Updated api definitions due to format change, 2023-11-06 10:45:00 +00:00