281 Commits

Author SHA1 Message Date
Chris Rankin
4602a21a35
Merge pull request #1391 from corda/chrisr3-os-merge
Merge from Open Source
2018-09-13 15:14:50 +01:00
Shams Asari
725441b39c
Minor changes to bring in-sync with OS (#1390) 2018-09-13 12:53:06 +01:00
Chris Rankin
96597ba084 Merge commit '1c7dfd4b7b310e86b8aa973b8350487ba63c08b1' into chrisr3-os-merge 2018-09-13 11:06:52 +01:00
Chris Rankin
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
cburlinchon
90c5f82514
Use external bridge (#1384) 2018-09-11 10:22:07 +01:00
Shams Asari
31530b35c6 Merge fixes 2018-09-10 11:45:53 +01:00
Shams Asari
46cbfefc77 Merge remote-tracking branch 'open/master' into os-merge-4f8a564
# Conflicts:
#	experimental/behave/src/main/kotlin/net/corda/behave/process/Command.kt
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
2018-09-07 14:49:52 +01:00
Anthony Keenan
458bedd936
Merge pull request #1374 from corda/anthony-os-merge-20180906
O/S Merge 20180906
2018-09-07 12:14:23 +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
Anthony Keenan
4a70d1a996 Fixing enterprise only uses of NetworkMapCacheImpl 2018-09-06 14:50:44 +01:00
Patrick Kuo
767580c298 Flow worker POC zookeeper flow partitioning (#1369)
* Flow worker zookeeper WIP

* remove copyright decaration

* remove shaded curator and depends on node-api shadow instead
2018-09-06 10:09:31 +01:00
Michele Sollecito
b36240a7e7 Merge remote-tracking branch 'remotes/open/master' into fixes/certificateStoreStubs 2018-09-04 17:33:29 +01:00
Michele Sollecito
31e58dd2e5 [CORDA-1937]: Fixes to enterprise float and bridge. 2018-09-04 11:20:34 +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
Mike Hearn
97aef9c8a1 Merge remote-tracking branch 'open/master' into mike-merge-f6ee263db10 2018-09-03 20:13:38 +02:00
Shams Asari
11e2bef240
ENT-2473: Removed copyright headers (#1364) 2018-09-03 16:38:52 +01:00
Matthew Nesbit
7ead9e5698 ENT-2293 & ENT-2353: Basic implementation of an RPC worker and Flow Worker (#1308) 2018-08-29 13:45:27 +01:00
szymonsztuka
c7f666102f Fixes after merge remote-tracking branch 'remotes/open/master' into szymonsztuka/os-merge-20180824 2018-08-24 12:27:47 +01:00
Tommy Lillehagen
acd3f44181 Merge remote-tracking branch 'open/master' 2018-08-23 13:55:11 +01:00
Tommy Lillehagen
d2ef16cbfd
Deterministic JVM (#3386)
* CID-251 - Deterministic JVM

* CID-251 - Add DJVM documentation

* CID-251 - Address review comments from @chrisr3

* CID-251 - Address further review comments from @chrisr3

* CID-251 - Use shadowJar to generate fat JAR

* CID-251 - Address review comments from @exFalso

* CID-251 - Improve naming in ReferenceMap

* CID-251 - Add test for Kotlin meta-class behaviour

* CID-251 - Address review comments from @shamsasari

* CID-251 - Add description of high-level flow

* CID-251 - Refactoring

* CID-251 - Rename package to net.corda.djvm

* CID-251 - Include deterministic-rt.jar as runtime dependency

* CID-251 - Add Gradle task for generating whitelist from deterministic rt.jar

* CID-251 - Error messages for StackOverflow/OutOfMemory, update whitelist

* CID-251 - Reduce set definition of pinned classes

* CID-251 - Tidy up logic around pinned classes

* CID-251 - Shade ASM dependency and split out CLI tool

* CID-251 - Address review comments from @mikehearn (part 1)

* CID-251 - Address review comments from @mikehearn (part 2)

* CID-251 - Address review comments from @mikehearn (part 3)

* CID-251 - Address review comments from @exFalso

* CID-251 - Address review comments from @mikehearn (part 4)

* CID-251 - Address review comments from @exFalso and @mikehearn

* CID-251 - Address review comments from @mikehearn (part 5)
2018-08-22 16:01:39 +01:00
rick.parker
046209ea0d Fix compilation error 2018-08-09 10:27:58 +01:00
szymonsztuka
2939e68bd5 Merge OS - fix method name invoked in Enterprise module. 2018-08-01 14:30:03 +01:00
Tudor Malene
954ab0ca13
Merge pull request #1310 from corda/tudor-os-merge-31-07
Tudor os merge 31 07
2018-08-01 09:14:20 +01:00
Tudor Malene
46e42421a4 fix os merge 2018-07-31 18:30:41 +01:00
josecoll
4db315f81a
ENT-1424 - Setup Compatibility testing environment (#1211)
* Updated interoperability scenarios to use GA Release Candidate

* Removed "with proxy" and updated incorrect reference to OS master.

* Update to resolve Artifactory tools if available (blob-inspector, network-bootstrapper, database-migration)

* Allow passing in of argument to specify one or more scenarios to run.

* Updated to RC03.

* Added Oracle support in Behave framework and included functional test scenarios.

* behave test using snapshot (#970)

* make behave use snapshots from artifactory

* rebase and fix

* address PR issues

* address PR issues

* gradle task for bdd (#989)

* gradle task for bdd (#989)

* fix typo

* Publishing behave-api jar for use by external applications (eg. cordapp-option).
Fixed SIMMM valuation behave scenario test and startup.

* Publishing behave-api jar for use by external applications (eg. cordapp-option).
Fixed SIMMM valuation behave scenario test and startup.

* Various fixes to make BDD working in Teamcity (#1063)

* fix typo

* print docker log

* print docker log

* attempt to fix docker

* attempt to fix docker

* attempt to fix docker

* update to RC04

* disable clean up

* try to find out why the test pick up the wrong jar

* test

* minor fixes

* fix wrong bootstrapping procedure

* remove DISABLE_CLEANUP

* attempt to fix error

* fixes to get postgres working

* enable cleanup

* generate cucumber report

* bump to RC06

* attempt to make cucumber generate http report

* cucumber report

* some minor cleanup

* removed DP3 nodes from scenarios, added oracle and bumped to RC07

* fix licence issue

* fixed bootstrapper placing corda jar

* Update interoperability.feature

* Added missing published artifact.

* Fixed compilation errors raised by stricter compilation flag checking.

* Minor changes following rebase from master and re-testing.

* Updates to reflect last minute naming and versioning changes applied to 3.0 release.
Updated scenarios to use the officially released version of CE 3.0

* Updates following lastest PR review feedback.

* Updates following lastest PR review feedback.

* Align with master (maxMessageSize = mazTransactionSize).

* Fix snapshot version regex matching.

* Set logging level to DEBUG to ensure pattern matches catch log message output which has been downgraded from INFO

* Add all supported interoperable versions.
2018-07-31 17:53:24 +01:00
cburlinchon
0e807a2c3c
ENT-2353 - Flow Worker (#1307)
* Basic flow worker and serviceHub
2018-07-30 17:23:00 +01:00
Viktor Kolomeyko
2a61baa5df
ENT-2293: POC work for RPC Worker (#1300)
* ENT-2293: Skeleton of the new "rpcWorker" module

* ENT-2293: Add first failing test
(RPC server has not been implemented or started yet)

* ENT-2293: Further progress to start RPC server (unfinished)

* ENT-2293: RPC server started to work.

* ENT-2293: Slim down RpcWorker.

* ENT-2293: Minor changes.

* ENT-2293: Minor refactoring

* ENT-2293: Expand test coverage.

* ENT-2293: Introduce PicoCli for command line parsing.

* ENT-2293: Changes to make RPC server actually start.

* ENT-2293: Create simple RPC client.

* ENT-2293: Initialize serialization outside of RpcWorker.
2018-07-27 11:02:07 +01:00
Michele Sollecito
81b9885f03 Fixed a compilation error. 2018-07-23 17:16:24 +01:00
Viktor Kolomeyko
8c103d4247
ENT-2261: Systematic integration test for FlowProcessing (#1278)
* ENT-2261: Skeleton of parameterized test.

* ENT-2261: Programmatically compose rules and install them.

* ENT-2261: Separate counter decrement from termination.

* ENT-2261: Extend coverage to "executePersistCheckpoint".

* ENT-2261: Extend coverage to "ClientMessageImpl.acknowledge()"

* ENT-2261: Extend coverage to "RPCServer.context()"

* ENT-2261: Extend coverage to "ActionExecutorImpl.executeReleaseSoftLocks()" (unfinished)

* ENT-2261: Re-structure test data slightly.
"executeReleaseSoftLocks" seems to be failing.

* ENT-2261: Correct expectations in terms of number of transactions that ought to be produced.

Also use "eventually" construct to cater for node restart which may take some time.

* ENT-2261: Incorporate feedback from @exFalso and use polling approach.

* ENT-2261: Additional debug output.

* ENT-2261: Further expand coverage to RPCServer.context()

Also tighten-up assertion checks.

* ENT-2261: Further expand coverage to ActionExecutorImpl.executeCreateTransaction()

* ENT-2261: Further expand coverage to ActionExecutorImpl.executeRemoveCheckpoint()

* ENT-2261: Further expand coverage to ActionExecutorImpl.executePersistDeduplicationIds() and ActionExecutorImpl.executeCommitTransaction()

* ENT-2261: Revert non-material change.
2018-07-18 13:18:01 +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
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
Shams Asari
300e0573fe
Merge pull request #1205 from corda/os-merge-244167d
O/S merge from 244167d
2018-07-05 17:16:52 +01:00
Shams Asari
0c8c914882 Removing warnings 2018-07-05 15:45:28 +01:00
Matthew Nesbit
123a2af5e0 Bridge to Firewall renames
More renaming

Update diagrams

Update changelog to point out breaking change fo the rename

Address Richard's PR comments
2018-07-05 15:20:28 +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
Chris Rankin
d634cdcbac
Clear some cut-and-paste cruft out of our Gradle files. (#3511) 2018-07-04 15:42:43 +01:00
Shams Asari
98cd8be160 Merge remote-tracking branch 'open/master' into os-merge-b97af47
# Conflicts:
#	.idea/compiler.xml
#	docs/source/changelog.rst
#	docs/source/release-notes.rst
#	node/src/main/kotlin/net/corda/node/internal/cordapp/CordappLoader.kt
#	tools/bootstrapper/build.gradle
2018-06-25 11:38:30 +01:00
Shams Asari
3046843d40
CORDA-1602: Added cmd line flags to the network bootstrapper (#3419)
The list of CorDapps jars is no longer passed in via the cmd line but is now expected to be placed in the bootstrapped directory.

Ended up being a bit of a refactor to cater for unit testing, and also tidied up the bootstrapper docs.
2018-06-23 11:36:10 +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
Viktor Kolomeyko
1011e45b84
ENT-1962: Perform RPC retry in case of RejectedCommandException (#982)
* ENT-1962: Perform RPC retry in case of RejectedCommandException

(cherry picked from commit 2a7f0dd)

* ENT-1962: Address code-review comments.

(cherry picked from commit 7b4edde)
2018-06-13 12:33:36 +01:00
Tudor Malene
cb50e58367
CORDA-1558 Rename database migration to database management (#979)
* CORDA-1558 Rename database migration to database management

* CORDA-1558 Address code review comments

* CORDA-1558 Address code review comments

* CORDA-1558 Address code review comments
2018-06-13 10:52:00 +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
josecoll
c2f22e18a5
Corda Behave framework updates to decouple from Network Services (#914)
* Added new 'eventHorizonDays' configuration item.

* Added custom authenticator to provide ARTIFACTORY credentials upon resolving protected internal URL.

* Re-pointed functional test scenarios to point to Enterprise master.

* Enterprise corda network scenarios to use NetworkBootstrapper tool (instead of Doorman/NMS) since decision made by Product Management to split out Doorman/NMS from Enterprise.

* Configuration parameter changed to 'runMigration' since DP3.

* Fixed problem with logger upon startup.

* General improvements and additions to setup and execution scripts (eg. SIMM valuation demo now consists of 3 separate jars)

* Updates to decouple from Network Services.

* Download all JARs from artifactory for a given published distribution.

* Add TODOs for Doorman/NMS rework.

* Addressing TL PR review comments.

* Additional instructions for setting up the environment and running QA tests.

* Fixed repository URL references.
2018-06-05 15:02:07 +01:00
szymonsztuka
f5c9a398ad Merge remote-tracking branch 'remotes/open/master' into merges/os-2018-06-04-szymon
# Conflicts:
#	docs/source/upgrade-notes.rst
#	node/src/integration-test/kotlin/net/corda/node/BootTests.kt
2018-06-04 17:35:19 +01:00
Thomas Schroeter
141d45c39d
Add simulation of the avalanche consensus protocol to experimental (#3283) 2018-06-04 13:33:34 +01:00
josecoll
76644e0d00
ENT-1871 Rebrand R3Corda to Corda Enterprise (#907)
* Final part of rebranding exercise.

* Fix test.
2018-06-02 10:47:31 +01:00