Commit Graph

1625 Commits

Author SHA1 Message Date
igor nitto
2cff495553
Remove CordApps JARs from node classpath [CORDA-1135] (#2691) 2018-03-14 16:42:23 +00:00
Rick Parker
a24a2105b1
CORDA-1217 Replace Guava caches with Caffeine (#2818) 2018-03-14 16:07:31 +00:00
Thomas Schroeter
a2783f4c8f
Write update query in HQL (#523) 2018-03-14 15:01:04 +00:00
Matthew Nesbit
cd37f761ab
Merge pull request #476 from corda/mnesbit-external-bridge
ENT-1549: Initial Creation of Bridge/Float Process
2018-03-14 14:14:34 +00:00
Viktor Kolomeyko
8f750c0629
CORDA-1042: Change the way how Jolokia library located on the classpath so that it work on Windows (#2817)
Old code failed with:
```
11:34:01.536 [main] ERROR net.corda.node.internal.Node - Exception during node startup
java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/Program%20Files/JetBrains/IntelliJ%20IDEA%20Community%20Edition%202017.3.1/lib/idea_rt.jar
	at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182) ~[?:1.8.0_144]
	at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153) ~[?:1.8.0_144]
	at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77) ~[?:1.8.0_144]
	at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94) ~[?:1.8.0_144]
	at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255) ~[?:1.8.0_144]
	at java.nio.file.Paths.get(Paths.java:84) ~[?:1.8.0_144]
	at net.corda.node.utilities.JVMAgentRegistry.resolveAgentJar(JVMAgentRegistry.kt:46) ~[classes/:?]
	at net.corda.node.internal.AbstractNode.initialiseJVMAgents(AbstractNode.kt:785) ~[classes/:?]
	at net.corda.node.internal.AbstractNode.start(AbstractNode.kt:199) ~[classes/:?]
	at net.corda.node.internal.Node.start(Node.kt:335) ~[classes/:?]
	at net.corda.node.internal.NodeStartup.startNode(NodeStartup.kt:146) ~[classes/:?]
	at net.corda.node.internal.NodeStartup.run(NodeStartup.kt:120) [classes/:?]
	at net.corda.node.Corda.main(Corda.kt:16) [classes/:?]
```
2018-03-14 13:42:18 +00:00
Matthew Nesbit
d592fb5c49 Create basic bridge module and capsule build
Basic pieces of bridge, still very rough

Work in progress

Fixes after rebase

Primitive float tunnel implementation

Put explanatory comments on the interfaces. Add support for different SSL KeyStores for the different connections to/from the bridge and float.

Add a couple more comments

Cleanup

Fix some issues

Use a new custom header to relay the login identity from bridges. (Will add more security to this shortly)

Make key protection logic a bit clearer in the comments

Create some basic test and integrationTests

Add a couple of tests of the BridgeAMQPListenerService

Add some basic tests

Correct comment

Fixup after rebase

Fixup after rebase

Fixup after rebase

Explicit parameter types to work on build box.

Address PR comments

Address some of Mike's PR comments.

Re-enable test on enterprise.

Don't sweep up node default config

Remove obsolete config entry

Correct merge mistake

Configurable whitelist headers on bridge

Don't access primary artemis session from different threads used by inbound packet pathway.

Fix unit test
2018-03-14 11:08:09 +00:00
Andrzej Cichocki
f7151e96d3
Merge commit '932d632716c55fef0bda7c6519677a46b66f05c2' into andr3ej-provider-setup-ent
# Conflicts:
#	core/src/main/kotlin/net/corda/core/crypto/CryptoUtils.kt
#	node/src/main/kotlin/net/corda/node/Corda.kt
2018-03-14 10:50:41 +00:00
Andrzej Cichocki
932d632716
ENT-1439 Refactor Provider setup (#2780)
* Initialise crypto nice and early
* More OO way of requiring correct name for BouncyCastlePQCProvider
2018-03-13 17:22:38 +00:00
ags
dba52b1676
Merge remote-tracking branch 'open/master' into ags_2018-03-12 2018-03-12 11:25:46 +00:00
Andrzej Grzesik
9a0a0e9880
Merge pull request #2758 from corda/merge/CORDA-1155
CORDA-1155 - Jolokia logging via slf4j (#2753)
2018-03-12 11:19:05 +00:00
Ben Abineri
d9ab693752
make two exceptions that held me up recently more helpful (#2778) 2018-03-12 09:35:40 +00:00
Andrius Dagys
2fbb34ba38 CORDA-1171: Update MySQL uniqueness provider to throw the correct exception 2018-03-09 16:22:36 +00:00
Andrius Dagys
98ba212e00 Merge remote-tracking branch 'open/master' into andrius-merge-03-09 2018-03-09 16:09:59 +00:00
Andrius Dagys
2d31247da2 CORDA-1171: When a double-spend occurs, do not send the consuming transaction id and requesting party back to the client - this might lead to privacy leak. Only the transaction id hash is now returned. 2018-03-09 16:00:52 +00:00
Andras Slemmer
a8753a692e
Merge pull request #535 from corda/aslemmer-ENT-1589
ENT-1589
2018-03-09 12:02:36 +00:00
Andras Slemmer
4e16c2a06a Switch checkpoints on for retryable sends, add back confirmationWindowSize setting 2018-03-09 10:18:39 +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
ags
ca54ed611c
addressing review remarks 2018-03-08 09:06:12 +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
ags
ed3ba537f3
Restoring Jolokia in webserver, to be able to redirect logger via Slf4j 2018-03-07 14:35:15 +00:00
szymonsztuka
0d5f033aae
[CORDA-1085] Alter column names to be consistent with R3.Corda. (#2606)
Alter column names to be consistent with R3.Corda - related to CORDA-990.
2018-03-07 13:28:49 +00:00
Andrzej Grzesik
803ce15b32
Corda-1155 - Jolokia logging via slf4j (#2753)
* Jolokia logging through slf4j

* review remarks
2018-03-07 13:23:00 +00:00
Matthew Nesbit
b6831eed6a Merge remote-tracking branch 'remotes/open/master' into mnesbit-merge-20180307
# Conflicts:
#	node/src/main/kotlin/net/corda/node/services/messaging/Messaging.kt
#	node/src/main/kotlin/net/corda/node/services/messaging/P2PMessagingClient.kt
#	node/src/main/kotlin/net/corda/node/services/statemachine/StateMachineManagerImpl.kt
2018-03-07 11:37:46 +00:00
Matthew Nesbit
2653da9f12 Merge remote-tracking branch 'remotes/open/master' into mnesbit-merge-20180307
# Conflicts:
#	node/src/main/kotlin/net/corda/node/services/messaging/Messaging.kt
#	node/src/main/kotlin/net/corda/node/services/messaging/P2PMessagingClient.kt
#	node/src/main/kotlin/net/corda/node/services/statemachine/StateMachineManagerImpl.kt
2018-03-07 11:02:32 +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
Tudor Malene
8fe94bca2d
ENT-1575 Shorten table name (#2750) 2018-03-07 09:55:41 +00:00
Matthew Nesbit
519644ce0d
CORDA-1170: Define and whitelist the Artemis/AMQP application headers that are accepted by Corda (#2728)
* Whitelist headers copied across bridges

* Address PR comments
2018-03-07 08:56:58 +00:00
Michele Sollecito
2a5ef62eed
Merge pull request #520 from corda/merges/march-6-16-56
Merge: 06/03/2018 at 16:56
2018-03-06 18:58:48 +00:00
Michele Sollecito
da1afd9c55
Introduced copyright in all source files. (#519) 2018-03-06 17:29:21 +00:00
sollecitom
906dae11ad Merge remote-tracking branch 'remotes/open/master' into merges/march-6-16-56
# Conflicts:
#	node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt
2018-03-06 16:59:13 +00:00
Michele Sollecito
f483763249
Fixed unrecognized property jarDirs in node configuration. (#2748) 2018-03-06 16:54:01 +00:00
Tudor Malene
ad4bed779d
Merge pull request #515 from corda/merge/tudor_network_bootstrap
Merge/tudor network bootstrap
2018-03-06 15:15:00 +00:00
Andrzej Cichocki
00c171cd61
CORDA-973 Turn on compression for checkpoints and tx storage (#490) 2018-03-06 15:01:30 +00:00
Konstantinos Chalkias
4121f70da3
CORDA-1175 Docs numbering issue and counterparty consistency. (#2744) 2018-03-06 14:22:38 +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
Michele Sollecito
6479d7d8ff
[CORDA-1156]: Output of run networkMapFeed and run networkMapSnapshot not consistent in shell (fixed) (#2733) 2018-03-06 10:15:17 +00:00
Chris Rankin
596edcc2ae Merge commit '29ccd4d' into os-merge-050318 2018-03-05 23:21:35 +00:00
Shams Asari
84ff1c875a
CORDA-1006: Undoing the wiring of maxMessageSize as it's not correctly implemented and updating the docs to clarify its status. (#2501) (#2729)
The network parameter was just fed into Artemis' minLargeMessageSize property which isn't the same thing.

(cherry picked from commit 49f75da)
2018-03-05 17:26:08 +00:00
Chris Rankin
04610b8545 Merge remote-tracking branch 'public/master' into chrisr3-merge-os
O/S merge up to ef703c50
2018-03-05 12:27:49 +00:00
Shams Asari
4a73a80b39
CORDA-1160: Only read node-info files if their last modified time has changed. (#2717) 2018-03-05 11:10:38 +00:00
Christian Sailer
e19f9a3841
CORDA-1122 Tweak Artemis for performance (#496)
* ENT-1434 - tweak Artemis for P2P to auto commit and send asynchronously.

* ENT-1434 - tweak Artemis for P2P to auto commit and send asynchronously.

* Fix test compilation
2018-03-05 10:47:45 +00:00
Andras Slemmer
7c459f3c99
Merge pull request #445 from corda/aslemmer-fix-added-sm-event
Only emit SM Add events when the flow signals that it started
2018-03-05 10:45:10 +00:00
Mike Hearn
abc281056f Merge remote-tracking branch 'open/master' into mike-merge-80c00b920b 2018-03-02 15:17:32 +01:00
Mike Hearn
80c00b920b
Fix another non-serializable exception, add docs, fix a possible security issue. (#2707)
* Fix another non-serializable exception, add docs, fix a possible security issue.

* Update API definition to reflect methods added to make more exceptions serializable
2018-03-02 15:10:54 +01:00
Shams Asari
a59083ceb2 Merge remote-tracking branch 'open/master' into os-merge-020318
# Conflicts:
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/internal/Node.kt
2018-03-02 10:42:03 +00:00
Michele Sollecito
29215035e1
Merge pull request #498 from corda/merges/march-1-15-20
merges/CORDA-926_march-1-15_20
2018-03-02 10:17:12 +00:00
Thomas Schroeter
f9bfebe4a8
[CORDA-1136] Update startup message of P2P address and port (#2698) 2018-03-02 08:50:31 +00:00
Shams Asari
8616f24523
CORDA-1048: Making it simpler to move an existing local deployment of nodes to across different machines. (#2672)
This was achieved by having the hash in the node-info file to be just of the node's X.500 name. This also solves existing duplicate node-info file issues that we've been having.

Also updated the docsite.
2018-03-01 21:24:10 +00:00
Andrzej Cichocki
26a11bccc9
CORDA-1004 Use FastThreadLocalThread in multi-thread SMM. (#492) 2018-03-01 17:35:41 +00:00
sollecitom
c38dccacca Changed system and environmental variables to only be parsed as config if they're prefixed with "corda." e.g., to override "p2pPort" would now take a "corda.p2pPort" from system or environmental variables. 2018-03-01 16:37:15 +00:00
sollecitom
36cd34bff5 Merge remote-tracking branch 'remotes/open/master' into merges/march-1-15-20
# Conflicts:
#	docs/source/corda-configuration-file.rst
#	docs/source/release-notes.rst
#	node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt
#	node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt
#	tools/demobench/src/test/kotlin/net/corda/demobench/model/NodeConfigTest.kt
#	tools/explorer/README.md
#	tools/explorer/src/main/kotlin/net/corda/explorer/ExplorerSimulation.kt
2018-03-01 15:36:40 +00:00
Joel Dudley
08c5b72874
1076 - Filters out structural steps when tracking a flow via RPC. 2018-03-01 15:08:07 +00:00
Michele Sollecito
b580a2ac30
[CORDA-926]: Parsing NodeConfiguration will now fail if unknown properties are present. (#2484) 2018-03-01 14:57:36 +00:00
Andrzej Cichocki
b578b934f7
Merge commit '4d4253a287c6ddccddeab8ed24f9e16da5e25bc2' into andr3ej-os-merge
# Conflicts:
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/internal/Node.kt
2018-02-28 14:39:29 +00:00
Andras Slemmer
7a9ce48996 Only emit SM Add events when the flow signals that it started 2018-02-27 18:41:52 +00:00
Andrzej Cichocki
4d4253a287
CORDA-1124 Fix thread leak in generateAndSaveNodeInfo (#2659) 2018-02-27 15:43:41 +00:00
Thomas Schroeter
c7e03633c7 Merge remote-tracking branch 'open-source/master' into thomas-merge 2018-02-27 12:01:49 +00:00
Andras Slemmer
cd569577d2 Fix rpc sender thread busy looping 2018-02-27 10:23:48 +00:00
Andrzej Cichocki
3391810101
CORDA-1004 Quasar-friendly ThreadLocal solution (#2594)
* Use FastThreadLocalThread in fiber scheduler
* Test that thread locals aren't serialized
2018-02-27 10:22:30 +00:00
Thomas Schroeter
147f46fbf4
[CORDA-1119] Sign in DB transaction (#2645) 2018-02-27 10:00:30 +00:00
Andrius Dagys
0adc203d7a CORDA-696: Fix conflict resolution error, fix filename type 2018-02-27 09:48:39 +00:00
Andrius Dagys
59a6ced423 CORDA-696: Fix incorrect merge conflict resolution, fix filename typo 2018-02-26 18:48:20 +00:00
Andrius Dagys
9814ea6f34 Merge branch 'master' into andrius-merge-02-26 2018-02-26 18:41:20 +00:00
cburlinchon
60c44a0358
CORDA-998 Add suspend and resume functionality to Node (#461)
* Add suspend and resume functionality to Node to stop minimum number of services(P2PMessaging, RPCMessaging, NodeScheduler, StateMachine and BridgeManager)
2018-02-26 11:56:02 +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
Patrick Kuo
1552e992e7
ENT-1443 Add cert role to CSR and doorman issue cert according to the cert role (#2620)
* ENT-1443 Add cert role to CSR and doorman issue cert according to the cert role (#431)

* Doorman and HSM create certificate base on requested cert role specified in the certificate signing request.

(cherry picked from commit 94f7392)

* remove R3 corda code
2018-02-23 13:38:09 +00:00
Andras Slemmer
f5167e207f Merge remote-tracking branch 'origin/master' into aslemmer-merge-19-Feb 2018-02-23 11:18:16 +00:00
Patrick Kuo
94f73920cc
ENT-1443 Add cert role to CSR and doorman issue cert according to the cert role (#431)
* Doorman and HSM create certificate base on requested cert role specified in the certificate signing request.
2018-02-23 10:57:59 +00:00
Shams Asari
2af0feee04
Various cleanup of the network map code (#2604) 2018-02-23 09:13:00 +00:00
Michele Sollecito
e91b74962b
[CORDA-1098]: Fixed Artemis filters for flows draining mode. (#2613) 2018-02-22 20:45:56 +00:00
Michele Sollecito
5db4882668
[CORDA-1089]: Ensure graceful error message is shown on node startup if RPC settings are invalid. (#2595) 2018-02-22 09:47:56 +00:00
igor nitto
731cb1b67e
Remove unused occurrences of 'exportJMXto' (#2588) 2018-02-21 19:05:55 +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
68c2dd16d9 Remove spurious logline 2018-02-20 17:09:48 +00:00
Andras Slemmer
a548942a0a Merge remote-tracking branch 'origin/master' into aslemmer-merge-19-Feb 2018-02-20 16:12: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
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
Christian Sailer
81801d4566
Graphite reporter polish (#465)
* Improve generation of default graphite prefix and add an sanitatization for all graphite prefixes (including warning if a custom name needs to be changed)

* Convert graphite rates to per second

* Code review: make it IPv6 safe
2018-02-20 11:04:08 +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
Mike Hearn
c704ff6370 Fix a build issue caused by a bad auto-import. 2018-02-19 16:58:28 +01:00
Andras Slemmer
32bcf0a06c Address more comments 2018-02-19 15:16:12 +00:00
Andras Slemmer
7f1bfac8b0 Write better test for dupes 2018-02-19 14:53:28 +00:00
Shams Asari
71c94f8a9d
Reversing the introduction of GlobalProperties (by CORDA-961), and added NetworkParameters to ServicesForResolution instead. (#2563)
Also, replaced the maxTransactionSize parameter of the driver and MockNetwork with NetworkParameters.
2018-02-19 12:23:59 +00:00
Clinton Alexander
003e14ce57 Added a helpful error log when validating keystores. 2018-02-16 16:54:16 +00:00
Andrius Dagys
5b93abdc57
CORDA-1010: Send a request signature in addition to a transaction to the notary (#2527)
CORDA-1010: Notary flow - clients now send a signature over a notarisation
request in addition to the transaction. This will be logged by the notary
to be able to prove that a particular party has requested the consumption
of a particular state.
2018-02-16 16:14:06 +00:00
Matthew Nesbit
fee89c044f
Enhance the pluggability of the bridging and messaging code, so that more complex HA and out of process bridges can be written. (#2558) 2018-02-16 16:13:05 +00:00
Michal Kit
7c415b7126
Adding small fixes to the code. (#456)
* Adding small fixes to the code.

* Addressing review comments
2018-02-16 11:23:40 +00:00
igor nitto
ed0cf91946
Start Jolokia agents if configured without modifying JVM options [CORDA-1042] (#2541)
* Jolokia agents are loaded dynamically if configured
* Renamed exportJmxTo (never used) to jmxMonitoringHttpPort and take it from config
* Updated documentation and tests
2018-02-15 17:10:07 +00:00
Shams Asari
2864ce1384
ENT-1519: Ensure NodeInfo always has at least one address by checking in the c'tor (#2538)
Further, the look up of the node's own node-info from its database has been tightened to ensure there isn't more than one.

Also fixed some brittle code which was assuming exactly one address rather than at least one.
2018-02-15 14:06:41 +00:00
cburlinchon
311475a81c Switch to using our own quasar fork with thread leak fix (#2443)
* Switch to using our own quasar fork with thread leak fix

* Update quasar.jar in lib

* Review changes

* Bump to 3.0.7
2018-02-14 17:32:00 +00:00
Andras Slemmer
6a4f783106 Hack around database-with-observables issue 2018-02-14 17:30:32 +00:00
Anthony Keenan
3e8d76334e
CORDA-939 Modify Api Scanner to check api for internal exposures (#2510)
* Update check api changes to look for internals

* Update several more uses of internal

* Make check-api-changes script filter out internal class usages

* Make CordaClock part of API

* Update api-current.txt

* Remove exclusion of nodeapi.internal

* Remove access to CordaPersistence from public api

* Don't expose DB Connection from StartedMockNode and remove unnecessary transaction from CustomVaultQueryTest

* Make internal tests that use need db access use InternalMockNetwork

* Make test certificates internal

* Address further review comments

* Revert some accidental changes to api-current.txt

* Address Shams' review comments

* Update Api Scanner to filter out CordaInternal attribute

* Update api-current.txt

* Remove superfluous brackets

* Add transaction to StartedMockNode

* More leaky transaction fixes
2018-02-14 16:42:56 +00:00
Andras Slemmer
81b16776f3 Fix RPC observation vs reply ordering 2018-02-14 15:16:59 +00:00
Clinton
174ed3c64b
CORDA-556: Added Cordapp Config and a sample (#2469)
* Added per-cordapp configuration 
* Added new API for Cordformation cordapp declarations to support per-cordapp configuration
* Added a cordapp configuration sample
2018-02-14 14:49:59 +00:00
Andras Slemmer
faa199c2f6 Expose state machine options, default OnNextCommit persistence 2018-02-14 14:49:32 +00:00
Andras Slemmer
7924a5a834 Add RPC deduplication to client and server 2018-02-13 18:51:59 +00:00
Rick Parker
ef45900fda
ENT-1391 Create P2P message de-duplication fast path. (#443) 2018-02-12 18:48:34 +00:00
Michele Sollecito
da591363fd
CORDA-990: Flows Draining Mode (#2483)
[CORDA-990]: Flows draining mode.
2018-02-12 16:13:43 +00:00
Joel Dudley
ad7b84b5a8
Removes IdentityServiceInternal as a public parameter to MockServices. 2018-02-12 13:30:47 +00:00
Michal Kit
d1627fed5b Backporting introduction of constants for the dev certs from enterprise (#2502) 2018-02-12 12:12:16 +00:00
Andras Slemmer
cfc90a221b CORDA-1003: Fix duplicate detection on cache evict 2018-02-09 18:23:42 +00:00
Andras Slemmer
d072f6c275
Merge pull request #2490 from corda/aslemmer-r3corda-compatibility
CORDA-995: r3corda wire compatibility
2018-02-09 17:12:18 +00:00
Andras Slemmer
d01b2cbe97 Address comments, fix test 2018-02-09 16:03:36 +00:00
Andras Slemmer
0a88b76e46 r3corda wire compatibility 2018-02-09 14:50:20 +00:00
Patrick Kuo
c8cf46c657
CORDA-961 Wire up and enforce max transaction size (#2465)
* wire up and enforce max transaction size

* fixup after rebase
moved network parameter from AbstractNode to NodeProperties

* removed TODO

* fix broken import

* address PR issues

* remove API breaking change
address PR issue

* added max transaction size to driver and mock network.
address PR issues

* fix failing test

* added TODO

* fix verifier test

* fix spring driver build error
2018-02-09 14:48:45 +00:00
Andrzej Cichocki
1902a4f11e
CORDA-973 Refactoring for serialization compression support (#2466)
* Use constant for empty byte array
* Less byte array copying
* Fix InputStreamSerializer trailing garbage
* More OO kryo streams
* Introduce SerializationMagic
* Introduce non-copying slice on ByteSequence
2018-02-09 11:54:07 +00:00
Katarzyna Streich
6acff3a7df
First approach to network parameters updates (#2412)
* Network parameters updates

Add two RPC methods networkParametersFeed and
acceptNewNetworkParameters. Implementation of client handling of network
parameters update event. Partial implementation of accepting new
parameters and installing them on the node as well as node startup with
updated parameters.

Move reading of network parameters on startup to separate
NetworkParametersReader class. Add tests.

Move NetworkParameters and NotaryInfo classes to core.

* Ignore evolvability test - to be fixed later

* Add documentation on update process
2018-02-08 14:31:43 +00:00
Michal Kit
8c5f0ac0ca
Making BasicConstraints a critical extension (#420)
Path length will be decided in another ticket - https://r3-cev.atlassian.net/browse/ENT-1508
2018-02-08 14:30:20 +00:00
Michele Sollecito
3b5d89883d
Added basic node configuration validation. (#2433) 2018-02-05 18:17:54 +00:00
Maksymilian Pawlak
45ff60fccc
Init CRaSH shell only when it's really needed (#2448)
* Avoid initializing CraSH if its not to be used
2018-02-05 14:01:38 +00:00
josecoll
8e2524f35d
CORDA-977 PK constraint violation when up adding Mapping to DBTransactionMapping store (#2457)
* Default jolokia version with optional override in CorDapp project gradle file.

* Tolerate duplicates to prevent a PK violation.
2018-02-02 17:33:35 +00:00
Mike Hearn
82ece34ac8
Tweak the way invocation context is integrated to reduce the pain for devs using the old API (#2447)
Minor tweaks to the invocation context code.

1) Un-deprecate FlowInitiator, move the deprecation to the field. This
   eliminates large numbers of warnings and means developers are warned
   only once in the place where they obtain one.

2) Add documentation for StateMachineInfo and create a type alias to give
   it a better name in an ABI compatible way.

3) Improve markup on InvocationContext

4) Rename field from just "context" to "invocationContext" (Context is vague)
2018-02-02 17:09:08 +01:00
Patrick Kuo
258b562e16
set network registration poll interval via http cache control header (#434) (#2445)
* set network registration poll interval via http cache control header from the server side

* default poll interval to 10 seconds if cache header not found

* address PR issues

* address PR issues

(cherry picked from commit dca8699)
2018-02-01 15:18:53 +00:00
Andras Slemmer
92cf91c0b0
Merge pull request #159 from corda/aslemmer-multi-threaded-sm
Multi-threaded SMM
2018-02-01 14:24:17 +00:00
Patrick Kuo
dca8699e7c
set network registration poll interval via http cache control header (#434)
* set network registration poll interval via http cache control header from the server side

* default poll interval to 10 seconds if cache header not found

* address PR issues

* address PR issues
2018-02-01 13:38:25 +00:00
Andras Slemmer
b71f0c49fb Multi threaded state machine 2018-01-31 18:13:25 +00:00
Matthew Nesbit
7f58afc7ca Merge remote-tracking branch 'remotes/open/master' into mnesbit-merge-20180131 2018-01-31 10:37:44 +00:00
Matthew Nesbit
ceff50d656
Refactor location of bridge code to allow out of process bridging (#2431)
Fix some issues Andras has seen
2018-01-30 16:29:59 +00:00
Patrick Kuo
1c77736d50 merge os to enterprise 2018-01-30 14:00:22 +00:00
szymonsztuka
1ecf646f7e
Oracle 11xe and 12c database compatibility (#206)
* Sql setup scripts for Oracle and datasource configuration.
* CashSelection for Oracle.
* Workaround of forbidden distinct for BLOBs.
* ojdbc8.jar driver dependency from Oracle Maven repository, ojdbc6.jar from lib (it's not in Maven repo).
* allow to use random Port in node names and trim it from schema name, remove schema with port numbers from db setup (to cater for new test, non Oracle specific change) 
* Removed unnecessary code from ConfigUtilities (non Oracle specific change) 
* Removed db integration tests setup for RPCStabilityTest as it doesn't start any nodes
2018-01-29 18:35:58 +00:00
Patrick Kuo
685ab4c9b0
Add trace logging to network map client (#2424)
* Add trace logging to network map client

* Add trace logging to network map client

* address PR issue

* address PR issue
2018-01-29 17:44:28 +00:00
Patrick Kuo
93054a9590
Add cmdline option for network root truststore and password (#2407)
* add cmdline option for network root truststore and password, instead of using node's truststore configuration to avoid confusion.

* revert line auto format

* fix failing integration test

* address PR issue
2018-01-29 13:43:16 +00:00
Rick Parker
e19f51d9ac
CORDA-959 Filter unschedules and remove database activity from inside mutex. (#2426)
* Filter unschedules and remove database activity from inside mutex.

* Race condition fix

* Bug fix
2018-01-26 17:44:42 +00:00
Matthew Nesbit
054c44d4bc Merge from OS to ENT including Bridge manager work 2018-01-26 16:55:43 +00:00
Thomas Schroeter
4257891c98
Revert "Raft Notary: remove snapshotting" (#2423)
This reverts commit cf33be66ff.
2018-01-26 16:23:59 +00:00
Andrius Dagys
e357a88181
Deprecate TimeWindowChecker, make TimeWindowInvalid report exact current time and transaction time window (#2280)
* Make notary service return the current time and the transaction time window
along with the TimeWindowInvalid error.

Deprecate TimeWindowChecker.
Add a static method for validating transaction time window to reduce code duplication.
2018-01-26 09:32:11 +00:00
Matthew Nesbit
0ff9c9e2e3
Move to message based bridge control protocol (#2410)
Tidy up

Remove dead RPCSecurity logic from ArtemisMessageServer

Address PR comments

Address PR comments
2018-01-25 17:53:34 +00:00
Shams Asari
4b86362391 Merge remote-tracking branch 'open/master' into shams-os-merge-250118
# Conflicts:
#	client/rpc/src/integration-test/kotlin/net/corda/client/rpc/BlacklistKotlinClosureTest.kt
#	client/rpc/src/integration-test/kotlin/net/corda/client/rpc/RPCStabilityTests.kt
#	core/src/test/java/net/corda/core/flows/FlowsInJavaTest.java
#	docs/source/changelog.rst
#	docs/source/corda-configuration-file.rst
#	docs/source/upgrade-notes.rst
#	finance/src/test/kotlin/net/corda/finance/contracts/CommercialPaperTests.kt
#	finance/src/test/kotlin/net/corda/finance/contracts/asset/CashTests.kt
#	gradle/wrapper/gradle-wrapper.properties
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/KeyStoreConfigHelpers.kt
#	node-api/src/test/kotlin/net/corda/nodeapi/internal/serialization/SetsSerializationTest.kt
#	node/src/integration-test/kotlin/net/corda/node/AuthDBTests.kt
#	node/src/integration-test/kotlin/net/corda/node/BootTests.kt
#	node/src/integration-test/kotlin/net/corda/node/NodeKeystoreCheckTest.kt
#	node/src/integration-test/kotlin/net/corda/node/NodePerformanceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/SSHServerTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.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/network/PersistentNetworkMapCacheTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/statemachine/FlowVersioningTest.kt
#	node/src/integration-test/kotlin/net/corda/node/utilities/registration/NodeRegistrationTest.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/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt
#	node/src/main/resources/reference.conf
#	node/src/test/java/net/corda/node/services/vault/VaultQueryJavaTests.java
#	node/src/test/kotlin/net/corda/node/CordaRPCOpsImplTest.kt
#	node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt
#	node/src/test/kotlin/net/corda/node/services/network/NetworkMapCacheTest.kt
#	node/src/test/kotlin/net/corda/node/services/persistence/DBCheckpointStorageTests.kt
#	samples/attachment-demo/src/integration-test/kotlin/net/corda/attachmentdemo/AttachmentDemoTest.kt
#	samples/network-visualiser/src/main/kotlin/net/corda/netmap/NetworkMapVisualiser.kt
#	samples/notary-demo/src/main/kotlin/net/corda/notarydemo/RaftNotaryCordform.kt
#	samples/simm-valuation-demo/src/integration-test/kotlin/net/corda/vega/SimmValuationTest.kt
#	testing/node-driver/src/integration-test/kotlin/net/corda/testing/driver/DriverTests.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/InMemoryMessagingNetwork.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockNode.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/NodeTestUtils.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/NodeBasedTest.kt
#	testing/smoke-test-utils/src/main/kotlin/net/corda/smoketesting/NodeProcess.kt
#	testing/test-utils/src/main/kotlin/net/corda/testing/internal/TestNodeInfoBuilder.kt
#	tools/explorer/src/main/kotlin/net/corda/explorer/ExplorerSimulation.kt
#	verifier/src/integration-test/kotlin/net/corda/verifier/VerifierTests.kt
#	webserver/src/integration-test/kotlin/net/corda/webserver/WebserverDriverTests.kt
2018-01-25 17:51:13 +00:00
Andrzej Cichocki
242d9cf7ad
CORDA-692 Don't include internal packages in API documentation (#2415)
* Use G1 for gradle daemon
2018-01-25 15:26:13 +00:00
Michele Sollecito
9783f11ba8
Exposed RPC SSL settings through Cordformation (#2419) 2018-01-25 14:32:58 +00:00
igor nitto
1be4f0950d
Remove compile time dependency on JDBC drivers [ENT-1363] (#387)
* Change JDBC drivers dependencies to integrationTestRuntimeOnly
* Added smoke test validating JDBC driver registration located in "./plugins" directory 
* Some docsite tweaks
2018-01-25 13:38:51 +00:00
Shams Asari
0fa6969d5d
Added various X509 utilities to remove some of the existing boilerplate. (#2416) 2018-01-24 18:07:29 +00:00
Ben Wyeth
d17670c747 Provide an API to register callback on app shutdown (#2402)
Provide an API to register callback on app shutdown.
2018-01-24 16:19:24 +01:00
Michele Sollecito
3c0e006456
Reverted incorrect additional advertised RPC address in NodeInfo (#2417) 2018-01-24 14:42:07 +00:00
Tudor Malene
cef1f9885c
ENT-1282: create standalone db migration tool (#356)
* ENT-1282: add standalone db migration tool that works with both the node and the doorman

* ENT-1282: remove cmd line args during node startup

* ENT-1282: more clear message

* ENT-1282: fix integration test

* ENT-1282: more fixes and cleanup code

* ENT-1282: address PR comments

* ENT-1282: more fixes and refactoring

* ENT-1282: more classloader fixes

* ENT-1282: changes after demo feedback

* ENT-1282: update API

* ENT-1282: update documentation

* ENT-1282: formatting

* ENT-1282: added CONSOLE option for dry-run and logging

* ENT-1282: documentation changes

* ENT-1282: remove getMigrationResource from the public API

* ENT-1282: removed dependency on network-manager, added release-lock

* ENT-1282: Update documentation
2018-01-24 11:55:43 +00:00
Shams Asari
61c7de22d6
Replaced KeyStoreWrapper with X509KeyStore, which is still a wrapper but assumes only X509 certs and has better APIs (#2411) 2018-01-24 07:51:55 +00:00
Joel Dudley
5df50c0e81
Fixes a bug in the deserialisation of UniqueIdentifiers in the CRaSH shell. 2018-01-23 17:28:24 +00:00
Thomas Schroeter
a564c9bfd3
Notary metrics (#383)
* Track the distribution of the number of input states

* Log number of input states and commit duration

...and move the rollback

* Update schema
2018-01-23 16:24:51 +00:00
Michele Sollecito
142f52fa82
[CORDA:936]: Enable RPC layer to work with SSL 2018-01-23 16:23:37 +00:00
Tudor Malene
c81e597199
Fix liquibase files after node split (#393) 2018-01-23 15:06:21 +00:00
josecoll
d2795954cb
Merge pull request #379 from corda/colljos-schema-split-for-notaries
CORDA-917 Bootstrap nodes without Notary schemas
2018-01-23 09:16:39 +00:00
Christian Sailer
013ac82dde
ENT-1412 flow state machine metrics (#390)
* re-add metrics for flows started, flows finished and checkpoint rate
Add metric for checkpoint volume rate.

* Put error and success counters in FlowStateMachine

* Optional graphite metrics writer

* Improved checkpoint volume metrics.

* Code review: Clean up/layout.

* Code review: spelling
2018-01-23 09:15:09 +00:00
josecoll
00a7172e4b Resolve conflict after merge from master. 2018-01-22 14:39:29 +00:00
josecoll
4bff002b41 Merge branch 'master' into colljos-schema-split-for-notaries 2018-01-22 14:36:27 +00:00