Commit Graph

6491 Commits

Author SHA1 Message Date
b264d4cc20 [CORDA-1971]: Improve error code derivation (#3956) 2018-09-18 13:04:59 +02:00
5113f4c8c1 [CORDA-1941]: Server-side draining node shutdown. (#3909) 2018-09-18 13:04:26 +02:00
0b4d1c0f35 RELEASE - Script to identity and format commits added to the branch (#3954) 2018-09-18 10:49:57 +01:00
1c4294f42d CORDA-1982: Convert the --base-directory to an absolute path to avoid issues on start up (#3952)
Also the --network-root-truststore default value has been corrected to be relative to the base dir.

The cliutils has been updated to always convert Path cmd line params to be absolute
2018-09-17 17:38:28 +01:00
c79dd8017d CORDA-1264: Mask internal errors if devMode is false (#3942) 2018-09-17 15:44:51 +01:00
df4699c69a CORDA-1985: Configure Gradle capsule plugin to use Capsule 1.0.3. (#3949) 2018-09-17 13:55:31 +01:00
160bc147ed ENT-1245: Cleanup: remove unused node from notary demo 2018-09-17 10:29:02 +01:00
137f7664c1 CORDA-1986 Ensure key alias format is supported by the major HSM vendors (#3950) 2018-09-17 10:19:34 +01:00
0b2e0b04ec CORDA-1979 Cleanup NodeStartup for better readability (#3946) 2018-09-15 23:17:10 +01:00
7e4c5d4bb0 CORDA-1983: Upgrade to Gradle 4.10.1. (#3947) 2018-09-15 14:23:16 +01:00
99dd2c5936 CORDA-1764: Make blobinspector use picocli base class (#3940)
* Make blobinspector use picocli base class

* Updated Documentation

* Update and harmonise documentation

* Give the table a bit more padding to help with merge conflicts

* Correct capitalisation of short options

* Some grammar changes
2018-09-14 16:37:58 +01:00
356bddb2d4 check for empty rpc keystore/trustore passwords + extract method refactoring. (#3944) docs-testing 2018-09-14 15:32:24 +01:00
5be7d5c4f1 CORDA-1959 - Enforce backwards compatibility of new CLI's (#3939)
* enforce backwards compatibility of new CLI's

* move Shell yml
2018-09-14 14:37:52 +01:00
3c9619b169 ENT-2489: Minor logging improvement for SingleThreadedStateMachineManager. (#3936) 2018-09-13 15:35:22 +01:00
046b104fee CORDA-1764: Make shell use picocli for parsing command line options (#3923)
* Fix link in shell documentation

* The TypeSafe config parser wants extensions.sshd to be present in the config even though extensions is nullable

* Temp commit

* Make Standalone Shell use picocli

* Simplify gradle config for bootstrapper

* Fix logging dependency issues

* Revert "Temp commit"

This reverts commit f4efafcc9d.

* Fix quasarExcludeExpression

* Correct bootstrapper configuration

* Correct CRaSH capitalisation in docs

* Fix unit tests

* Fix help text typo

* Make logging level case insensitive

* Fix CRaSH capitalisation in help text

* Fix unit tests
2018-09-13 11:14:31 +01:00
ec0fc849ed Publish cliutils package (#3930) 2018-09-13 11:14:19 +01:00
1c7dfd4b7b CORDA-1964: Unify versioning of the shadow plugin, and resolve more issues for Gradle 5.0. (#3918) 2018-09-13 10:55:52 +01:00
0c1910722b ENT-2489: Gracefully handle session that might have already been closed. (#3933) 2018-09-13 09:16:24 +01:00
057ee74611 Single node notary thread safety (#3924) 2018-09-12 13:36:04 +01:00
90a7dd2bf4 ENT-2489: Fix serialization for some of the CordaExceptions. (#3925)
Also add a unit test that exposes the problem.

Without these changes AMQP serialization fails with the following:
```
 net.corda.serialization.internal.amqp.AMQPNotSerializableException: Constructor parameter - "reason" -  doesn't refer to a property of "class net.corda.node.services.statemachine.SessionRejectException"
	at net.corda.serialization.internal.amqp.SerializationHelperKt.toPropertyAccessorConstructor(SerializationHelper.kt:120) ~[corda-serialization-4.0-SNAPSHOT.jar:?]
	at net.corda.serialization.internal.amqp.SerializationHelperKt.propertiesForSerializationFromConstructor(SerializationHelper.kt:107) ~[corda-serialization-4.0-SNAPSHOT.jar:?]
	at net.corda.serialization.internal.amqp.custom.ThrowableSerializer.toProxy(ThrowableSerializer.kt:28) [corda-serialization-4.0-SNAPSHOT.jar:?]
	at net.corda.serialization.internal.amqp.custom.ThrowableSerializer.toProxy(ThrowableSerializer.kt:12) [corda-serialization-4.0-SNAPSHOT.jar:?]
	at net.corda.serialization.internal.amqp.CustomSerializer$Proxy.writeDescribedObject(CustomSerializer.kt:159) [corda-serialization-4.0-SNAPSHOT.jar:?]
```
2018-09-12 11:29:36 +01:00
ca5d88e65a Minor changes made in ENT which should have been ported over (#3932) 2018-09-12 11:26:37 +01:00
f5768348ee More descriptive message on "latest" supported Java version. (#3929)
Also a TODO to reconsider the auto-resume registration functionality.
2018-09-11 17:39:19 +01:00
49adf55397 ENT-2489: Additional optional parameter to specify target for RPC invocation. (#3915)
This is a split-out change from an enterprise feature, but since we do have: `RPCApi.RPC_TARGET_LEGAL_IDENTITY` header constant even in OS, it would make sense to extend RPC client API to populate this.
2018-09-11 16:32:17 +01:00
ce5cdc03f3 Use standard Automatic-Module-Name for DemoBench. (#3913) 2018-09-11 13:44:22 +01:00
97cd2fcd3a Publish cliutils (#3927) 2018-09-11 13:36:38 +01:00
7459115f54 CORDA-1969 Retire SECP256K1 for TLS (#3920)
* Flag SECP256K1 as not supported for TLS

* Remove authentication tests using SECP256K1 for TLS

* Remove K1 leftover
2018-09-11 13:04:29 +01:00
8bc46d9f7d Porting over missing CRL soft fail check unit test from ENT (#3926) 2018-09-11 13:02:02 +01:00
3ff7fc2585 CORDA-1968 Ensure we check for the trustroot existence and alias validity. (#3917)
* Ensure we check for the trustroot existence and alias validity.

* fix missing keystore message on integration test after changes.

* adding more requirements to check for missing aliases to validateKeyStores

* import X509Utilities const values (CORDA_ROOT_CA, CORDA_CLIENT_CA, CORDA_CLIENT_TLS) to AbstractNode.

* address review comment: avoid using !! (not null)
2018-09-11 12:37:21 +01:00
37c7fff8b1 CORDA-1892 CRaSH shell flow start fix for similar flow names. (#3874)
* Added fix and associated unit test.

* Fixed broken unit test + added another test case + used NoOpFlows + use Mock output object to assert correct result output.

* Remove unnecessary additional println.

* Minor cleanup in test code.

* Relax nameFragment matching to cater for fully qualified and simple Flow classname specifications.

* Remove superfluous check.

* Minor fix + added additional Unit Test cases to cover all scenarios.

* Reverted back to original behaviour + extra check to avoid ambiguity for exact match.

* Changes following final PR review comments.
2018-09-11 11:41:45 +01:00
ec55397335 Record Hikari metrics (#3912) 2018-09-10 13:13:58 +01:00
d56a80d159 CORDA-1958: The node ready future completes on the first poll of the network map sources, even if they return empty. (#3904)
This is to allow the first node in a test environment to fully start up.
2018-09-10 10:43:40 +01:00
83e66d542d Syncing Cordapp info code from ENT so that ENT-1731 is fully ported (#3914)
Also, Cordapp.Info has been made internal as it's not used in the public API
2018-09-10 10:43:00 +01:00
4183d55650 ENT-1906: Publish corda-deterministic-verifier artifact for testing cordapps. (#3910) 2018-09-07 15:07:06 +01:00
4f8a564104 CORDA-1964: Resolve some Gradle warnings which will soon become errors. (#3911) 2018-09-07 14:26:35 +01:00
db6c7f38a5 Support for case insensitive vault queries (#3853)
* Make the criteria builder functions case insensitive

Add IGNORE_CASE versions of the comparison operator enums
Add exactMatch argument to criteria builder functions where strings can be passed in and set its default value to true
Use JvmOverrides to provide the default true version to java without needing to specify a value manually
If exactMatch is true then the original enums will be used, if false the IGNORE_CASE enums will be used instead
HibernateQueryCriteriaParser.columnPredicateToPredicate now takes into account the IGNORE_CASE versions of the enums

* Tidy up QueryCriteriaUtils and HibernateQueryCriteriaParser

Split HibernateQueryCriteriaParser.columnPredicateToPredicate into smaller functions
Reduce duplicated code in QueryCriteriaUtils

* Tidy up QueryCriteriaUtils and HibernateQueryCriteriaParser

Split HibernateQueryCriteriaParser.columnPredicateToPredicate into smaller functions
Reduce duplicated code in QueryCriteriaUtils (missed some code here)

* update changelog and api-vault-query docs with new API functions

* reorder Operator enums so that the ignore case enums are at the end

In case anyone is depending on the order of the enums, to keep compatibility with existing CorDapps the enums should be added at the end to prevent ordinals from breaking.
2018-09-07 10:20:21 +01:00
c6400cf344 Some clean up of behave code (#3907)
In particular, fixing the recursive call of the "use" method
2018-09-06 16:44:18 +01:00
8ad540d1c7 Move identity alias prefixes from DevIdentityGenerator to X509Utilities (#3902) 2018-09-06 15:48:59 +01:00
20cd4539d6 Fixed broken master. (#3906) 2018-09-06 15:07:03 +01:00
793ee3e1ee Store default platform version in a constant (#3900)
* use constant for default platform version value when tests with out of process nodes are run from Intellij.

* node will use constant for platform version instead of manifest file(RPC already uses the constant, no sense in having 2 sources for it)

* fix issues caused by merge
2018-09-06 14:32:23 +01:00
584387d5ec Fixed some problem I discovered while working on another story (#3901)
* - Fixed some problems with error handling for Observables.
- Eliminated incorrect double `stop()` call for RpcBroker.
- Added `Schedulers.shutdown()` call in `stop()` implementation for Node and Driver, to avoid stuck processes when observable pipelines go wrong.

* Fixed a missing import.

* Removed `Schedulers.shutdown()` for now.

* Fixed an issue with `pendingFlowsCount()` function.
2018-09-06 13:11:41 +01:00
ca9649ec0f CORDA-1964: Upgrade to Gradle 4.10 (#3903) 2018-09-06 12:48:31 +01:00
536ecdfe67 CORDA-1760 CLI UX guidelines (#3686)
* Create CLI UX Guidelines

* More tweaking

* Address review comments

* More tweaks

* Add recommendation for generating and installing completion files

* Update documentation to include base class information

* Use ExitCodes base class
2018-09-06 09:37:30 +01:00
3284a61afd CORDA-1755: Modify the node to run using picocli (#3872)
* Modify Corda Node to use picocli

* Make --sshd parameter actually work

* * Some refactoring
* Fixing the issue with the --confg-file parameter
* Updating the tests

* Restore original devMode behaviour

* Update documentation

* Add return code to network bootstrapper

* Use the root jar for the shell alias for jars packaged with capsule

* Update Corda jar description

* Fix issue with logging not initialising early enough in node
Make initLogging overridable
Combine --verbose and --log-to-console options

* Tidy up

* Make sure all command line options are documented properly

* Fix compilation error

* Remove code that's no longer needed (single slash options no longer supported unless explicitly specified)

* Remove comment

* Remove pointless comment

* Log commandline arguments

* Address review comments

* Address more review comments

* Remove ConfigFilePathArgsParser

* Remove some unused importss

* Only display config when in dev mode

* Force Ansi ON if on Windows else set to AUTO.

* Make ExitCodes class open
2018-09-06 09:37:04 +01:00
304dba704e Support HA without load balancer (#3889)
Allow configuration in node for additional advertised addresses.

fix logic error

Use empty list as default config not null

Allow multiple addresses in NodeInfo

Describe new additionalP2PAddresses property in docs.

Add integration test of additionalP2PAddress feature

Fixup after rebase

Address PR comment

Address PR comments by removing unused element of NodeAddress
2018-09-05 17:46:46 +01:00
e3ece00bea ENT-1906: Publish DJVM artifact with its dependency information. (#3897)
Also migrate enclavelet code into testing:common jar.
2018-09-05 15:57:12 +01:00
9373c0fb8e Removed the superfluous NetworkMapCacheImpl class (#3882)
NetworkMapCacheImpl and NetworkMapCacheBaseInternal interface merged into PersistentNetworkMapCache and NetworkMapCacheInternal interface respectively.
2018-09-05 14:10:37 +01:00
541a0d7d5b ENT-1906: Remove SLF4J's JUL logging bridge from DJVM. (#3895)
* Remove SLF4J's JUL logging bridge from DJVM.
* Refactor SLF4J's Log4J back end into the CLI.
2018-09-05 14:05:52 +01:00
2fbeab1365 Fixed compilation error for case-insensitive operating systems. (#3896) 2018-09-05 13:06:05 +01:00
f2784197c7 Minor: fix old warning in Corda 1.0 docs, don't recommend use of Jigsaw yet. 2018-09-05 13:22:56 +02:00
7f3bcbe7c3 Tidy up DemoBench's fallback logging configuration for JUL. (#3894) 2018-09-05 12:14:35 +01:00