Commit Graph

1765 Commits

Author SHA1 Message Date
Shams Asari
53a0aae489
Introduced a few helper methods around InputStream.readBytes (#2928) 2018-04-05 14:27:42 +01:00
Viktor Kolomeyko
9a1c27e3e0
Improve performance of NodeStatePersistenceTests (#2921)
Packages re-jig was meant to reduce the size of the jars that are being produced by the
node driver. E.g. previously `MessageState` was in package `net.corda` which resulted in jar file
of around 2MB to be created. Same for `NodeStatePersistenceTests` which was in `net.corda.node`
2018-04-05 09:33:03 +01:00
szymonsztuka
c998968e58
Update RpcExceptionHandlingTest tests introduced by CORDA-1264 (#2916) 2018-04-04 14:35:51 +01:00
szymonsztuka
7ec65901b6 Corda-1286 Fix embedded shell when rpc users from remoted database (#2910) 2018-04-03 19:13:41 +01:00
Viktor Kolomeyko
1f5559e3c4
Speed-up NodeRegistrationTest (#2873)
* Improve logging for NetworkMap requests

* Allow interrupt in polling if the process started successfully

* Put `advertiseNewParameters` back

* Additional log line to indicate when all the nodes are started

* Improve logging and use concurrent map since it is updated from multiple threads

* Change NetworkMap response validity duration and rename parameter accordingly

* Changes following code review from @shamsasari
2018-04-03 17:33:42 +01:00
Shams Asari
65ff214130
CORDA-1276: Cleaned up creation of node-info object on node start and when using --just-generate-node-info (#2909) 2018-04-03 17:30:53 +01:00
Andras Slemmer
ef723b1b68 CORDA-1295: Use ConcurrentHashMap instead of synchronised multimap 2018-04-03 12:06:59 +01:00
Andras Slemmer
6d5e08b44e CORDA-1295: Clean up client->observable association on observable finish 2018-04-03 11:43:17 +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
Andrzej Grzesik
2863f8403b
CORDA-1277 Remove double quotes from keys in reference.conf
CORDA-1277 Remove double quotes from keys in reference.conf
2018-03-29 09:15:30 +01:00
Katarzyna Streich
d2b7f8b91f
ENT-1686: Improve error message on parameters mismatch (#2891)
Improve error message on parameters mismatch
2018-03-28 16:48:56 +01:00
ags
43ead64240
updating docs 2018-03-28 15:54:58 +01:00
Katarzyna Streich
2e4b223bd8
ENT-1668: Don't crash on node startup when network map is not available (#2887)
Fix ENT-1668

Don't crash on node startup when network map is not available
2018-03-28 15:42:39 +01:00
ags
51567e944d
detect quotes in config keys 2018-03-28 15:23:12 +01:00
Shams Asari
768dd32417
ENT-1663 - Inclusion of the cert path and root cert in the exception message when cert path validation fails. (#2890)
Also, added check to node startup that --initial-registration cannot occur in devMode
2018-03-28 15:18:50 +01:00
ags
e60b816b19
double quotes in reference conf confuse people 2018-03-28 14:28:55 +01:00
Michele Sollecito
36f02ff4b4 [CORDA-1267]: Making Corda's JPA classes non-final and Serializable. (#2882)
* Making Corda's JPA classes non-final and Serializable.

* Making Corda's JPA classes non-final and Serializable.

* Making Corda's JPA classes non-final and Serializable.

* Making Corda's JPA classes non-final and Serializable.
2018-03-28 08:40:28 +01:00
szymonsztuka
4269e4a02e
DrainingMode integration tests - explicit node names, changed column names of a test table. (#2879)
Align DrainingMode integration tests (related to CORDA-1243) with Enterprise repo.
2018-03-27 14:00:28 +01:00
Anthony Keenan
329fa94a09
CORDA-1002 Add node scheduler persistence tests (#2860)
* Add node scheduler persistence tests

* Kill the scheduler threads after node scheduler tests

* Address review comments
2018-03-26 14:48:58 +01:00
Tudor Malene
7978910e0b
ENT-1633 increase node max heap size to 512m (#2851) 2018-03-26 13:41:37 +01:00
Michele Sollecito
975b81c2c4
[CORDA-1243]: Avoid drain-related deadlocks between 2 nodes. (#2866) 2018-03-23 11:45:19 +00:00
Shams Asari
620ba1e8a2
Integration test for network parameter updates and improved logging (#2863) 2018-03-22 14:08:07 +00:00
renlulu
7ce8d7a878 SUBMISSION - Remove repeated code (#2864) 2018-03-22 13:45:02 +00:00
igor nitto
91cda5f18a
Reintroduce accidentally removed RPC addresses print (#2857) [CORDA-1244] 2018-03-21 14:21:09 +00:00
Michele Sollecito
ce8771900e
[CORDA-1235]: Prevent out of order consumption of initiation vs subsequent messages (#2850) 2018-03-21 11:24:53 +00:00
szymonsztuka
f1ac3c39e9
ENT-1634 Fix Primary Key generation for node_notary_request_log table (#2855)
Don't assign a value as it's auto generated, remove redundant default value for GeneratedValue strategy.
2018-03-21 09:41:50 +00:00
igor nitto
8591ae2dc9
CordApps back in node classpath (#2843) [CORDA-1232] 2018-03-19 14:34:02 +00:00
Michele Sollecito
7a077e76f0
CORDA-1099: Orchestrated clean shutdown from Shell (#2831) 2018-03-19 14:20:10 +00:00
Shams Asari
327d7d8acf
Added sign helper method to CertificateAndKeyPair for producing SignedDataWithCert objects (#2841) 2018-03-19 12:47:23 +00:00
bpaunescu
dc595792e7
github issue #2630: missing rpc info at node startup (#2839) 2018-03-16 17:14:25 +00:00
igor nitto
286d1e5add
Propagate cordApp classloader to shell [CORDA-1228] (#2833) 2018-03-16 13:28:04 +00:00
Andrius Dagys
180abcb462 CORDA-1208: Remove unnecessary annotation from entity 2018-03-16 09:08:29 +00:00
Andrius Dagys
e31d2b0cad
CORDA-1208: Notary service should persist the notarisation request si… (#2823)
* CORDA-1208: Notary service should persist the notarisation request signature along with the committed input states.

This required modifying the uniqueness provider interface to accept the signature in addition to input states.
Until now the committed state log used to be stored as a map of (state reference -> (tranasction id, consuming party)).
Adding the serialized signature would mean inflating each state entry by around 700 bytes, which would be grossly inefficient.
Instead, two tables are now used: one for storing (state referece -> transaction id) map, and another for storing the notarisation
request details (transaction id, consuming party, date, signature).

* Update api - all of these changes are only related to custom notaries
2018-03-15 13:29:42 +00:00
Tudor Malene
88c5ab8870 Feature/corda 1219/remove out of process verifier (#2820) 2018-03-15 09:57:59 +00:00
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
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
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
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
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
Andrius Dagys
a3bf4577f3 CORDA-696 - Ensure deterministic transaction id calculation for contra… (#2676)
The problem with the previous implementation is that the transaction would be deserialized with the schema specified
in the serialized form, but the calculation of the id would involve re-serializing properties using a local serialization context
which might produce a different result.
2018-03-09 14:39:31 +00:00
ags
ca54ed611c
addressing review remarks 2018-03-08 09:06:12 +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
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
f483763249
Fixed unrecognized property jarDirs in node configuration. (#2748) 2018-03-06 16:54:01 +00:00
Konstantinos Chalkias
4121f70da3
CORDA-1175 Docs numbering issue and counterparty consistency. (#2744) 2018-03-06 14:22:38 +00:00
Matthew Nesbit
81f4bbcaf3
Fix flaky bridge test and an associated deadlock during rollback in the BridgeManager code. (#2739) 2018-03-06 10:49:29 +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
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
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
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
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
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
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
Andrzej Cichocki
4d4253a287
CORDA-1124 Fix thread leak in generateAndSaveNodeInfo (#2659) 2018-02-27 15:43:41 +00:00
Christian Sailer
0ff37c0437
CORDA-1122 Switch AMQP bridge to use auto-commit sends and acks (#2661)
* CORDA-1122 Switch AMQP bridge to use auto-commit sends and acks

* CORDA-1122 Codereview: Add comment for extra commit to rollback and add better message sequence logging to tricky test
2018-02-27 15:25:58 +00:00
Andrzej Cichocki
3abe6888cf
Fix typo. (#2657) 2018-02-27 12:36:44 +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
Chris Rankin
9da3a8ee05
[ENT-1552] Delete temporary truststore once the test is complete. (#484) (#2634) 2018-02-26 17:11:10 +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
Christian Sailer
a483e7e8ce
CORDA-1096 - Performance when loading multiple states from the vault (#2614)
* CORDA-1096 - Performance when loading multiple states from the vault (#2609)

* Provide efficient `loadStates()` implementation

* Replace loops using `loadState` with calls to `loadStates`

* Replace `map`/`flatMap` with just a single `flatMap`
2018-02-26 09:37:32 +00:00
Michele Sollecito
5be0e4b39e
[CORDA-941]: Add NetworkParameters contract implementation whitelist. (#2580) 2018-02-23 14:29:02 +00:00
Shams Asari
977836f4eb
Enable tests which were ignored due to recent flakiness on TC and issue with maxTransactionSize which should now be resolved. (#2621) 2018-02-23 13:45:18 +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
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
68c2dd16d9 Remove spurious logline 2018-02-20 17:09:48 +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
Mike Hearn
c704ff6370 Fix a build issue caused by a bad auto-import. 2018-02-19 16:58:28 +01:00
Mike Hearn
4f0c692831 Minor: reduce the size of the MockNetwork API a bit, add some better documentation 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
igor nitto
458db7cb24
Cleanup build (#2551)
* Remove compile-time dependencies on jolokia-war from webserver 
* Stop exporting jolokia version to all projects, it is only used by node
2018-02-16 12:17:46 +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
Maksymilian Pawlak
ae63de34ad
Run H2 fix test in parallel (#2504)
* Parallel execution for reduced test time
2018-02-15 12:22:31 +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
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