Commit Graph

9665 Commits

Author SHA1 Message Date
fec2ef2fd3 CORDA-3638: Allow CordaFuture to complete even if an Error is thrown. (#5994)
* Allow CordaFuture to complete even if an Error is thrown.

* Allow CordaFuture.flatMap() to notify for failures due to Error.
2020-03-03 15:01:12 +00:00
b86ae0d6a6 Web server fails to connect to node if node takes too long to startup (#6012)
* CORDA-3557: The web server attempts to reconnect to the client for a minute if initial attempt fails.

* CORDA-3557: Fixing detekt issues
2020-03-03 12:10:04 +00:00
bd197b5229 TM-204 Modifying regression builds to prevent bad dependency graphs (#6013)
* TM-204 attempting to fix regression builds

* TM-204 attempting to fix regression builds

* TM-204 reverting spring boot version and only removing missing dependency

* TM-204 reverting to original build.gradle

* TM-204 re applying dependency

* TM-204 consolidating dependencies

* TM-204 setting spring boot dependency

* TM-204 reverting and upgrading dependency management plugin version in parent gradle file

* TM-204 apply dependency plugin differently

* TM-204 new gradle files

* TM-204 try and fix corda rpc evaluation

* TM-204 try and fix corda rpc evaluation

* TM-204 separate slow integration and smoke test

* TM-204 modifying regression builds to separate slow integration tests and smoke tests as they sometimes result in a bad gradle dependency graph

* TM-204 separating slow integration tests from the rest

* TM-204 change to allow ci03 to run this jenkinsfile

* TM-204 switching to aks label to allow testing on ci03

* TM-204 now that test was successful, switching back to correct prod label
2020-03-03 11:16:37 +00:00
cd6098fd4f Flag finance library as not for production use in documentation (#6011) 2020-03-03 08:42:10 +00:00
30167fd2e8 TM-204 Fixing regression builds (#6009)
* TM-204 attempting to fix regression builds

* TM-204 attempting to fix regression builds

* TM-204 reverting spring boot version and only removing missing dependency

* TM-204 reverting to original build.gradle

* TM-204 re applying dependency

* TM-204 consolidating dependencies

* TM-204 setting spring boot dependency

* TM-204 reverting and upgrading dependency management plugin version in parent gradle file

* TM-204 apply dependency plugin differently

* TM-204 new gradle files

* TM-204 try and fix corda rpc evaluation

* TM-204 try and fix corda rpc evaluation

* TM-204 separate slow integration and smoke test
2020-03-02 14:50:01 +00:00
da3adb40b4 ENT-5039 Improved help text for commands (#6006)
* Improved help text for commands

* Address feedback
2020-03-02 11:14:55 +00:00
ab000e0533 CORDA-3597 Replace old Checkpoint table with new one. (#5992)
* Replace old Checkpoint table with new one.

Adds some of the new fields into the table where needed (I have
guessed this stuff but we can update it as we go along).

* Fix database constraints + name table correctly opps.

* Fixed typos in Liquidbase script

Also corrected constraints and added missed fields in hibernate
checkpoint class and liquibase scripts.

* Update CheckpointStorage to pass in serialization context.

This is cleaner than passing both the checkpoint and the
serialized checkpoint into the methods. Also fixed
CordaPersistanceServiceTests which I accidentally broke.

* Fix detekt problem

* Revert "Update CheckpointStorage to pass in serialization context."

This reverts commit b71e78f202.

* Fix test broken by reverting commit

* CORDA-3597 Update metadata join, timestamp columns and serialization

- Change the metadata join to the checkpoints table to use
  `invocation_id` instead of `flow_id`. There were issues joining
  between the tables because `flow_id` was not the primary key of the
  metadata table. Switching over to `invocation_id` has at least allowed
  us to bypass this issue. The information about the `invocation_id` is
  stored in the `Checkpoint` class which makes it simple to save at
  runtime.
- Some of timestamp columns were nullable when they should always be
  populated, the nullable flags have now been removed.
- Previously the whole checkpoint was being serialized and stored into
  the `checkpoints_blob.checkpoint` column. This meant duplicated saving
  as the `flow_state` was contained in this object. Only the
  `CheckpointState` property of `Checkpoint` is now being serialized and
  saved to this field. Furthermore, it now uses the default
  `STORAGE_CONTEXT` serialization (AMQP) instead of Kryo (which is only
  used for serializing the `flow_state` / flow stack).
- The checkpoint database performance metrics recording has been
  abstracted to its own class.

* CORDA-3597 Make metadata join non optional

Remove the nullable declaration on the metadata field of
`DBFlowCheckpoint`

* CORDA-3597 Rename `node_checkpoints_blobs` to `node_checkpoint_blobs`

* CORDA-3597 Update some kdocs

Co-authored-by: Dan Newton <danknewton@hotmail.com>
2020-03-02 10:04:48 +00:00
f6c30453a2 EG-71 - Changed the default file limit in the log4j2 configuration (#5996)
* Changed the default file limit in the log4j2 configuration to address roll over issue described in EG-71

* Updated the default file limit in the comment
2020-03-02 09:26:46 +00:00
d037dc0d06 EG-466 - Fix bug: (#5999)
'shutdown' command is repeated twice in the list of available shell commands.
2020-02-28 12:16:53 +00:00
1bf311ce4f Removes use of notaries.first. (#6008) 2020-02-27 13:27:38 +00:00
ae17669892 Merge pull request #5966 from corda/vcamp/os_release_notes_4.4
DOCS: release notes - Corda 4.4
2020-02-27 12:56:50 +00:00
14c73d5f95 Merge pull request #6003 from corda/denis/ENT-4990-amqp-disconnect
ENT-4990: Proper AMQP disconnect handling when remote session was not opened
2020-02-26 11:43:36 +00:00
9d4d128f4e CORDA-3597 add missed data to checkpoint class (#5995)
* Add extra fields to StateMachineState

* Move structures into checkpoint as this is a more natural place.
2020-02-26 10:48:52 +00:00
0af88365a1 ENT-4990: Proper AMQP disconnect handling when remote session was not opened 2020-02-26 10:48:26 +00:00
054563e40c ENT-4990: Port AMQP state machine logging and stability fixes from Enterprise to OS 2020-02-26 10:38:08 +00:00
92a437f333 EG-69 - fixed bug with picocli that was causing uncaught exception's stacktrace to always be printed on stderr (#5985)
calling `picocli.CommandLine.AbstractHandler#andExit` causes the exception handler to forcefully terminate the program execution (calling `java.lang.System#exit`) at all costs, even in case of `ExecutionException` being throw by `picocli.CommandLine#parseWithHandlers(picocli.CommandLine.IParseResultHandler2<R>, picocli.CommandLine.IExceptionHandler2<R>, java.lang.String...)`, this was causing the program to always print the exception stack trace on the `stderr` and terminating even before entering the `catch` block from lines 85 to 93
2020-02-26 09:49:14 +00:00
4ea74a45b5 ENT-5018: Updated documentation for RPC Settings address field based on client … (#5991)
* Updated documentation for RPC Settings address field based on client feedback explain implications of specifying 0.0.0.0 as host.

* Further updates to p2pAddress and messagingServerAddress sections of node settings.

* Further updates to additionalP2pAddresses and explaining localhost vs loopback address implications.

* Correct messagingServerAddress and amend adminAddress section.
2020-02-25 17:28:04 +00:00
275e801094 ENT-4955: Hide usage of FlowHospital inside StateMachineManager (#5997) 2020-02-25 14:10:59 +00:00
fe625d0f37 CORDA-3584: Now cope with 2 contract jars with same hash but different name (#5952)
* CORDA-3484: Now cope with 2 contract jars with same hash but different name, we just select one and use that.

* ENT-3584: Contract jars are now generated on the fly.

* CORDA-3584: Reverted changes to CordappProviderImpl. Exception is raised if node started with multiple jars with same hash.

* ENT-3584: Fixing test failure.

* CORDA-3584: Switch to test extension method instead of reflection to access internal member.

* ENT-3584: Address review comment. Dont fully qualify exception.

* CORDA-3584: Address review comment and converted lazy to a resettable one.

* CORDA-3584: Removed unused logger.

* CORDA-3584: Fixed visibility.

* CORDA-3584: Removed synchronized

* CORDA-3584: Removed CordappResolver

* CORDA-3584: Reverted change in gradle file and fixed test.

* CORDA-3584: Removed V3 from test description as it wasn't actually V3 specific.

* CORDA-3584: Address review comment. Let classes be garbage collected.
2020-02-25 11:18:01 +00:00
d2568b9077 NOTICK: Fix potential infinite loop when a SecurityManager is installed. (#5993) 2020-02-24 09:36:16 +00:00
2c9c2985c0 CORDA-3381: Errors in vault updates publisher are unsubscribing stopping observers from working (#5912)
* Throw SQLException or PersistenceException plain, that may come out of an unsafe subscriber

* Add explanatory comment about why we changed Observer.tee to use unsafe subscribe

* Introducing not unsubscribing version of Rx.Subscriber

* Wrap PublishSubjects with FlowSafeSubjects in all tests that test Observer.tee

* Minor code formatting

* Make rawUpdates Rx.Observers not unsubscribe when accessed from CordaServices - Do not allow rawUpdates subscribing from flows

* Warning fix: Add else block to when statement

* Revert "Wrap PublishSubjects with FlowSafeSubjects in all tests that test Observer.tee"

This reverts commit e419af86

* Correcting log message

* Improve log message

* Add fiber's id to log message and exception message

* Added test, asserting FlowSafeSubscriber is alive and re-accessed upon flow retry

* Logging flow name instead of flow id at VaultService.rawUpdates subscribing error

* Add kdoc to OnNextFailedException

* Minor text correction

* Update kdocs of FlowSafeSubject/ PreventSubscriptionsSubject

* Moved FlowSafeSubject under package node.internal as it is only used by NodeVaultService

* Add comment and update kdoc explaining how to subscribe with SafeSubscriber to FlowSafeSubject

* Change PreventSubscriptionsSubject#errorAction to be more specific; to return an Exception

* Minor text update

* Update messy comment

* Replace assertThat with assertEquals

* Splitting heartBeat to heartBeat1 and hearBeat2 for more clear asserting

* Correcting comment

* Update messy comment

* Splitting heartBeat into heartBeatOnNext and heartBeatOnError

* Update test name

* Add explanatory comment to test

* Update test name

* Update test and add test comment

* Moving NotarisedTxs from SendStateFlow to VaultObserverExceptionTest inside NodeHandle.getNotarisedTransactionIds

* Moving SubscribingRawUpdatesFlow from ErrorHandling to VaultObserverExceptionTest

* Update kdoc of FlowSafeSubscriber and FlowSafeSubscriber.onNext

* Make kdoc more clear

* Throw exception upon accessing VaultService.rawUpdates from within a flow

* Changing exception thrown when accessing VaultService.rawUpdates from within a flow to a CordaRuntimeException

* Minor kdoc update

* Update test comment

* Update kdoc of FlowSafeSubscriber

* Introducing Observable.flowSafeSubscribe public API method to subscribe with -non unsubscribing- Rx.Subscribers to Observables. It also replaced FlowSafeSubject

* Move CustomSafeSubscriber outside test methods

* Minor text update

* Add timeout to tests

* Update kdoc of flowSafeSubscribe

* Update kdoc of flowSafeSubscribe

* Update kdoc of flowSafeSubscribe

* Move FlowSafeSubscriber and flowSafeSubscribe under their own package

* Fix detekt issue

* Update Detekt baseline

* Revert "Update Detekt baseline"

This reverts commit 793a8ed9

* Fix Detekt issue

* Moved strictMode flag from flowSafeSubscribe to OnFlowSafeSubscribe

Moved OnFlowSafeSubscribe into internal package

Integration tested flowSafeLooseSubscribe

* Suppress Rx Deprecation

* Rename flowSafeSubscribe to flowSafeObservable

* Renaming flowSafeObservable to continueOnError and FlowSafeSubscriber to ResilientSubscriber
2020-02-21 10:02:34 +00:00
b3ca720412 NOTICK: Fix more Gradle technical debt. (#5989)
* NOTICK: Use Gradle's "lazy" task API.

* Make Java8 vs Java11 check consisent.
2020-02-20 17:01:24 +00:00
49b2f10cdf Merge pull request #5988 from corda/chrisr3-driver-shutdown
NOTICK: Tidy up driver shutdown so that resources are always released on error.
2020-02-20 14:34:26 +00:00
9dec5aac4b Merge pull request #5935 from corda/denis/ENT-4926-node-identity-docs
ENT-4915, ENT-4926, CORDA-3585: Update docs for X500 name and SSH hostkey
2020-02-20 11:11:46 +00:00
e9c2af661d NOTICK: Tidy up driver shutdown so that resources are always released on error. 2020-02-19 16:45:41 +00:00
28cb9e6cf4 Merge pull request #5987 from corda/chrisr3-44-merge
Merge from OS 4.4 up to 88008b.
2020-02-19 16:44:38 +00:00
4c6f15c40c Merge commit '88008b71f03a539749e32e5e76b2dc5ea98f897f' into chrisr3-44-merge 2020-02-19 14:12:10 +00:00
88008b71f0 Merge pull request #5984 from corda/rfowler-os4.3-0s4.4-20200218
Rfowler os4.3 0s4.4 20200218
2020-02-19 13:53:14 +00:00
86a4b998d5 Merge pull request #5928 from corda/chrisr3-inprocess-whitelists
CORDA-3566: Always add TestCordapps to the classpath when building _driverSerializationEnv.
2020-02-19 13:52:34 +00:00
afcab51fe3 Update "in-process" test on basis it can be made to work. 2020-02-19 10:42:44 +00:00
d89ce6608a Create a unit test for serialization whitelists via driver. 2020-02-19 10:42:34 +00:00
3eb88bca7d OS 4.4 release notes: added pargraph on bonus AppServiceHub call, revised section title, removed deprecations section 2020-02-18 17:37:41 +00:00
d6747ddcd6 Merge pull request #5981 from corda/chrisr3-44-merge
Merge from OS 4.4 up to ae478cc8
2020-02-18 16:21:07 +00:00
6ec314fade Merge remote-tracking branch 'origin/release/os/4.3' into rfowler-os4.3-0s4.4-20200218
# Conflicts:
#	.ci/dev/integration/Jenkinsfile
#	.ci/dev/unit/Jenkinsfile
#	Jenkinsfile
#	build.gradle
#	create-jdk8u/build.gradle
#	docs/source/corda-network/UAT.md
#	docs/source/network-builder.rst
#	node/src/integration-test-slow/kotlin/net/corda/node/services/distributed/DistributedServiceTests.kt
2020-02-18 15:48:58 +00:00
8d1b6cf499 CORDA-3432 update structure of checkpoint class (#5983)
* Split StateMachine State into 2 classes

The idea is this better reflects the database structure. Added a
few helper methods to copy and update state.

* Doc + Improve Checkpoint API

* Rename methods to be more clear
2020-02-18 15:31:46 +00:00
dc92786d17 Merge pull request #5974 from corda/CORDA-3593-shell-exits-after-shutdown-cmd
CORDA-3593: exit the InteractiveShell on shutdown command
2020-02-18 11:10:54 +00:00
9fc6a203e0 Merge commit 'ae478cc8ad30d086e6748ba5f35433202d74aeba' into chrisr3-44-merge 2020-02-18 09:25:42 +00:00
ae478cc8ad NOTICK: Add missing test for deserializing Duration for DJVM. (#5971) 2020-02-18 09:13:50 +00:00
20d1037610 NOTICK: Update Gradle scripts for deterministic modules. (#5978) 2020-02-18 09:12:19 +00:00
17f5bfc53b Remove Schedulable states from core-deterministic. (#5975) 2020-02-18 09:10:19 +00:00
396a579c8b NOTICK: Always use configured version of deterministic-rt.jar. (#5979) 2020-02-18 09:09:18 +00:00
c23deee3fb OS 4.4 release notes: address comments 2020-02-17 17:51:03 +00:00
a18caef56b CORDA-3495: fix link to network builder (#5977) 2020-02-17 16:42:39 +00:00
fbf9ec5654 Merge pull request #5824 from corda/ENT-4717-add-minimumPlatformVersion-to-docs
CORDA-3509: add documentation about minimumPlatformVersion
2020-02-17 15:32:27 +00:00
cd39456dab Merge pull request #5976 from corda/chrisr3-plugins-5.0.8
CORDA-3618: Upgrade to Corda Gradle plugins 5.0.8.
2020-02-17 13:28:22 +00:00
9b5080251d CORDA-3593: exit the InteractiveShell on shutdown command 2020-02-17 13:27:00 +00:00
12f59e1978 CORDA-3618: Upgrade to Corda Gradle plugins 5.0.8. 2020-02-17 12:29:52 +00:00
98e9b1caa6 EG-65 - Improved error reporting on stdout (#5962)
I modified the `ErrorCodeRewritePolicy` to concatenate all the error messages of the exception's cause chain.
The code will start from the throwable being passed to the logger and concatenate its error message with the one in its cause and proceed recursively until it finds an exception with no cause or it detects a loop (an exception already encountered in the traversal).

This should provide customers with more information about errors without having to look at the logs (that should still remain the primary source of information)
2020-02-17 11:34:00 +00:00
872d6ef4df NOTICK: Update Gradle files for DeteKt plugins. (#5970) 2020-02-16 08:21:05 +00:00
4c492a797b Merge pull request #5969 from corda/chrisr4-44-merge
Merge from OS 4.4 up to 21325df.
2020-02-15 18:15:02 +00:00