Commit Graph

10296 Commits

Author SHA1 Message Date
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
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
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
b7de1dcd23 ENT-11253 Publish sources and javadoc 2023-12-13 16:26:23 +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
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
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
Arshad Mahmood
958c0bf53c Updated to use Corda Shell HC01 2023-11-06 10:25:34 +00:00
Arshad Mahmood
6dd33fb8f7 Upgrade to gradle 7.6, kotlin 1.8 and jdk 17
Major changes due to JDK 17:
1. JDK17 JCE Provider now has built-in support for eddsas, corda uses
   the bouncycastle (i2p) implementation. This PR removes the conflicting
   algorithms from the built-in JCE provider.

2. JavaScript scripting has been removed from the JDK, the corda log4j config was using
   scripting to conditionally output additional diagnostic info if the MDC
   was populated. This PR has removed the scripting.

3. The artifactory plug-ins used are now deprecated, this PR has removed them
   and uses the same code as Corda 5 for publishing to artifactory.

4. Javadoc generation has been modified to use the latest dokka plug-ins.

5. Gradle 7.6 has implemented an incredibly annoying change where transitive
   dependencies are not put on the compile classpath, so that they have to be
   explicitly added as dependencies to projects.

6. Mockito has been updated, which sadly meant that quite a few source files
   have to changes to use the new (org.mockito.kotlin) package name. This makes
   this PR appear much larger than it is.

7. A number of tests have been marked as ignored to get a green, broadly they fall
   into 3 classes.

   The first is related to crypto keypair tests, it appears some logic
   in the JDK prefers to use the SunJCE implementation and we prefer to use
   bouncycastle. I believe this issue can be fixed with better test setup.

   The second group is related to our use of a method called "uncheckedCast(..)",
   the purpose of this method was to get rid of the annoying unchecked cast compiler
   warning that would otherwise exist. It looks like the Kotlin 1.9 compiler type
   inference differs and at runtime sometimes the type it infers is "Void" which causes
   an exception at runtime. The simplest solution is to use an explicit cast instead of
   unchecked cast, Corda 5 have removed unchecked cast from their codebase.

   The third class are a number of ActiveMQ tests which appear to have a memory leak somewhere.
2023-11-06 10:24:17 +00:00
Adel El-Beik
3cd2e809ce
Merge pull request #7562 from corda/merge-release/os/4.11-release/os/4.12-2023-11-03-30
ENT-10760: Merging forward updates from release/os/4.11 to release/os/4.12 - 2023-11-03
2023-11-04 10:11:10 +00:00
Adel El-Beik
ae956d12e5
Merge pull request #7563 from corda/merge-release/os/4.11-release/os/4.12-2023-11-03-31
ENT-10760: Merging forward updates from release/os/4.11 to release/os/4.12 - 2023-11-03
2023-11-04 10:10:25 +00:00
r3-build
f32c4f7520 Merging forward updates from release/os/4.11 to release/os/4.12 - 2023-11-03 2023-11-03 21:37:59 +00:00
r3-build
a566a083c0 Merging forward updates from release/os/4.11 to release/os/4.12 - 2023-11-03 2023-11-03 21:37:50 +00:00
Adel El-Beik
f667aa5e04
Merge pull request #7557 from corda/merge-release/os/4.11-release/os/4.12-2023-11-02-27
ENT-11073: Merging forward updates from release/os/4.11 to release/os/4.12 - 2023-11-02
2023-11-03 21:36:59 +00:00
Adel El-Beik
517dbf118e
Merge pull request #7560 from corda/merge-release/os/4.10-release/os/4.11-2023-11-03-8
ENT-10760: Merging forward updates from release/os/4.10 to release/os/4.11 - 2023-11-03
2023-11-03 21:35:59 +00:00
Adel El-Beik
2f8d164dd0
Merge pull request #7561 from corda/bk/update_h2_version
ENT-11115: Bumping up H2 version 2.2.224
2023-11-03 21:33:57 +00:00
Adel El-Beik
702842caeb
ENT-9940: Updated quasar to 0.7.16_r3 (#7559) 2023-11-03 15:43:51 +00:00
Balwant Kothari
632a7481db
Bumping up H2 version 2.2.224 2023-11-03 19:14:49 +05:30
r3-build
793ce12a2e Merging forward updates from release/os/4.10 to release/os/4.11 - 2023-11-03 2023-11-03 13:13:04 +00:00
Adel El-Beik
2ff74c1d1a
Merge pull request #7558 from corda/merge-release/os/4.9-release/os/4.10-2023-11-03-7
ENT-10760: Merging forward updates from release/os/4.9 to release/os/4.10 - 2023-11-03
2023-11-03 13:11:58 +00:00
r3-build
a31fd82951 Merging forward updates from release/os/4.9 to release/os/4.10 - 2023-11-03 2023-11-03 10:00:35 +00:00
Adel El-Beik
01a6539111
ENT-10760: Fixed typo in Delete settings. (#7555) 2023-11-03 09:58:00 +00:00
Jose Coll
361cd678cb
ENT-10531 Add additional index on distribution records tables. Sync table names. (#7548) 2023-11-02 18:31:43 +00:00
r3-build
bb2c2b62e5 Merging forward updates from release/os/4.11 to release/os/4.12 - 2023-11-02 2023-11-02 17:47:59 +00:00
Jose Coll
5c32d3dec4
ENT-11073 Checkpoint agent: update java assist version. (#7554) 2023-11-02 17:46:29 +00:00
Adel El-Beik
e697444b6d
Merge pull request #7550 from corda/merge-release/os/4.11-release/os/4.12-2023-10-27-23
ENT-10100: Merging forward updates from release/os/4.11 to release/os/4.12 - 2023-10-27
2023-11-01 10:25:33 +00:00