Commit Graph

2181 Commits

Author SHA1 Message Date
861b769499 NOTICK Update release-notes about database transaction limitations (#6052)
* NOTICK Update release-notes about database transaction limitations
2020-03-17 13:55:10 +00:00
9495efc50c Updates DJVM docs. (#6043) 2020-03-16 12:27:55 +00:00
d61536c6ff OS 4.4 release notes: added warning about integration testing changes (#6025)
* OS 4.4 release notes: added warning about integration testing changes

* OS 4.4 release notes: more datail on integration testing changes
2020-03-11 11:56:46 +00:00
3973fe46f2 Update contributing-philosophy.rst (#6044) 2020-03-09 15:11:53 +00:00
006dde8591 Merge remote-tracking branch 'origin/release/os/4.3' into jzd/os4.3-to-os4.4-merge-2020-03-06 2020-03-06 11:33:26 +00:00
60a74c0399 [NOTICK] The list added for Bugs and Storys without Epic link (#6033)
[NOTICK] The list added for Bugs and Storys without Epic link (#6033)
2020-03-05 16:23:08 +00:00
2c2d7e938a [NOTICK] The list added for Bugs and Storys without Epic link 2020-03-05 15:06:20 +00:00
4c944f048c [NOTICK] The list added for Bugs and Storys without Epic link 2020-03-05 12:12:05 +00:00
e006b871c8 CORDA-3644: Scan the CorDapp classloader directly for SerializationWhitelist. (#6014)
* CORDA-3644: Scan the CorDapp classloader directly for SerializationWhitelist.

* CORDA-3644: Filter CorDapps from out-of-process node classpaths by their manifest attributes. Also exclude directories and blatant test artifacts.

* Fix IRS Demo - its "tests" artifact had a non-standard classifier of "test".
2020-03-04 10:09:40 +00:00
20c5040826 add ability to exit after config generation as is described in the docs (#6023) 2020-03-04 09:52:19 +00:00
e47e9d546d Fix the operator used by the notEqual predicate (#6022)
* Fix the operator used by the notEqual predicate

* Add timeouts to tests

* Add change to changelog
2020-03-03 16:06:46 +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
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
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
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
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
3547b629c3 [NOTICK] Add a detekt rule to catch tests with no timeout (#5959)
* [NOTICK] Add a custom detekt rule for tests with no timeout, and fix remaining missing timeouts

* [NOTICK] Add a test for custom detekt rules and tidying

* add timeout annotation to new test

Co-authored-by: Stefano Franz <roastario@gmail.com>
2020-02-14 17:31:02 +00:00
c745f13913 OS 4.4 release notes: fix incorrect info in flow api improvements section 2020-02-14 14:42:00 +00:00
27bd9f561b Corda 4.4 release notes 2020-02-14 13:50:37 +00:00
da192bcf0d [EG-140] Allow system property paths with multiple keys to be specified in node.conf (#5963)
* [EG-140] Allow system property paths with multiple keys to be specified in node.conf

* [EG-140] Split property paths to remove quotes

* [EG-140] Quote system properties in docs

* [EG-140] Rename path to key
2020-02-14 11:18:21 +00:00
af4d9c48a0 ENT-4933: Document notary.etaMessageThresholdSeconds (#5948)
* ENT-4933: Document `notary.etaMessageThresholdSeconds`

* Fix typo
2020-02-12 14:10:26 +00:00
e90058962f Updating Artifactory URLs for Corda OS (#5930) (#5939)
* Switching Artifactory URLs from obsolete ci-artifactory to software.r3.com
2020-02-11 11:57:51 +00:00
b23af5f0d2 add timeouts to all tests (#5875) 2020-02-11 10:14:05 +00:00
9ccbfe178c Updating Artifactory URLs for Corda OS 4.3 (#5930)
* Switching Artifactory URLs from obsolete ci-artifactory to software.r3.com
2020-02-11 08:40:22 +00:00
5a4bdc0a00 ENT-4915, ENT-4926, CORDA-3585: Update docs for X500 name and SSH shell hostkey 2020-02-10 17:40:23 +00:00
286fffd67a ENT-4368 - Improve error handling when required included config resource cannot be found. Add note in docs encouraging use of required syntax for includes. (#5907) 2020-01-30 10:10:24 +00:00
5b186b1c65 Interfaces/classes/methods with internal in their name are non-public API (#5906) 2020-01-29 15:35:00 +00:00
d16e1126db CORDA-3542: Use the config values for reconnecting retry interval and max reconnect attempts (#5869) 2020-01-29 13:08:54 +00:00
2e8f2ffc21 CORDA-3025: Permissions template for a read-only user (#5901) 2020-01-28 11:49:12 +00:00
338671e6b2 CORDA-3509: add documentation about Corda features and their
corresponding platformVersion and network minimumPlatformVersion
2020-01-27 09:42:28 +00:00
8f7367add7 CORDA-3509: add documentation about Corda features and their
corresponding platformVersion and network minimumPlatformVersion
2020-01-24 16:48:40 +00:00
de2a868d6e Slight rewording to underline the change for the better. 2020-01-24 16:19:42 +00:00
f34235924b Update CorDapp overview for Open Core changes. 2020-01-24 16:19:42 +00:00
4f1777adb4 NO-TICK Cap the default size of the external operation thread pool (#5878)
Cap the default size of the external operation thread pool to 10 or
the maximum number of available processors, whichever is smaller.

Set the minimum size of the thread pool to 1. Meaning that only a
single thread is used unless the node actually starts to use
`FlowExternalOperation` which consumes threads from this pool.
2020-01-24 12:11:53 +00:00
b512a2981d ENT-3828: Remove ability to SSH into standalone shell (#5876) 2020-01-24 10:44:25 +00:00
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
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
9a1d46ddd1 EG-73 - Remove postgres dependency from the node and update docs (#5867) 2020-01-22 09:52:02 +00:00
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
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
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
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
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
d5e7c9abbd DOCS - typo (#5815) 2019-12-20 15:07:31 +00:00
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
35c58f1b9b DOCS: Update UAT.md (#5602) 2019-12-19 18:28:11 +00:00
bc96bea24a ENT-4628: Harmonize CryptoService and BCCryptoService between OS and ENT (#5822) 2019-12-18 16:54:39 +00:00
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