Commit Graph

2526 Commits

Author SHA1 Message Date
965f9ce528 ENT-2431 Lay foundations for caching metrics (#3955) 2018-09-24 09:55:56 +01:00
4639f14383 Ensure distinct node names in AssymetrictCorDappsTests and BootTests integration tests - align with Enterprise repo. (#3976) 2018-09-20 13:16:24 +01:00
6775ffa2e6 Check java version is above 1.8.0_171 on node startup (#3870) 2018-09-19 16:34:03 +01:00
c4d86b1b26 CORDA-1999 Changed isRelevant to relevancyStatus. (#3966)
* Changed isRelevant to relevancyStatus.

* Fix cash selection from breaking.

* Fixed non-backwards compatible API change.

* Updated schema migration changelog.

* Updated comment.
2018-09-19 15:50:39 +01:00
98c92ef16f CORDA-1391: Separate out Checkpoint serialization (#3922)
* Separate out Checkpoint serialization

* Update kdocs

* Rename checkpoint serialization extension methods

* Fix bungled rename

* Limit API changes

* Simplify CheckpointSerializationFactory

* Add CheckpointSerializationScheme to API checker

* CheckpointSerializationScheme should not be implemented

* Move checkpoint serialisation to internal package

* Remove CheckpointSerializationScheme from api-current

* Quarantine internal classes

* Remove checkpoint context from public API

* Remove checkpoint context from public API

* Fix test failures

* Completely decouple SerializationTestHelpers and CheckpointSerializationTestHelpers

* Remove CHECKPOINT use case

* Remove stray reference to checkpoint use case

* Fix broken test
2018-09-19 14:23:29 +01:00
19b8f70117 [CORDA-1996]: Apply error code to exceptions that do not propagate to NodeStartup. (#3964) 2018-09-19 14:24:21 +02:00
7b4c4803b9 isRelevant didn't work for composite ownership, it's now fixed (under certain assumptions). (#3967) 2018-09-19 10:03:16 +01:00
c9bce39696 Fixed parsing of --network-root-truststore so that it defaults to the base dir correctly (#3958) 2018-09-18 17:38:36 +01:00
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
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
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
356bddb2d4 check for empty rpc keystore/trustore passwords + extract method refactoring. (#3944) 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
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
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
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
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
8ad540d1c7 Move identity alias prefixes from DevIdentityGenerator to X509Utilities (#3902) 2018-09-06 15:48:59 +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
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
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
2fbeab1365 Fixed compilation error for case-insensitive operating systems. (#3896) 2018-09-05 13:06:05 +01:00
be45096082 CORDA-1864: Added getter for network parameters to RPC (#3892) 2018-09-05 11:17:13 +01:00
d01dd22419 [CORDA-1937]: Refactor NodeConfiguration hierarchy. (#3856) 2018-09-04 10:26:10 +01:00
33f5aa4190 RPC: make the client library require the platform version it is built for.
Remove an unnecessary override on the CordaRPCOps interface.
2018-09-03 19:05:47 +02:00
0f8a6e44ea RPC: allow trackRpcCallSites to be set from the command line. Add logging. 2018-09-03 19:05:47 +02:00
c3c245e7ac Fix codestyle 2018-09-03 18:58:16 +02:00
643ad31736 Add tests to confirm that if a Hibernate error occurs the transaction will fail and no states will be persisted
Add tests to NodeVaultServiceTest
Add VaultFlowTest
Add UniqueDummyFungibleContract and UniqueLinearContract to be used in the constraint tests
2018-09-03 18:58:16 +02:00
793a52c57a [CORDA-1542]: Exception error codes aren't stable (fixed). (#3887) 2018-09-03 14:27:24 +01:00
91dfa277e3 CORDA-1938 adding VersionInfo to the node info submission (#3886) 2018-09-03 14:04:36 +01:00
f22d9ad411 CORDA-1938 Adding version info to the node info submission request (#3854) 2018-08-31 09:34:42 +01:00
dbc1088417 CORDA-1939 Regression: Liquibase fails to migrate existing pre-liquibase database (#3855)
* Bugfix for corda.jar manually deployed without coping the matching corda-finance-VERSION.jar.
If the older finance cordapp version is detected (which doesn't have Liquibase migration scripts) fail node at startup and print message: "Could not create the DataSource: Detected incompatible corda-finance cordapp without database migration scripts, replace the existing corda-finance-VERSION.jar with the latest one."
Since coda-finance is an optional cordapp,the presence of Liquibase scripts is only checked if corda-finance-VERSION.jar is present in cordapps folder.
*  Allow to start using Liquibase from any point of 4.0-SNAPSHOT before Liquibase was introduced (not only from 3.0/3.X versions) - 2 database changes introduced after 3.2 but before Liquibase are now conditional database changes.
2018-08-30 13:40:02 +01:00
36bfe268af Revert back to using "relevancy" as "modifiable" states are not permissible by definition on an immutable ledger. (#3847) 2018-08-28 11:04:40 +02:00
bc330bd989 ENT-2414 Named caches (#3848)
* Add named caches and apply to NonInvalidingUnboundCache and all usages.

* Add named caches and apply to NonInvalidingCache and all usages.

* Add named caches and apply to NonInvalidingWeightBasedCache and all usages.

* Move NamedCache to core/internal

* Remove type `NamedCache` and `NamedLoadingCache`

* Suppressed 'name not used' warning, added comment, and fixed generic parameters on the buildNamed functions.

* Use `buildNamed` in all caffeine instances in production code. Not using it for caches that are created in test code.

* Add checks for the cache name

* Formatting

* Minor code review revisions
2018-08-24 17:17:22 +01:00
3594ccd89b CORDA-1924: Remove references to Cordform definition and cordform-common (#3842) 2018-08-24 16:29:14 +01:00
c4f33ef533 Rename column HOST to HOST_NAME in table NODE_INFO_HOSTS - required by ENT-2253 2018-08-23 17:08:05 +01:00