Commit Graph

2144 Commits

Author SHA1 Message Date
Denis Rekalov
b512a2981d ENT-3828: Remove ability to SSH into standalone shell (#5876) 2020-01-24 10:44:25 +00:00
Viktor Kolomeyko
42a2ed98e2 CORDA-2942: Allow exception from CordaService creation to propagate (#5884)
* CORDA-2942: Allow exception from `CordaService` creation to propagate

It will ultimately be thrown from Node's `start()` method terminating the node start-up sequence.

* CORDA-2942: Be lenient when retrievign the name of the Notary

Some tests setup such that they do nto have Notary running.
2020-01-24 10:20:08 +00:00
Denis Rekalov
6a2249e697 CORDA-3520, CORDA-3550: SSH memory leak and security (#5873)
* CORDA-3520: Closing RPC connection on SSH disconnect
CORDA-3550: Remove support for outdated ciphers and algorithms from SSH

* CORDA-3550: Remove support for outdated ciphers and algorithms from SSH
2020-01-22 14:40:25 +00:00
James Higgs
9a1d46ddd1 EG-73 - Remove postgres dependency from the node and update docs (#5867) 2020-01-22 09:52:02 +00:00
Dan Newton
4bae045a58 ENT-4601 Public API to run external operations from a flow (#5833)
Deprecate FlowAsyncOperation and reimplement public versions FlowExternalOperation and FlowExternalAsyncOperation.

await added to FlowLogic to allow easy calling from both Java and Kotlin. There are two overrides of await (one for FlowExternalOperation and FlowExternalAsyncOperation).

Implementations of FlowExternalOperation return a result (written as blocking code) from their execute function. This operation will then be executed using a thread provided by the externalOperationExecutor.

Implementations of FlowExternalAsyncOperation return a future from their execute function. This operation must be executed on a newly spawned thread or one provided by a thread pool. It is up to developers to handle threading in this scenario.

The default thread pool (externalOperationExecutor) can be configured through the flowExternalOperationThreadPoolSize node config.

The current implementation leaves FlowAsyncOperation alone, meaning that any developers that have used it (even though it is internal) won't need to change their apps. If this was not concern I would delete it completely and replumb the state machine code. Instead, it has been marked with @DoNotImplement and executeAsync is annotated with @Deprecated
2020-01-22 09:27:17 +00:00
Viktor Kolomeyko
0978500a9a CORDA-2942: Node lifecycle events (#5846)
* CORDA-2942: Port minimal set of changes to make lifecycle events work

... and make codebase compile.

* CORDA-2942: Undo some changes which are not strictly speaking necessary

* CORDA-2942: Make `NodeServicesContext` leaner and delete `extensions-api` module

* CORDA-2942: Reduce even more number of files affected

* CORDA-2942: Integration test fix

* CORDA-2942: Make events `AfterStart` and `BeforeStop` generic w.r.t. `NodeServicesContext`

* CORDA-2942: `NodeLifecycleObserverService` and a set of integration tests.

Public API violations are expected as well as integration tests failing.

* CORDA-2942: Re-work to introduce `ServiceLifecycleObserver`

* CORDA-2942: Explicitly mention a type of exception that may be thrown for some events.

* CORDA-2942: Register `ServiceLifecycleObserver` through `AppServiceHub`

* CORDA-2942: Fix integration test + KDocs update

* CORDA-2942: Detekt and `api-current` update

* CORDA-2942: Improvement to `CordaServiceLifecycleFatalTests`

... or else it has side effects on other tests.

* CORDA-2942: Add an integration test for new API use in Java

Driver test is written in Kotlin, but services definition is written in Java.

Also KDocs improvements.

* CORDA-2942: Documentation and release notes update

* CORDA-2942: First set of changes following review by @mnesbit

* CORDA-2942: Second set of changes following review by @mnesbit

* CORDA-2942: Added multi-threaded test

* CORDA-2942: Fixes

* CORDA-2942: Undo changes to `api-current.txt`

* CORDA-2942: Bare mimimum change to `api-current.txt` for CI gate to pass.

* CORDA-2942: Address review feedback from @rick-r3

* CORDA-2942: Detekt update

* CORDA-2942: Delete `ServiceLifecycleObserverPriority` and replace it with `Int` after discussion with @mnesbit

* CORDA-2942: Introduce more `NodeLifecycleEvent` and switch services to listen for those events

* CORDA-2942: Few more changes after input from @rick-r3

* First stub on integration test
Unfinished - hang on issue and pay

* CORDA-2942: Switch to use out-of-process nodes for the inetgration test

Currently Alice and Notary stuck waiting to hear from each other.

* CORDA-2942: Extra log lines during event distribution

* CORDA-2942: Asynchronously distribute lifecycle events

* CORDA-2942: Await for complete P2P client start-up

Next step: Add vault query to integration test

* CORDA-2942: Asynchronously distribute lifecycle events

Next step: Improve integration test

* CORDA-2942: Fix test broken by recent changes and improve logging

* CORDA-2942: Improvement of the test to be able to monitor actions performed by @CordaService in the remote process

* CORDA-2942: Add node re-start step to the integration test

* CORDA-2942: Remove `CORDAPP_STOPPED` event for now

* CORDA-2942: s/CORDAPP_STARTED/STATE_MACHINE_STARTED/

* CORDA-2942: Inverse the meaning of `priority` as requested by @rick-r3

* CORDA-2942: Register `AppServiceHubImpl` for lifecycle events and put a warning when SMM is not ready.
2020-01-21 13:38:02 +00:00
Chris Rankin
a7147c1ffd ENT-4652: Provide an "attachment fixup" mechanism to repair broken transactions. (#5825)
* Do not register cordapp custom serialisers when using attachment classloader.

* Record the URLs of CorDapp JARs that contain custom serialisers. Include these JARs as extra attachments if we discover that we're missing a custom serialiser during transaction verification.

* Check for disabled serializer when explicitly requesting a custom serializer.
Refactor test case to force use of a custom serializer.

* Tidy up basic custom serializer test.

* Also test that TransactionBuilder rejects missing custom serializers.

* Remove test whitelists, which should not be needed with custom serialisers.

* Add changelog entry. Also align TestCordappImpl.findRoots() with OS backports.

* Second approach based around CorDapps inside AttachmentStorage - report missing type descriptor or any non-composable types.

* Initial implementation of Corda-Fixup rules inside a CorDapp jar.

* Replace original "automatic attachment fixing" mechanism completely.

* First review comments: restore "missing class" logic to TransactionBuilder.

* Restore "missing class" mechanism as fallback for SignedTransaction too.
2020-01-14 15:18:51 +00:00
Denis Rekalov
73a0782f5d CORDA-3452: Node: Configure the input of custom string in CSR (#5844)
* CORDA-3452: Node: Configure the input of custom string in CSR to be used by Identity Service

* CORDA-3452: Remove unused import

* CORDA-3452: Add test for networkServices configuration
2020-01-13 09:52:51 +00:00
James Higgs
d0543d7270 [CORDA-3436] Allow CorDapps access to node diagnostic information (#5834)
* [CORDA-3436] Allow CorDapps access to node diagnostic information

* [CORDA-3436] Fix API breakages

* [CORDA-3436] Improve documentation around diagnostics service

* [CORDA-3436] Remove CorDapps from the diagnostics information

* [CORDA-3436] Silence detekt warning
2020-01-09 11:18:32 +00:00
Austin Moothart
d5e7c9abbd DOCS - typo (#5815) 2019-12-20 15:07:31 +00:00
Ramzi El-Yafi
edd1205db1 OS 4.3 -> OS 4.4 Merge (#5819)
* Prevent on-demand tests re-triggering from branch indexing

* Mark integration test tasks with "big" node taint

* Jenkins file for nightly regression tests (#5786)

* Jenkins file for nightly regression tests

* Use k8s instead of gke cluster

* DOCS: Update UAT.md (#5602)

* Fix report generation against regression builds (#5818)

* Prevent on-demand tests re-triggering from branch indexing

* Mark integration test tasks with "big" node taint

* Jenkins file for nightly regression tests (#5786)

* Jenkins file for nightly regression tests

* Use k8s instead of gke cluster

Co-authored-by: Stefano Franz <roastario@gmail.com>
Co-authored-by: carolynequinn <44175553+carolynequinn@users.noreply.github.com>
2019-12-20 14:44:45 +00:00
Denis Rekalov
bc96bea24a ENT-4628: Harmonize CryptoService and BCCryptoService between OS and ENT (#5822) 2019-12-18 16:54:39 +00:00
Kyriakos Tharrouniatis
b0903efa50 CORDA-3202 Add a specific exception for flows to hospitalise themselves (#5767)
* Introducing a new type of exception and a new hospital staff member to pause flows by immediately hospitalising them.

* Renaming exception to "HospitalizeFlowException".

* Making HospitalizeFlowException an open class.

* Overloading constructors of HospitalizeFlowException to be available in Java.

* Using Throwable#mentionsThrowable.

* Moving HospitalizeFlowException in its own file.

* Update kdocs for HospitalizeFlowException and StaffedFlowHospital#SedationNurse.

* Added tests, testing various HospitalizeFlowException types thrown.

* Fix Detekt issues.

* Imports optimizing.

* Add safe casting.

* Update api-flows and node-flow-hospital docs.

* Minor code comment change.

* Add DOCSTART-DOCEND signs in HospitalizeFlowException for makeDocs. It is referenced by api-flows.rst.

* Minor change in note.

* Code formatting.

* Remove comment.

* Remove if statement that makes example worse.

* Remove redundant comment.

* Moving 'Internal Corda errors' at the bottom.

* Changing node-flow-hospital.rst as per review.

* Change HospitalizeFlowException description as per review.

* Adding an example for FlowException.

* Minor indentation fix.

* Update FlowException example label as per review.

* Correcting handling of custom exception.
2019-12-11 10:35:58 +00:00
Ed Prosser
0ca97d2d96 ENM-866: Link to CENM docs 2019-12-05 13:27:52 +00:00
Viktor Kolomeyko
43205e1f1a CORDA-3471: Create CordaTransactionSupport and make it accessible through AppServiceHub (#5768)
* CORDA-3471: Create `CordaTransactionSupport` and use wherever possible instead of `CordaPersistence`

* CORDA-3471: Address comments by @mnesbit
- Relocate `CordaTransactionSupport` to `core`
- Create a lighter version of transaction - `VaultTransaction` that gives access to `session` object only.

* CORDA-3471: More changes after discussion with  @mnesbit
- Rename `VaultTransaction` into `SessionScope`.

* CORDA-3471: Revert changes to most of the files after conversation with @mnesbit and @rick-r3

* CORDA-3471: Introduce `CordaTransactionSupportImpl` and make it accessible via `AppServiceHub`.

* CORDA-3471: Minor change (comment).

* CORDA-3471: Address input from @mnesbit

* CORDA-3471: Address input from @rick-r3

* CORDA-3471: Make Detekt happier

* CORDA-3471: Add a new test that proves transactions can be started from client threads

As requested by @mnesbit

* CORDA-3471: Change log and documentation update.

As requested by @mnesbit
2019-12-04 17:18:40 +00:00
Nick Dunstone
e6f9b46584 https://r3-cev.atlassian.net/browse/ENT-3829 (#5763)
Open Source
2019-12-03 10:28:00 +00:00
Anthony Keenan
96e6313fbd
CORDA-3477: Update node database documentation to be correct (#5782)
* Update node database documentation to be correct

* Couple more discrepancies
2019-12-02 16:37:31 +00:00
thorgilman
ee74963235 Update node.conf template to remove single quotes (#5652)
The single quotes surrounding the jvm arguments in the empty node.conf cause an error when trying to perform initial registration.
2019-12-02 14:58:56 +00:00
Anthony Keenan
e28478c983
CORDA-3386: Improve node configuration override documentation (#5777)
* Update docs for environment variables

* Typo corrections

* More tweaks

* Address review comments
2019-12-02 14:42:23 +00:00
Anthony Keenan
1caeeb01de
CORDA-3476: Fix typo in node database table documentation (#5779) 2019-12-02 11:58:55 +00:00
Ed Prosser
63b7f2093e Merge branch 'release/os/4.3' into EdP/typo-merge-4.4
# Conflicts:
#	buildSrc/build.gradle
2019-11-29 13:53:06 +00:00
CaisManai
6487844ed5 Fixing small typo
"Double-click the new contract file to open it" should read "Double-click the new flow file to open it" as we're now working on flows.
2019-11-29 10:55:32 +00:00
stefano
40b1a188f1 Merge remote-tracking branch 'origin/release/os/4.3' into EdP/CORDA-3446-4.4
# Conflicts:
#	docs/source/changelog.rst
2019-11-25 09:41:50 +00:00
stefano
75b68a57e4 Merge remote-tracking branch 'origin/release/os/4.4' into EdP/CORDA-3446-4.4 2019-11-25 09:40:55 +00:00
Rodrigo Vieira
76e0054482 NOTICK - Fix typo "transcation" => "transaction" (#5749) 2019-11-22 17:52:17 +00:00
rui-r3
ab3c4ac7f8 CORDA-2491: Ability to specify Java package namespace from Cordform (#5075) (#5115)
Add entry point with generic extra configuration options. Move configuration verification code to avoid circular dependencies.
2019-11-21 13:10:04 +00:00
James Higgs
6dbde1172d [CORDA-3442] Update app upgrade notes for gradle version for PV5 (#5740)
* [CORDA-3442] Update app upgrade notes for gradle version for PV5

* [CORDA-3442] Adjust a link and add some backticks
2019-11-21 11:52:11 +00:00
James Higgs
001c2cbdc4 [CORDA-3373][CORDA-3374] Update Cordform docs to discuss setting Jolokia version, update version number (#5748)
* [CORDA-3374] Update Cordform docs to discuss setting Jolokia version

* [CORDA-3373] Update Jolokia version in command for node-administration
2019-11-20 16:39:28 +00:00
Ryan Fowler
b5beb6119c CORDA-3158: Update docs with info about CAPSULE_CACHE_DIR (#5735)
* CORDA-3158: Update docs with info about CAPSULE_CACHE_DIR for capsule cache home

* CORDA-3158: Update docs with info about CAPSULE_CACHE_DIR for capsule cache home
2019-11-20 14:39:29 +00:00
Ed Prosser
e692ec292a Merge branch 'release/os/4.3' of https://github.com/corda/corda into EdP/CORDA-3446-4.4 2019-11-20 10:36:38 +00:00
Stefan Iliev
926429647d CORDA-3307: Fix for underscore variables (#5682)
* Revert "Revert "CORDA-3307 - add support for environment variables in linux (#5523)" (#5643)"

This reverts commit 03ab258fc2.

* Env variables with underscore are now validated using schema validation and checking for unknown key errors.

* Resolving comments from PR review.

* Fix for deprecated import.

* Reworked logic according to PR review.

* Resolved bad string parsing problems where the json structure could be broken if some symbols were included in the key or value.
2019-11-19 17:51:52 +00:00
Ed Prosser
304b809d6b Updates for finalizing transactions with one participant 2019-11-19 14:32:33 +00:00
stefano
098177fad4 Merge remote-tracking branch 'origin/release/os/4.3' into my_merge_branch 2019-11-18 13:46:43 +00:00
Jonathan Locke
129d8d1b34
NOTICK: Mention platform version change in release notes (#5721)
* NOTICK: Mention platform version change in release notes (#5721)

Update the release notes to mention the platform version change.

* NOTICK: Mention platform version change in release notes

Added mention of preserved wire stability and compatibility across different versions.

* Typo fixes

* Corrected typo in release notes.

* Reworded change according to feedback - greatly simplified it.

* Slight rewording
2019-11-18 12:42:25 +00:00
Katelyn Baker
84983ffb16 CORDA-3422 - Remove design docs from 4.4 2019-11-14 14:54:38 +00:00
Katelyn Baker
384dfca04e Merge branch 'release/os/4.3' into 'release/os/4.4' 2019-11-14 14:53:32 +00:00
Katelyn Baker
67bc985aeb
CORDA-3422 - Remove design docs from 4.1 (#5715) 2019-11-14 14:43:30 +00:00
Jonathan Locke
c31cddaffc Fixed merge conflicts 2019-11-14 10:40:12 +00:00
Katelyn Baker
637c8524fc Merge branch 'release/os/4.1' into FEAT-43-r4.4 2019-11-13 19:16:09 +00:00
Katelyn Baker
8e4666961a
CORDA-3422 - Remove design docs from 4.0 (#5707) 2019-11-13 18:01:04 +00:00
Ed Prosser
14373ab5ab Merge remote-tracking branch 'origin/release/os/4.1' into EdP/CORDA-3181-merge-to-4.3
# Conflicts:
#	constants.properties
#	docs/source/getting-set-up.rst
2019-11-13 13:13:16 +00:00
Jonathan Locke
bec865dc57
CORDA-3358: Add capsule-friendly argument to docs (#5627)
CORDA-3358: Add capsule-friendly argument to docs (#5627)
2019-11-13 10:36:07 +00:00
Jonathan Locke
00c8d16644
NOTICK: Updated release notes for 4.3 (#5692)
* NOTICK: Updated release notes for 4.3 (#5692)

Updated release notes for 4.3

* Clarification for old CI vs new CI

* Updated release notes

* Fixed broken links

* Addressed comments

* Added link

* Removed issues without a JIRA link

* Word change

* One more

* Mention deprecation of API

* Added Deprecations notice

* Moved confidential identities deprecation note
2019-11-12 15:45:03 +00:00
Jonathan Locke
1ba3aebeba
CORDA-3192: Add an exception for Unrecoverable RPC errors (#5558)
CORDA-3192: Add an exception for Unrecoverable RPC errors (#5558)
2019-11-08 11:19:33 +00:00
Dimos Raptis
ed9117dce4 NOTICK - Fix typo in node services docs (#5689) 2019-11-08 10:19:06 +00:00
Ryan Fowler
e4e2dfffd6 CORDA-3192: Add an exception for Unrecoverable RPC errors so that the
RPC doesn't keep trying to reconnect when there's no reason to.
2019-11-07 10:32:07 +00:00
Tudor Malene
b1e5b659c1 ENT-4107: Document blob inspector issue (#5685)
* ENT-4107 - document issue with enums in the blob inspector (#5685)

* ENT-4107 - fixed formatting
2019-11-06 17:04:05 +00:00
Dimos Raptis
a88ee7d138 NOTICK - Fixes for advanced concepts docs (#5671) 2019-11-06 15:03:14 +00:00
Dimos Raptis
55525820cf [CORDA-3298] - Update sql server driver version 2019-11-06 13:35:21 +00:00
stefano
6a3a9eded3 Merge remote-tracking branch 'origin/release/os/4.3' into my_merge_branch
# Conflicts:
#	core/src/main/kotlin/net/corda/core/internal/TransactionVerifierServiceInternal.kt
#	node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcExceptionHandlingTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/DriverDSLImpl.kt
2019-11-05 17:19:18 +00:00