637 Commits

Author SHA1 Message Date
Viktor Kolomeyko
2b6e59e7bd
Eliminate extensive printout when Byteman not found on the classpath. (#1277)
Byteman is absent for most of the integration tests and long stacktrace is seen in the log
presently that un-necessarily attracts attention and consumes logging space.
2018-07-17 09:04:24 +01:00
rick.parker
21a7b56161 Fix up compilation errors. 2018-07-13 14:33:13 +01:00
rick.parker
4e81d26985 Merge remote-tracking branch 'remotes/open/master' into parkri-os-merge-20180713-1 2018-07-13 13:15:53 +01:00
Joel Dudley
2db5e0e158
Docs were missing final brace (#3551) 2018-07-12 17:48:09 +01:00
Shams Asari
f4a248f81f
Made CashSelectionTest a unit test by using mock network. (#3570)
Also includes adding a default value of emptyList() to InternalMockNetwork.cordappPackages
2018-07-12 11:55:51 +01:00
Thomas Schroeter
baabf8ceb9 Merge remote-tracking branch 'open-source/master' into thomas/os-merge-2018-07-11
Conflicts:
	finance/src/integration-test/kotlin/net/corda/finance/flows/CashConfigDataFlowTest.kt
	node/src/integration-test/kotlin/net/corda/node/BootTests.kt
	node/src/integration-test/kotlin/net/corda/node/NodeUnloadHandlerTests.kt
	node/src/integration-test/kotlin/net/corda/node/flows/FlowRetryTest.kt
	tools/shell/src/integration-test/kotlin/net/corda/tools/shell/InteractiveShellIntegrationTest.kt
	tools/shell/src/integration-test/kotlin/net/corda/tools/shell/SSHServerTest.kt
	webserver/src/integration-test/kotlin/net/corda/webserver/WebserverDriverTests.kt
2018-07-11 14:56:03 +01:00
Viktor Kolomeyko
a4e325a494
ENT-1967: Extend integration test to cover Node process termination scenario. (#1254)
* ENT-1967: Enable byteman library

* ENT-1967: Add an integration test to experiment with Byteman.

This needs to be running with: `-Dexperimental.test.enable`
As in: `gradlew -Dexperimental.test.enable integrationTest`

* ENT-1967: Modify Node driver to allow for optional instrumentation and use it in the integration test

* ENT-1967: Rely on port allocation

* ENT-1967: Install the rule that works

* ENT-1967: Trying to introduce counter rule (doesn't work)

* ENT-1967: Install rules that make correct use of countdown and also improve debug logging for Byteman

* ENT-1967: Add assertion to validate that exception is indeed thrown as per rules installed.

* ENT-1967: Less logging and more assertions

* ENT-1967: Replace `fun` with `val`

* ENT-1967: Un-break DriverDSL public API.

* ENT-1967: Minor change

* ENT-1967: Remove Byteman settings from NodeParameters and hide them inside InternalDriverDSL.

* ENT-1967: Introduce node restart scenario

* ENT-1967: Change the place where JVM is terminated and ensure that StdOut and StdErr not lost during restarts.

* ENT-1967: Changes after rebase.

* ENT-1967: Do not use InMemory DB for test that involves Node restart.

* ENT-1967: Minor fixes post merge from `master`.

* ENT-1967: Tighten-up test checks.
2018-07-11 12:54:56 +01:00
Shams Asari
2833ec2a88
Avoiding starting notaries in driver-based integration tests to speed them up (#3544) 2018-07-11 11:36:36 +01:00
Viktor Kolomeyko
c396b80afe
ENT-1967: Illustration for Byteman library can be used in Node integration test. (#1204)
* ENT-1967: Enable byteman library

* ENT-1967: Add an integration test to experiment with Byteman.

This needs to be running with: `-Dexperimental.test.enable`
As in: `gradlew -Dexperimental.test.enable integrationTest`

* ENT-1967: Modify Node driver to allow for optional instrumentation and use it in the integration test

* ENT-1967: Rely on port allocation

* ENT-1967: Install the rule that works

* ENT-1967: Trying to introduce counter rule (doesn't work)

* ENT-1967: Install rules that make correct use of countdown and also improve debug logging for Byteman

* ENT-1967: Add assertion to validate that exception is indeed thrown as per rules installed.

* ENT-1967: Less logging and more assertions

* ENT-1967: Replace `fun` with `val`

* ENT-1967: Un-break DriverDSL public API.

* ENT-1967: Minor change

* ENT-1967: Remove Byteman settings from NodeParameters and hide them inside InternalDriverDSL.

* ENT-1967: Change the way how Jars resolved and use `Try` construct.
2018-07-10 10:05:07 +01:00
Viktor Kolomeyko
61a8bd0a5a Merge remote-tracking branch 'open/master' into feature/vkolomeyko/os-merge
# Conflicts:
#	samples/attachment-demo/src/integration-test/kotlin/net/corda/attachmentdemo/AttachmentDemoTest.kt
2018-07-09 16:45:20 +01:00
Viktor Kolomeyko
d481c55b82
CORDA-1743: Remove isDebug = true from Node driver to speed-up integration tests execution. (#3535)
* CORDA-1743: Remove `isDebug = true` from Node driver to speed-up integration tests execution.

* CORDA-1743: Undo removal of "isDebug = true" from the test that specifically checks for this condition.

* CORDA-1743: Address input from @shamsasari
2018-07-09 16:37:01 +01:00
Shams Asari
5d55a87d70 Merge remote-tracking branch 'open/master' into os-merge-aefd90f
# Conflicts:
#	CONTRIBUTORS.md
2018-07-09 12:33:47 +01:00
Shams Asari
aefd90f062
Minor: ProcessUtilities clean up (#3533) 2018-07-09 12:29:33 +01:00
Anthony Keenan
3203bdae97 Merge from O/S 2018-07-05 19:09:25 +01:00
Shams Asari
0c8c914882 Removing warnings 2018-07-05 15:45:28 +01:00
Maksymilian Pawlak
f7dd4f7880
Use in-memory H2 for integration test (#2508)
* Default integration tests running with in-memory H2
2018-07-05 14:58:51 +01:00
Shams Asari
20a589d66d Merge remote-tracking branch 'open/master' into os-merge-244167d
# Conflicts:
#	docs/source/example-code/src/main/kotlin/net/corda/docs/FlowCookbook.kt
#	docs/source/example-code/src/main/kotlin/net/corda/docs/LaunchSpaceshipFlow.kt
#	docs/source/example-code/src/main/kotlin/net/corda/docs/tutorial/tearoffs/TutorialTearOffs.kt
#	docs/source/running-a-node.rst
#	experimental/behave/build.gradle
#	experimental/behave/src/scenario/kotlin/net/corda/behave/scenarios/helpers/Substeps.kt
#	experimental/kryo-hook/build.gradle
#	experimental/quasar-hook/build.gradle
#	node/src/integration-test/kotlin/net/corda/node/AuthDBTests.kt
#	node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt
#	node/src/test/java/net/corda/node/services/vault/VaultQueryJavaTests.java
#	node/src/test/kotlin/net/corda/node/internal/NodeTest.kt
#	node/src/test/kotlin/net/corda/node/services/messaging/ArtemisMessagingTest.kt
#	node/src/test/kotlin/net/corda/node/services/persistence/HibernateConfigurationTest.kt
#	samples/attachment-demo/src/integration-test/kotlin/net/corda/attachmentdemo/AttachmentDemoTest.kt
#	samples/irs-demo/src/integration-test/kotlin/net/corda/test/spring/SpringDriver.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/NodeBasedTest.kt
2018-07-04 18:38:34 +01:00
Shams Asari
244167d3e9
Enabled warnings as errors (#3514) 2018-07-04 17:17:27 +01:00
Christian Sailer
13d7892ded Merge commit 'a5f43110f01c1bb116bb13274f1046204ee76e5f' into christians/merge-CORDA-1710 2018-07-03 13:05:39 +01:00
Tudor Malene
95d1b1f84e
ENT-2001 use versionInfo when registering node with the doorman (#3435)
* ENT-2001 use versionInfo when registering node with the doorman

* ENT-2001 address code review changes
2018-07-03 09:16:48 +01:00
Viktor Kolomeyko
ab3974ed60
Switch dependencies to rpcProxyCompile. (#1173)
The problem manifests itself in IntelliJ when full rebuilt is performed with Gradle delegation.
In this case IntelliJ executes the following tasks:
`:testing:qa:behave:tools:rpc-proxy:classes`, `:testing:qa:behave:tools:rpc-proxy:testClasses`, `:testing:qa:behave:tools:rpc-proxy:smokeTestClasses` and `:testing:qa:behave:tools:rpc-proxy:rpcProxyClasses`

Without the change when `rpcProxyClasses` task executed - the build fails.

The problem is likely to be caused by the fact that this is a multi-sourceSets project.
2018-07-02 17:08:55 +01:00
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
4c56188383
Cleanup. 2018-06-29 09:55:34 +01:00
Florian Friemel
941719ab8b
Use TestClock in MockServices. 2018-06-28 17:14:06 +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
b09368a17a Merge remote-tracking branch 'remotes/open/master' into merges/june-28-09-45
# Conflicts:
#	docs/source/getting-set-up.rst
#	docs/source/node-database.rst
2018-06-28 09:51:11 +01:00
Shams Asari
84a86d32b7
Fixed broken smoke test caused by no notaries in the network parameters (#3461)
For now the workaround is to manually select the notary. The proper solution is to add notaries to the network parameters in smoke tests.
2018-06-28 09:43:29 +01:00
Shams Asari
eee2563bfa
CORDA-1660: Wiring up the CordaRPCClient class loader to the p2p serialisation context. (#3454)
This is to allow the standalone shell to be able to receive WireTransactions containing Cash.State objects.
2018-06-27 17:02:35 +01:00
Michal Kit
d060e95834 Merge OS -> ENT up to e00c7706c3f52d0e338f83d169e60c99d623f1c5 2018-06-26 10:02:33 +01:00
Tudor Malene
9be4c5dca4
CORDA-1567 Remove all traces of the out-of-process verifier (#3424) 2018-06-25 13:01:33 +01:00
Anthony Keenan
7d975a43e0
Merge pull request #1058 from corda/chrisr3-os-merge
Merge from Open Source.
2018-06-23 17:32:27 +01:00
Chris Rankin
8b3a5432cb Merge commit '02348a584d56cdb562581d99be5b56348f7d1001' into chrisr3-os-merge 2018-06-23 00:06:11 +01:00
Rick Parker
2fe5bae8a7
ENT-1953 enterprise tuning config (#1057)
* ENT-1953 enterprise tuning config

* Keep flowThreadPoolSize at 1 for integration tests as some expect certain ordering it seems.

* Log thread count for SMM
2018-06-22 16:39:17 +01:00
Tudor Malene
687ed95994
CORDA-1407 Fix explorer rpc access rights (#3413) 2018-06-22 09:48:13 +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
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
Chris Rankin
9b5a099302
ENT-2105: Remove unnecessary sourceSets from integration tests. (#1029)
The database scripts are already available from the test-utils JAR via the classpath and so don't need
to be included as additional source sets.
2018-06-20 15:38:48 +01:00
szymonsztuka
56e1f6c650 CORDA-1407 Node Explorer - fix total column 2018-06-19 12:21:40 +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
Florian Friemel
100008b139
[CORDA-1634] Destroy child processes when parent exits. (#3368)
* [CORDA-1634] Destroy child processes when parent exits.

* Add comment.

* Register Shutdownhook for processes regardless of whether the Driver was initialized with

* Add comment.

* Revert "Add comment."

This reverts commit a5e78c379fba4e132cb3287997e77e21a6600947.

* Add comment.

* Add shutdown hook in ShutdownManager.registerProcessShutdown.

* Initialize the ShutdownManager with a shutdown hook to ensure that  is called.

* Add comment.
2018-06-18 17:39:46 +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
Chris Rankin
319953ba41 Merge commit '8087f3c5d3c823a5fbda9a728f129b0925c1fddb' into chrisr3-os-merge 2018-06-12 14:11:27 +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
szymonsztuka
c3ff42129c
Corda-1297 Column Nullability - dropping index before altering column (#932)
* Altering column for SQL Server requires dropping index in which it is a part of and the recreating it
(to avoid Liquibase error: The index 'xxx' is dependent on column 'yyy')
* Remove duplicated addNotNullConstraint causing error on Oracle dbs.
2018-06-11 19:21:33 +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
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