Commit Graph

490 Commits

Author SHA1 Message Date
bpaunescu
f022c67689
ENT-1618: added support for RPC client in HA mode(automatic failover) (#706)
* ENT-1618: added support for RPC client in HA mode(automatic failover)

* RPCClient: renamed variables to avoid confusion about clustering
2018-04-10 12:38:37 +01:00
sollecitom
89ecfb96c5 Merge remote-tracking branch 'remotes/open/master' into merges/march-29-13-11 2018-03-29 13:12:00 +01:00
Michele Sollecito
0d1d7daedc
[CORDA-1264]: Ensure correct serialisation and masking for throwables raised by a node and propagated through RPC. (#2892) 2018-03-29 13:01:41 +01:00
Anthony Keenan
7dbceaadcb Merge remote-tracking branch 'open/master'
# Conflicts:
#	node/src/main/kotlin/net/corda/node/services/events/NodeSchedulerService.kt
#	node/src/test/kotlin/net/corda/node/services/events/NodeSchedulerServiceTest.kt
2018-03-26 15:46:26 +01:00
bpaunescu
47c7be62c0
ENT-1670: update kdocs and unit test for better user experience (#2875)
* ENT-1670: update kdocs and unit test for better user experience regarding
RPC connection loss

* RPCStabilityTests: move doOnError logic to onError handler
2018-03-26 14:27:35 +01:00
bpaunescu
aaa9e8c83f Merge remote-tracking branch 'open/master' into bogdan-merge-20-03-18
# Conflicts:
#	docs/source/changelog.rst
2018-03-20 16:54:56 +00:00
bpaunescu
ac9cb59a6e
Fix RPC flaky test (#2849)
* fix rpc reconnect flaky test; remove obsolete rpcproxy log message

* rpc client proxy: replace lock with atomic variable

* rpc client proxy: removed volatile property

* RPCStabilityTests: used eventually() method to test async response

* RPCStabilityTests: remove unused import
2018-03-20 16:23:29 +00:00
sollecitom
8a561cddbf Merge remote-tracking branch 'remotes/open/master' into merges/march-19-14-41
# Conflicts:
#	client/rpc/src/test/kotlin/net/corda/client/rpc/RPCPerformanceTests.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/persistence/CordaPersistence.kt
#	node/src/integration-test/kotlin/net/corda/node/modes/draining/P2PFlowsDrainingModeTest.kt
#	node/src/main/java/CordaCaplet.java
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
2018-03-19 15:17:49 +00:00
Michele Sollecito
7a077e76f0
CORDA-1099: Orchestrated clean shutdown from Shell (#2831) 2018-03-19 14:20:10 +00:00
Viktor Kolomeyko
c964e50696
Trying to improve stability of RPCStabilityTests.client reconnects to rebooted server (#2842)
Prior to this change it was intermittently failing with:
```
net.corda.client.rpc.RPCException: RPC server is not available.
    at net.corda.client.rpc.internal.RPCClientProxyHandler.invoke(RPCClientProxyHandler.kt:222)
    at com.sun.proxy.$Proxy79.ping(Unknown Source)
    at net.corda.client.rpc.RPCStabilityTests$client reconnects to rebooted server$1$pingFuture$1.invoke(RPCStabilityTests.kt:251)
    at net.corda.client.rpc.RPCStabilityTests$client reconnects to rebooted server$1$pingFuture$1.invoke(RPCStabilityTests.kt:36)
    at net.corda.core.internal.concurrent.ValueOrException$DefaultImpls.capture(CordaFutureImpl.kt:107)
    at net.corda.core.internal.concurrent.OpenFuture$DefaultImpls.capture(CordaFutureImpl.kt:65535)
    at net.corda.core.internal.concurrent.CordaFutureImpl.capture(CordaFutureImpl.kt:119)
    at net.corda.core.internal.concurrent.CordaFutureImplKt$fork$$inlined$also$lambda$1.run(CordaFutureImpl.kt:22)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)
```
2018-03-19 13:19:40 +00:00
szymonsztuka
c4dc8accde Merge remote-tracking branch 'remotes/opensource/master' into merges/1 2018-03-16 17:52:01 +00:00
Viktor Kolomeyko
a2d65f1a6b
Improve error reporting in case of failure of flaky tests (#2828)
* Improve error reporting in case of failure of flaky tests

Also eliminate warnings and other minor changes.

* Address code review comments raised by @exFalso

Also improve output for stack traces.
2018-03-16 10:55:48 +00:00
Chris Rankin
d0efe85a44 Merge commit 'a64474181971e79638d6c23cb677a91a6c0f1bb5' into chrisr3-os-merge 2018-03-15 09:04:57 +00:00
Andrius Dagys
f454b949e8 CORDA-1142: Fix explorer to support all transaction types 2018-03-14 18:22:52 +00:00
IgorNitto
0a0c8538c4 Merge from Corda/OS 2018-03-14 17:24:47 +00:00
Rick Parker
a24a2105b1
CORDA-1217 Replace Guava caches with Caffeine (#2818) 2018-03-14 16:07:31 +00:00
bpaunescu
0b12c5f602 Merge remote-tracking branch 'open/master' into bogdan-merge-14 2018-03-14 15:01:27 +00:00
bpaunescu
3502186572
Bogdan - small rework of RPC client sending (#2812)
* rework message handling while connection is down: do not send anything, throw on all obs and futures when failure detected

* RPC calls will throw if used during failover; adapted tests
2018-03-14 11:45:18 +00:00
sollecitom
f31afd1520 Merge remote-tracking branch 'remotes/open/master' into merges/march-13-14-55
# Conflicts:
#	build.gradle
#	docs/source/_static/versions
#	docs/source/running-a-node.rst
2018-03-13 15:02:58 +00:00
Thomas Schroeter
721728c8ab
Terminate observables on RPC connection failures (#2770) 2018-03-13 10:01:44 +00:00
szymonsztuka
b86071c5c5
ENT-1566 Fixes for db integration tests + ENT-1575 db migrations for db attachment changes (#521)
ENT-1575 Add db migrations for db attachment changes,

ENT-1566 Fixes for db integration tests -following changes in CORDA-926 (obligatory node properties), upgrade db schema setup in draining mode/RPC tests, set runMigration=true in properties files for db tests, add new tables for deletion in SQL setup scrips
Updated db integration tests description in testing.rst
2018-03-09 09:52:44 +00:00
bpaunescu
fd9098e7e2 Merge remote-tracking branch 'open/master' into bogdan-merge-08032018 2018-03-08 08:45:15 +00:00
bpaunescu
98a6c71480
CORDA-296: added handler for connection failover (#2639)
* CORDA-296: added handler for connection failover
print rpc address during node startup

* address PR comments: typo, whitespace, onError observables

* reworked rpc client msg buffering to avoid race conditions when failure happens while the request is being prepared to be sent; added unit test for 8 threads sharing same client sending 1000 requests

* decreased sleep time in rpc test, code cleanup
2018-03-08 08:21:35 +00:00
szymonsztuka
3733e7d715 Merge remote-tracking branch 'remotes/open/master' into merges/CORDA-792
# Conflicts:
#	.idea/compiler.xml
#	build.gradle
#	node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcSslTest.kt
#	node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt
#	node/src/main/kotlin/net/corda/node/shell/CordaAuthenticationPlugin.kt
#	node/src/main/kotlin/net/corda/node/shell/CordaSSHAuthInfo.kt
#	node/src/main/kotlin/net/corda/node/shell/RPCOpsWithContext.kt
#	node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt
#	settings.gradle
#	testing/test-common/src/main/kotlin/net/corda/testing/common/internal/UnsafeCertificatesFactory.kt
#	tools/shell/src/integration-test/kotlin/net/corda/tools/shell/SSHServerTest.kt
#	tools/shell/src/main/java/net/corda/tools/shell/FlowShellCommand.java
#	tools/shell/src/main/java/net/corda/tools/shell/RunShellCommand.java
#	tools/shell/src/main/java/net/corda/tools/shell/StartShellCommand.java
#	tools/shell/src/main/kotlin/net/corda/tools/shell/FlowWatchPrintingSubscriber.kt
#	tools/shell/src/main/kotlin/net/corda/tools/shell/InteractiveShell.kt
#	tools/shell/src/main/kotlin/net/corda/tools/shell/InteractiveShellCommand.kt
#	tools/shell/src/main/kotlin/net/corda/tools/shell/utlities/ANSIProgressRenderer.kt
#	tools/shell/src/main/resources/net/corda/tools/shell/base/login.groovy
#	tools/shell/src/test/kotlin/net/corda/tools/shell/CustomTypeJsonParsingTests.kt
#	tools/shell/src/test/kotlin/net/corda/tools/shell/InteractiveShellTest.kt
2018-03-07 16:49:00 +00:00
szymonsztuka
72074c76c7
[CORDA-792] Standalone Shell (#2663)
- Existing embedded Shell connects via RPC including checking RPC user credentials (before was a direct use of CordaRPCOps):  in dev mode when console terminal is enabled, node created `shell` user.
- New Standalone Shell app with the same functionalities as Shell: connects to a node via RPC Client,  can use SSL and run SSH server.
2018-03-07 09:57:32 +00:00
Michele Sollecito
da1afd9c55
Introduced copyright in all source files. (#519) 2018-03-06 17:29:21 +00:00
tudor.malene@gmail.com
98a4fe1ce3 Merge remote-tracking branch 'open/master' into merge/tudor_network_bootstrap
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/amqp/AMQPBridgeTest.kt
2018-03-06 11:37:30 +00:00
Chris Rankin
596edcc2ae Merge commit '29ccd4d' into os-merge-050318 2018-03-05 23:21:35 +00:00
Katelyn Baker
d116b5e9f4
CORDA-1140 - FOR RPC Client P2P context use AMQP (#2716)
* CORDA-1140 - FOR RPC Client P2P context use AMQP

* Review comments

* Review comments

* review comments

* review comments
2018-03-05 18:05:32 +00:00
igor nitto
1caca44076
Fixed smoke tests after config parsing changes [CORDA-926] 2018-03-05 15:32:05 +00:00
Anthony Keenan
c72b3ad4fa Merge remote-tracking branch 'open/master' into anthony-os-merge-2
# Conflicts:
#	.ci/api-current.txt
#	client/jfx/src/integration-test/kotlin/net/corda/client/jfx/NodeMonitorModelTest.kt
#	client/rpc/src/integration-test/kotlin/net/corda/client/rpc/FlowsExecutionModeRpcTest.kt
#	docs/source/example-code/src/integration-test/kotlin/net/corda/docs/IntegrationTestingTutorial.kt
#	docs/source/example-code/src/main/kotlin/net/corda/docs/tutorial/mocknetwork/TutorialMockNetwork.kt
#	finance/src/test/kotlin/net/corda/finance/flows/CashPaymentFlowTests.kt
#	node/src/integration-test/kotlin/net/corda/node/CordappScanningDriverTest.kt
#	node/src/integration-test/kotlin/net/corda/node/NodePerformanceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/BFTNotaryServiceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/RaftNotaryServiceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/network/NetworkMapTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcSslTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/statemachine/FlowVersioningTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/statemachine/LargeTransactionsTest.kt
#	node/src/integration-test/kotlin/net/corda/services/messaging/MQSecurityTest.kt
#	node/src/integration-test/kotlin/net/corda/services/messaging/P2PMessagingTest.kt
#	node/src/integration-test/kotlin/net/corda/test/node/NodeStatePersistenceTests.kt
#	node/src/test/kotlin/net/corda/node/CordaRPCOpsImplTest.kt
#	node/src/test/kotlin/net/corda/node/modes/draining/ScheduledFlowsDrainingModeTest.kt
#	node/src/test/kotlin/net/corda/node/services/messaging/ArtemisMessagingTest.kt
#	node/src/test/kotlin/net/corda/node/services/statemachine/FlowFrameworkTests.kt
#	node/src/test/kotlin/net/corda/node/services/transactions/MaxTransactionSizeTests.kt
#	samples/trader-demo/src/integration-test/kotlin/net/corda/traderdemo/TraderDemoTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/InMemoryMessagingNetwork.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/NodeBasedTest.kt
#	verifier/src/integration-test/kotlin/net/corda/verifier/VerifierTests.kt
2018-02-28 16:55:15 +00:00
Anthony Keenan
577033441a
[CORDA-1035] Testing api KDoc Updates (#2584)
* Testing api KDoc Updates

* Update after code review

* Update api-current

* Revert changes to compiler.xml

* Made comment changes from review

* Fixing merge conflict

* Don't expose net.corda.node through test API (first pass)

* Fixing merge conflicts

* Update api-current

* Addressing review commits

* Fix exposure of internal implementation of MessageHandlerRegistration

* Make InProcess expose ServiceHub instead of internal StartedNodeServices

* Move InternalMockMessaginService interface to internal namespace

* Move MOCK_VERSION_INFO to internal namespace to avoid exposing VersionInfo

* Don't expose WritableTransactionStorage via testing api

* Create public VerifierType enum

* Update api-current and modify check-api-changes to check for net.corda.node exposures

* Fix merge conflicts

* Fixing another merge conflict

* Fix accidentally broken unit tests

* Make getInternalServices a property

* Fix failing unit tests

* Add todo to check-api-changes

* Fix rpc sender thread busy looping

* Fix tests

* Fixing tests

* Address mike's comments

* Fixing tests

* Make random port allocation internal

* Update api
2018-02-28 13:26:49 +00:00
Andrius Dagys
cc8e38922e Merge remote-tracking branch 'open/master' into andrius-merge-02-26 2018-02-26 11:55:17 +00:00
Andrius Dagys
0edfef2409 CORDA-696 - Create separate transaction types for contract upgrade transactions (#2589)
* CORDA-986 and CORDA-985 CompositeKey and Signature verification performance fixes (#2467)

* CORDA-696: Create separate transaction types for contract upgrade transactions.

Add rationale around upgrade transactions

Move contract upgrade transaction resolution logic into internal until it's stabilised.

Throw a better exception when contract attachment not found

Default legacy contract constraint to always accepting - needs to be changed to whitelist constraint before merging

Introduce a new upgraded contract interface that allows specifying the legacy constraint.

Remove StateLoader, make all tx resolution functions take in ServicesForResolution

Contract upgrade transactions can handle whitelist by zone constraints

When creating a contract upgrade transaction, make sure the attachment of the old cordapp gets attached when using hash constraints.
Attachment lookup for a given contract class name only scans currently loaded cordapps, and we don't load old versions of cordapps.

CORDA-696: Update upgrade docs
2018-02-26 11:29:25 +00:00
sollecitom
d41b9a0299 merged OS into master 2018-02-23 15:47:07 +00:00
Michele Sollecito
191f412aba
Fixed flows draining mode after regression introduced by OS -> ENT merge (#474) 2018-02-23 15:19:37 +00:00
Michele Sollecito
5be0e4b39e
[CORDA-941]: Add NetworkParameters contract implementation whitelist. (#2580) 2018-02-23 14:29:02 +00:00
Andras Slemmer
6a2217ace6 Merge remote-tracking branch 'open/master' into aslemmer-merge-19-Feb 2018-02-21 18:10:37 +00:00
Andras Slemmer
25263c20c7 Merge remote-tracking branch 'open/master' into aslemmer-merge-19-Feb 2018-02-20 15:52:09 +00:00
Viktor Kolomeyko
18f81ba973 Eliminate references to Java target "1.6"
Also for "client/rpc" explicitly specify "jvmTarget" (similar to what "experimental/behave" does) to avoid ambiguity.

Without this change the following compilation error been observed in IntelliJ:
Z:\corda\experimental\behave\src\main\kotlin\net\corda\behave\node\Node.kt
Error:(163, 44) Kotlin: Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6. Please specify proper '-jvm-target' option
2018-02-20 14:05:55 +00:00
Andras Slemmer
d28c781597 Missing diff from merge 2018-02-20 13:54:11 +00:00
Andras Slemmer
38d0ad30df Merge commit 'da591363fdccd220455a92f083d2ad59ed0e2d12' into aslemmer-merge-19-Feb 2018-02-20 13:52:03 +00:00
Andras Slemmer
6b2b7b6a3c Merge commit 'fa4b5d16ba6249f85b50851c2f52dc697eebdee6' into aslemmer-merge-19-Feb 2018-02-20 13:26:31 +00:00
Andras Slemmer
dc268ebe63
Merge pull request #2477 from corda/aslemmer-corda/issues/2300
Add RPC deduplication to client and server
2018-02-19 16:25:36 +00:00
Andras Slemmer
1d7b0fc499 Merge commit '86fb1ed852c69121f989c9eeea92cfb4c27f9d13' into aslemmer-merge-19-Feb 2018-02-19 16:14:43 +00:00
Andras Slemmer
7f1bfac8b0 Write better test for dupes 2018-02-19 14:53:28 +00:00
Anthony Keenan
117f4a721e
CORDA-939 Remove sslConfiguration from public constructor of CordaRPCClient (#2522)
* Remove sslConfiguration from public constructor of CordaRPCClient

* Address review comments

* Update api-current.txt

* sslConfiguration doesn't need to be a property
2018-02-13 21:39:31 +00:00
Andras Slemmer
7924a5a834 Add RPC deduplication to client and server 2018-02-13 18:51:59 +00:00
Maksymilian Pawlak
b91dd43a83
Test driver default parameters removal (#2519)
* Removed long parameter list in test driver, replaced with DriverParameters object
2018-02-13 13:15:05 +00:00
Michele Sollecito
da591363fd
CORDA-990: Flows Draining Mode (#2483)
[CORDA-990]: Flows draining mode.
2018-02-12 16:13:43 +00:00