Commit Graph

6374 Commits

Author SHA1 Message Date
Viktor Kolomeyko
0c1910722b
ENT-2489: Gracefully handle session that might have already been closed. (#3933) 2018-09-13 09:16:24 +01:00
Thomas Schroeter
057ee74611
Single node notary thread safety (#3924) 2018-09-12 13:36:04 +01:00
Viktor Kolomeyko
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
Shams Asari
ca5d88e65a
Minor changes made in ENT which should have been ported over (#3932) 2018-09-12 11:26:37 +01:00
Konstantinos Chalkias
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
Viktor Kolomeyko
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
Chris Rankin
ce5cdc03f3
Use standard Automatic-Module-Name for DemoBench. (#3913) 2018-09-11 13:44:22 +01:00
Anthony Keenan
97cd2fcd3a
Publish cliutils (#3927) 2018-09-11 13:36:38 +01:00
Christian Sailer
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
Shams Asari
8bc46d9f7d
Porting over missing CRL soft fail check unit test from ENT (#3926) 2018-09-11 13:02:02 +01:00
Konstantinos Chalkias
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
josecoll
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
Thomas Schroeter
ec55397335
Record Hikari metrics (#3912) 2018-09-10 13:13:58 +01:00
Shams Asari
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
Shams Asari
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
Chris Rankin
4183d55650
ENT-1906: Publish corda-deterministic-verifier artifact for testing cordapps. (#3910) 2018-09-07 15:07:06 +01:00
Chris Rankin
4f8a564104
CORDA-1964: Resolve some Gradle warnings which will soon become errors. (#3911) 2018-09-07 14:26:35 +01:00
Dan Newton
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
Shams Asari
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
Konstantinos Chalkias
8ad540d1c7
Move identity alias prefixes from DevIdentityGenerator to X509Utilities (#3902) 2018-09-06 15:48:59 +01:00
Michele Sollecito
20cd4539d6
Fixed broken master. (#3906) 2018-09-06 15:07:03 +01:00
bpaunescu
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
Michele Sollecito
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
Chris Rankin
ca9649ec0f
CORDA-1964: Upgrade to Gradle 4.10 (#3903) 2018-09-06 12:48:31 +01:00
Anthony Keenan
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
Anthony Keenan
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
Matthew Nesbit
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
Chris Rankin
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
Shams Asari
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
Chris Rankin
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
Michele Sollecito
2fbeab1365
Fixed compilation error for case-insensitive operating systems. (#3896) 2018-09-05 13:06:05 +01:00
Mike Hearn
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
Chris Rankin
7f3bcbe7c3
Tidy up DemoBench's fallback logging configuration for JUL. (#3894) 2018-09-05 12:14:35 +01:00
Shams Asari
be45096082
CORDA-1864: Added getter for network parameters to RPC (#3892) 2018-09-05 11:17:13 +01:00
Florian Friemel
ce65a58c7c
CorDapp minimum and target version design doc. (#3798) 2018-09-05 11:12:35 +01:00
Chris Rankin
5b255c81a8
ENT-1906: Trivial tweaks to DJVM code. (#3890)
* Trivial tweaks to DJVM code.
  - Use ASM Type.getInternalName()
  - Use @JvmDefault annotation
  - Declare test base class as abstract
  - Ensure test Log4J configuration has precedence
  - Replace assert() with require()
  - Replace simple lambdas with function references
* Publish corda-djvm artifact.
* Migrate Utilities class into the CLI tool.
* Configure unit tests for console logging.
2018-09-05 10:12:48 +01:00
Michele Sollecito
a7f9320985
Fixedd a mistake in CertificateStoreStubs. (#3893) 2018-09-04 17:31:42 +01:00
Clinton Alexander
a28fa69865 Updated repository lists to reduce dependency on Jitpack and removed unused repositories. 2018-09-04 11:19:03 +01:00
Michele Sollecito
d01dd22419
[CORDA-1937]: Refactor NodeConfiguration hierarchy. (#3856) 2018-09-04 10:26:10 +01:00
Mike Hearn
f6ee263db1 Minor: improve docs for CordaRPCClientConfiguration and deprecate a field that is no longer used. 2018-09-03 19:05:47 +02:00
Mike Hearn
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
Mike Hearn
0f8a6e44ea RPC: allow trackRpcCallSites to be set from the command line. Add logging. 2018-09-03 19:05:47 +02:00
Anthony Keenan
f856a77c96 Fix demo bench issue stopping nodes starting up with max transaction size > max message size 2018-09-03 19:05:17 +02:00
Anthony Keenan
f6466cde41 Make UI better when labels overflow. 2018-09-03 19:05:17 +02:00
Clinton Alexander
ceb47c9938 RELEASE - Fixed build.gradle issues that break maven central publishing and standardised dependency specification. 2018-09-03 19:04:21 +02:00
Lamar Thomas
9eae4e5303 Clarify user to create the "corda" users
root/sys admin should create the corda user
2018-09-03 19:01:41 +02:00
LankyDan
c3c245e7ac Fix codestyle 2018-09-03 18:58:16 +02:00
LankyDan
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
Michele Sollecito
793a52c57a
[CORDA-1542]: Exception error codes aren't stable (fixed). (#3887) 2018-09-03 14:27:24 +01:00
Michal Kit
91dfa277e3
CORDA-1938 adding VersionInfo to the node info submission (#3886) 2018-09-03 14:04:36 +01:00