1114 Commits

Author SHA1 Message Date
Matthew Nesbit
0f98a1cbcd Merge remote-tracking branch 'remotes/open/master' into mnesbit-merge-20180702
# Conflicts:
#	node/src/test/kotlin/net/corda/node/services/vault/VaultQueryTests.kt
2018-07-02 11:31:18 +01:00
PokeyBot
2b6018f050
Merge pull request #3473 from corda/fix_flaky_test
[CORDA-1698] Fix flaky test
2018-06-29 16:26:24 +01:00
Florian Friemel
136500d48d
Advance TestClock instead of sleeping. 2018-06-28 17:58:46 +01:00
Florian Friemel
61d9d475c8
Advance TestClock instead of sleeping. 2018-06-28 17:14:50 +01:00
Patrick Kuo
8df18e954f ENT-2014 Deletes of NodeInfo can fail to propagate leading to infinite retries (#1101)
* ENT-2014 Deletes of NodeInfo can fail to propagate leading to infinite retries
ENT-1880 Move identity key generation to network registration process

(cherry picked from commit c3ac203)
2018-06-28 15:20:22 +01:00
Patrick Kuo
c3ac203251
ENT-2014 Deletes of NodeInfo can fail to propagate leading to infinite retries (#1101)
* ENT-2014 Deletes of NodeInfo can fail to propagate leading to infinite retries
ENT-1880 Move identity key generation to network registration process
2018-06-28 15:10:52 +01:00
sollecitom
c139b160eb Merge remote-tracking branch 'remotes/open/master' into merges/june-28-09-45 2018-06-28 10:53:10 +01:00
Rick Parker
e2f657d679 ENT-2124 Flush before detach in Hibernate (#3465) 2018-06-28 10:51:28 +01:00
Chris Rankin
8b3a5432cb Merge commit '02348a584d56cdb562581d99be5b56348f7d1001' into chrisr3-os-merge 2018-06-23 00:06:11 +01:00
tudor.malene@gmail.com
fb3e216318 Merge remote-tracking branch 'open/master' into tudor-merge-21-06
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcSslTest.kt
#	tools/shell/src/integration-test/kotlin/net/corda/tools/shell/InteractiveShellIntegrationTest.kt
2018-06-21 16:51:19 +01:00
Florian Friemel
66b67b231a
[CORDA-1597] Make the NodeArgsParser fail on unrecognized (non-option… (#3394)
* [CORDA-1597] Make the NodeArgsParser fail on unrecognized (non-option) arguments.

* Respond to feedback from anthonykeenan.
2018-06-21 16:50:02 +01:00
Tudor Malene
381aadc78f
ENT-1796 RPC SSL (#3401)
* ENT-1796 add just-generate-rpc-ssl-settings command line flag. Fix ssl configuration and documentation

* ENT-1796 small fix. change alias

* ENT-1796 address code review changes

* ENT-1796 revert file

* ENT-1796 Added check to display better error message

* ENT-1796 Doc fixes
2018-06-21 16:46:05 +01:00
Michele Sollecito
62088e4710
Fixes (#1050) 2018-06-21 16:35:20 +01:00
Michele Sollecito
cdd223378e
Fixes (#1045) 2018-06-21 15:37:45 +01:00
sollecitom
bf1b3a37ce Merge remote-tracking branch 'remotes/open/master' into merges/june-19-16-47 2018-06-19 16:48:12 +01:00
Andrius Dagys
41648d5a15
CORDA-1645: Checkpoint before calling an idempotent sub-flow. (#3399)
* CORDA-1645: Checkpoint before calling an idempotent sub-flow.

When an idempotent sub-flow causes a flow restart, the flow will be
replayed from the last checkpoint before the sub-flow invocation.
However, the logic between the last checkpoint and the sub-flow invocation
may contain side-effects which shouldn't be replayed. Thus we need to persist
a checkpoint just before an idempotent sub-flow is invoked.
2018-06-19 16:42:55 +01:00
Florian Friemel
ad76b7821e
Merge remote-tracking branch 'open/master' into os-merge-2018-06-18-17_42 2018-06-18 17:51:41 +01:00
Michele Sollecito
c2585e8c8e
[CORDA-1595]: If adminAddress is not included in rpcSettings configuration node fails with NullPointerException (fix). (#3385) 2018-06-18 13:41:31 +01:00
rick.parker
14e30a9e65 Fix failing unit test missing some mocked attributes. 2018-06-18 10:30:16 +01:00
rick.parker
3a390e3643 Merge remote-tracking branch 'remotes/open/master' into parkri-os-merge-201806-15-1 2018-06-15 17:06:09 +01:00
Stefano Franz
d054238f19
ENT-2013 fix issue when a node is restarted with the same entity, but different keypair (#3319)
* fix issue when a node is restarted with the same entity, but different keypair

* address review comment

* remove incorrect test
2018-06-15 16:01:56 +01:00
Rick Parker
92d44bf68a
CORDA-1622 Fix misuse of volatile (#3375) 2018-06-15 14:51:47 +01:00
Thomas Schroeter
230d5e294e
ENT-2084 Fix CheckpointVerifier (#3374) 2018-06-15 09:17:10 +01:00
Konstantinos Chalkias
5a6af7f8ce Merge remote-tracking branch 'open/master' into kostas-merge-14_06_2018 2018-06-14 14:43:44 +01:00
Katarzyna Streich
3d107200a1
Fix flaky test (#3363) 2018-06-14 10:20:18 +01:00
Tommy Lillehagen
a612ca234a Merge remote-tracking branch 'open/master' into tlil-os-merge-20180613 2018-06-13 21:45:00 +01:00
Tommy Lillehagen
fe313951ea CORDA-1609 - Don't use reserved keyword as method name
As reported in [CORDA-1609](https://r3-cev.atlassian.net/browse/CORDA-1609),
`CordaRPCClientConfiguration.default` is not accessible from Java since
`default` is a reserved keyword.

As part of the refactor made in #2831, `CordaRPCClientConfiguration` went
from being a data class to an interface with a backing implementation of
type `CordaRPCClientConfigurationImpl`.

This resulted in Java users having to rewrite code that was on the form:

```java
final CordaRPCClient client = new CordaRPCClient(
    nodeAddress, CordaRPCClientConfiguration.DEFAULT
);
```

to something like this:

```java
final CordaRPCClient client = new CordaRPCClient(
    nodeAddress, CordaRPCClientConfiguration.Companion.default()
);
```

However, this does not work. The user would get a compilation error because
`default` is a reserved keyword in Java.

Since `CordaRPCClientConfiguration` has been made an interface, there is no
easy way of introducing a static final field on the interface from Kotlin.

Consequently, I've changed this back to using a `class` with a static field
named `DEFAULT` instead of the static method `default()`.

It should be noted that `default()` / `DEFAULT` is currently only used
internally to pass in default values in `CordaRPCClient.kt` and
`CordaRPCClientUtils.kt`. That said, it is exposed as part of our API
surface and consequently shouldn't be broken.

The latter means that in the above example, the user would actually not
have to provide the parameter at all:

```java
final CordaRPCClient client = new CordaRPCClient(nodeAddress);
```

As can be seen from the definition of `CordaRPCClient`:

```kotlin
class CordaRPCClient private constructor(...) {
    @JvmOverloads
    constructor(
        hostAndPort: NetworkHostAndPort,
        configuration: CordaRPCClientConfiguration = CordaRPCClientConfiguration.DEFAULT
    ) : this(hostAndPort, configuration, null)
```

The mentioned [refactor](7a077e76f0 (diff-0948c125db93a22263eb81eaf3161c17R65))
did not make it into the 3.1 release, so from an API-stability perspective,
this change can be applied without affecting our commitment to a
backwards compatible API..
2018-06-13 15:39:03 +01:00
cburlinchon
70a1a3a3d4
[ENT-2039] Move mutual exclusion check to run first (#946)
* Don't sleep inside database transaction
2018-06-13 13:31:02 +01:00
rick.parker
cb810f0660 Merge remote-tracking branch 'remotes/open/master' into parkri-os-merge-20180613-1
# Conflicts:
#	.idea/compiler.xml
#	build.gradle
#	docs/source/changelog.rst
#	node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt
2018-06-13 11:13:43 +01:00
Rick Parker
2f737cd6bc
CORDA-1622 Correct broken de-dup header logic on node restart for res… (#3352)
* CORDA-1622 Correct broken de-dup header logic on node restart for restored flows.

* Missed a volatile
2018-06-12 18:00:44 +01:00
Chris Rankin
319953ba41 Merge commit '8087f3c5d3c823a5fbda9a728f129b0925c1fddb' into chrisr3-os-merge 2018-06-12 14:11:27 +01:00
Rick Parker
dd564cfc79
CORDA-1599 Fix a small race we have with waiting for mock network to … (#3348)
* CORDA-1599 Fix a small race we have with waiting for mock network to become inactive that is affecting tests.

* Missed println
2018-06-12 12:59:35 +01:00
Stefano Franz
0f3453d1c7
add configuration option to enable compatibility zone whilst running devMode
* add configuration option to enable compatibility zone whilst running devMode

* add documentation about allowCompatibilityZone

* address review comments

* remove extra doc lines

* add changelog entry

* Update changelog.rst
2018-06-12 11:03:32 +01:00
Andras Slemmer
8038343065
Merge pull request #973 from corda/aslemmer-os-merge-11-jun
Aslemmer os merge 11 jun
2018-06-11 19:48:10 +01:00
Dan Newton
5ceb61606a VaultTrack returns undesired states #3276 (#3336)
* filter by contract state in _trackBy

* write tests to check that _trackBy is filtering the states correct and tidy up filtering functions

* remove un needed function

* add change log message for filtering unrelated ContractStates from trackBy
2018-06-11 17:53:31 +01:00
Tudor Malene
8c1c19fdf8
CORDA-1477 add check before db evolution that there are no checkpoints. (#967)
* CORDA-1477 add check before db evolution that there are no checkpoints.

* CORDA-1477 address code review comments
2018-06-11 16:24:24 +01:00
Andras Slemmer
b0d86e04d7 Merge remote-tracking branch 'open/master' into aslemmer-os-merge-11-jun 2018-06-11 16:05:39 +01:00
Andrius Dagys
85fe0e4cb1
CORDA-1494: Rename p2pMessagingRetry configuration to flowTimeout configuration to reflect the change in how retries are implemented – it is now on flow rather than message level. (#3339) 2018-06-11 15:50:06 +01:00
szymonsztuka
98e58b282c Resolved merge conflicts. 2018-06-11 13:40:38 +01:00
Maksymilian Pawlak
c009cbd91a
[CORDA-1468] Properly handle entites where NULLs can be inserted into DB (#3324)
* Allow proper null values on entities which fields can get NULL values.
2018-06-11 13:12:19 +01:00
Rick Parker
8ac7690987
CORDA-1599 killFlow RPC call does not remove records from the Flow Hospital, if there are any. (#3332)
* CORDA-1599 Add a mechanism so killFlow can clean up the in memory data structures held by the Flow Hospital and other transition executor implementations.

* Fix bug and test

* Fix bug and test
2018-06-11 11:24:12 +01:00
Shams Asari
7886ef9450 Merge remote-tracking branch 'open/master' into os-merge-21280c0
# Conflicts:
#	node/src/main/kotlin/net/corda/node/services/statemachine/FlowHospital.kt
#	node/src/main/kotlin/net/corda/node/services/statemachine/PropagatingFlowHospital.kt
2018-06-07 18:08:37 +01:00
Shams Asari
f6a23a0216
CORDA-1546: Updated the flow hospital to suspend FinalityHandler if it errors (#3304)
It will re-run automatically from last checkpoint on node restart, allowing the opportunity to resolve the issue, something required when dealing with contract constraint failures.
2018-06-07 16:18:00 +01:00
tudor.malene@gmail.com
5140d46aa2 Merge remote-tracking branch 'open/master' into tudor-os-merge-7-jun
# Conflicts:
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt
2018-06-07 16:05:11 +01:00
Rick Parker
aa01ef638b
CORDA-1589 Flow hospital reports incorrect number of patients and fix… (#3315)
* CORDA-1589 Flow hospital reports incorrect number of patients and fix flakey associated test.

* Compare before and after count, not against zero.  There's a leak in killFlow that will be easier to address in or after Shams PR.
2018-06-07 09:12:25 +01:00
Andrius Dagys
d24299341c Merge remote-tracking branch 'open/master' into andrius/merge-06-07 2018-06-07 08:53:28 +01:00
Andrius Dagys
0978d041a3
CORDA-1494: Re-enable notarisation retries in the new state machine manager (#3295)
* Remove all notion of message level retry.

* Introduce randomness into de-duplication IDs based on the session rather than the flow, in support of idempotent flows.

* CORDA-1494: Re-enable notarisation retries in the new state machine manager.

The original message-based retry approach does not work well with the new
flow state machine due to the way sessions are handled. We decided to move
the retry logic to flow-level: introduce RetryableFlow that won't have
checkpoints persisted and will be restarted after a configurable timeout
if it does not complete in time.

The RetryableFlow functionality will be internal for now, as it's mainly
tailored for the notary client flow, and there are many subtle ways it can
fail when used with arbitrary flows.
2018-06-07 08:45:32 +01:00
Shams Asari
f34a2bd33f Replacing uses of assert with require 2018-06-06 09:56:04 +01:00
Shams Asari
11fd70a1f7 Merge remote-tracking branch 'open/master' into os-merge-d620e71
# Conflicts:
#	node/src/main/kotlin/net/corda/node/serialization/kryo/Kryo.kt
2018-06-06 09:51:29 +01:00
Shams Asari
d620e71bb6
Replaced all uses of assert with require (#3309)
JVM assertions have to be enabled with the -ea flag so it's possible for these checks to be ignored.
2018-06-06 00:31:41 +01:00