Commit Graph

1448 Commits

Author SHA1 Message Date
Christian Sailer
2a83167d3b
Merge pull request #2024 from corda/christians_public-key-caching-hooks
Public key customization hooks
2017-11-10 13:37:37 +00:00
Christian Sailer
52dea9e5c3
Merge pull request #1958 from corda/christians_nodeconfig-fix
Add helper for checking whether to check checkpoints and unit test it.
2017-11-10 11:28:13 +00:00
Andrzej Cichocki
6b71c6cf75
Retire some initialiseSerialization booleans. (#2019) 2017-11-10 10:15:55 +00:00
Christian Sailer
219433c3cd Hooks for PublicKeySerializer 2017-11-09 14:49:23 +00:00
bpaunescu
7d1f7ab53d
CORDA-296: added rpc that returns an observable for node state (#2004)
* CORDA-296: added rpc that returns an observable for node state; used to let rpc clients know that the know is about to shut down

* replaced node shut down observation String with enum
2017-11-08 12:44:10 +00:00
Andrzej Cichocki
a036a6300c
Enforce serialization API for Java. (#2014) 2017-11-08 11:49:52 +00:00
Shams Asari
117261caa4 Retired getDefaultNotary test extension method.
Most uses where with MockNetwork which recently got a defaultNotaryIdentity property for dealing with the default single notary case. The remaining uses where in flows.
2017-11-07 21:20:43 +00:00
Shams Asari
e26e41a384 Various structural cleanups of node-driver:
* Extracted out ShutdownManager into its own file
* Moved RPCDriver and ProcessUtilities into internal package
* Made n.c.testing.performance package internal
2017-11-07 16:58:40 +00:00
Katarzyna Streich
deaba2887d
Some cleanup after network map removal (#2006) 2017-11-07 12:16:49 +00:00
Shams Asari
a4be26a296 Removed unnecessary calls to MockNetwork.runNetwork (b/c there is no more P2P node registration) and removed redundant entries in cordappPackages 2017-11-06 21:28:20 +00:00
Andrzej Cichocki
00a9014852
CORDA-716 Rename one TestClock to DemoClock, and unduplicate code (#1988) 2017-11-06 11:13:56 +00:00
Shams Asari
3bb018a5ce Removed the ability to manually start notary nodes from the driver and MockNetwork. Instead by default a single notary is automatically started. This can be customised at creation time of the driver and MockNetwork. This more accurately models the concept of network parameters in a CZ.
Also added helper methods to retrieve this default notary.
2017-11-05 22:55:33 +00:00
Alberto Arri
9be37c2b88
Remove useless call to waitUntilNetworkReady within driver started nodes (#1998)
Remove usages of waitUntilNetworkReady in conjunction with driver
2017-11-03 14:27:46 +00:00
Patrick Kuo
22453204ed
move node info schema to internal package (#1976) 2017-11-03 11:30:29 +00:00
Shams Asari
d04e48740b Introducing network parameters.
network-parameters file read in by the node at startup, of which only the list of notaries is used. For now, the driver and MockNetwork have been updated to require notaries to be started first. This is so that the same set of network parameters can be defined for all the nodes.

CN in the legal name is not longer disallowed since it's no longer reserved for distributed notary names.

Single-node notaries now only have one identity, their main identity. Nodes part of a cluster continue to have two.

(Based off Kasia's work)
2017-11-03 09:46:10 +00:00
Alberto Arri
5490465750
[CORDA-446] Remove entities from netmap cache & friends (#1980)
* Remove PersistentNetworkMapService and related classes. They were part of the old network map node code.
2017-11-03 09:28:52 +00:00
Shams Asari
837e8800e8 Checking that the smoke tests don't have the node on their classpath. 2017-11-02 20:58:03 +00:00
Andrzej Cichocki
2e0e78e883
Retire DriverBasedTest. (#1986) 2017-11-02 16:56:08 +00:00
Michele Sollecito
d882f8871e
[CORDA-758]: Permissions are now checked for each RPC method. (#1985)
* Permissions are now checked for each RPC method.

* Fixed NodeMonitorModelTest

* Fixed IRSDemoTest
2017-11-02 15:09:49 +00:00
Alberto Arri
a21d361df8
Clean up mentions of nodeReady future and friends from MockNetwork/Driver (#1979)
* Clean up mentions of nodeReady future and friends from MockNetwork/Driver
2017-11-02 10:31:31 +00:00
Alberto Arri
00e682a544
[CORDA-446] Clean up other mentions of network map node and logic (#1974)
* [CORDA-446] Clean up other mentions of network map node and logic

* Rename AbstractNetworkMapService to NetworkMapService and remove the empty NetworkMapService

* fix build

* fix artemismessaging tests

* pr comments
2017-11-01 14:25:48 +00:00
Katelyn Baker
86d273f2ef
Merge pull request #1955 from corda/feature/kat/refactorKryo
Refactor Kryo into sub module just like AMQP
2017-11-01 10:16:11 +00:00
Andrzej Cichocki
6b2b663ab3
CORDA-716 Retire MockNetwork.Factory (#1937) 2017-10-31 17:10:37 +00:00
Katelyn Baker
d6adb83cd0 CORDA-756 - Refactor Kryo into sub module as per AMQP 2017-10-31 15:45:58 +00:00
Shams Asari
6ebba9dea1 Removed the startNotary methods from NodeBasedTest, and moved it into an internal package
This commit is in preparation for the upcoming network parameters work.
2017-10-31 11:49:33 +00:00
Andrzej Cichocki
4b0b13dad4
CORDA-716 Retire TestDependencyInjectionBase (#1939) 2017-10-31 10:21:38 +00:00
Christian Sailer
bad31658fb Fix whitespace 2017-10-30 13:49:08 +00:00
Christian Sailer
3f43d8ad21 Add helper for checking whether to check checkpoints and unit test it. 2017-10-30 11:55:04 +00:00
Alberto Arri
9176fcb8e6
Remove for good network map service node (#1942)
* [CORDA-446] Kill network map registration and fix NodeBasedTest
2017-10-30 11:45:52 +00:00
Andrzej Cichocki
05d6fb91c7
Reinstate Simulation config overrides for notary. (#1947) 2017-10-30 11:41:53 +00:00
Shams Asari
cde1587ac7 Cleaned up devModeOptions 2017-10-28 13:26:06 +01:00
Christian Sailer
862b908dd9 Merge branch 'master' of https://github.com/corda/corda into christians_checkpoint_checker_thread
# Conflicts:
#	node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt
#	node/src/test/kotlin/net/corda/node/services/config/FullNodeConfigurationTest.kt
2017-10-27 15:33:00 +01:00
Christian Sailer
5b5a4bd2e4 Code rewiew: turn dev mode options into a data class 2017-10-27 15:13:00 +01:00
Alberto Arri
a0b9768be7 Retire FullNodeConfiguration (#1954)
* Retire FullNodeConfiguration

* Moved logic and tests for Artermis user names in RPCUserServiceImpl
2017-10-27 14:30:10 +01:00
Christian Sailer
5440594afd Merge branch 'master' of https://github.com/corda/corda into christians_checkpoint_checker_thread 2017-10-27 14:14:09 +01:00
Christian Sailer
4a4500811f Code rewiew: reformat 2017-10-27 10:24:03 +01:00
Christian Sailer
79f080368b Code rewiew: constant naming 2017-10-27 09:37:39 +01:00
Alberto Arri
01f80fb187 remove outdated test (#1949) 2017-10-27 09:27:23 +01:00
Mike Hearn
428eb43abe Minor: add a discussion to recordTransactions.
Discuss the interaction between coin selection and observer nodes and
why it's designed the way it is.
2017-10-26 18:05:24 +02:00
Mike Hearn
d7e4aa1783 Add more formal support for observer/regulator nodes. This is a simplistic
approach which assumes a dedicated node for observers: states that are
reported to the node will appear in the database and update feeds as
normal. Apps that expect all updates to be relevant to themselves may
need adjusting if they run on an observer node too, but this is likely
to be rare.
2017-10-26 18:05:24 +02:00
Mike Hearn
1b4a5f3d4c Add a toString to FlowSessionImpl 2017-10-26 18:05:24 +02:00
Christian Sailer
170fde9d71 Code rewiew:
- add comments
- clearer variable names
- use constants instead of literal
2017-10-26 16:09:58 +01:00
Christian Sailer
d275ab41a8 Rename debugOptions to devModeOptions, extension method 2017-10-26 14:40:19 +01:00
Christian Sailer
0cbee046f9 Add extension method to check for flags devModeOptions, formatting 2017-10-26 14:36:24 +01:00
Christian Sailer
74595c65c9 Add optional debug options to config and allow to switch checkpointChecking off in dev mode 2017-10-26 14:03:16 +01:00
Christian Sailer
71fe0daa08 Give the checkpoint checker thread a meaningful name 2017-10-26 12:27:29 +01:00
bpaunescu
04d8260e0f CORDA-351: force update dependencies and suppress vulnerabilities not… (#1944)
* CORDA-351: force update dependencies and suppress vulnerabilities not affecting corda

* CORDA-351: force update dependencies and suppress vulnerabilities not affecting corda
2017-10-26 12:16:57 +01:00
Christian Sailer
a3be4d0dad Add extraPackages to NodePerformanceTest so it runs successfully 2017-10-26 11:47:37 +01:00
josecoll
5349d4f850 Standardisation of Public Keys in Schema entities. (#68) (#1936)
* Standardisation of Public Keys in Schema entities. (#68)

* Standardisation in usage of Public Keys in Schema entities.
Use PK Hash where optimal, otherwise use ByteArray/LOB representation of PK.

* Redundant after rebase.

* Use .encoded and Crypto.decode<Public|Private>Key(bytes) instead of Corda serialization.

* Optimize DBPartyAndCertificate entity to store and query on ownerKeyHash.

* Updated API stability check for schema attribute change.
2017-10-24 22:11:41 +01:00
Rick Parker
4b8590ef41 CORDA-736 Add some new features to corda.jar via node.conf for testing (#1926) 2017-10-24 16:49:47 +01:00
Andrzej Cichocki
927924498b Introduce MockNodeParameters/Args (#1923) 2017-10-24 11:58:32 +01:00
josecoll
7f6608deb5 Retrofit changes from Enterprise PR #61 (#1934) 2017-10-24 11:41:59 +01:00
Katelyn Baker
70a7eb8bae Merge pull request #1928 from corda/kat/amqp/amqpTestFix3
CORDA-435 - AMQP enablement fixes
2017-10-23 17:37:38 +01:00
Alberto Arri
b04368e36a [CORDA-442] make MockNetwork not start a networkmap node (#1908)
* [CORDA-442] make MockNetwork not start a networkmap node

Now MockNetwork will put the appropriate NodeInfos inside each running node networkMapCache.

Tests relating to networkmap node starting and interaction have been removed since they where relaying on MockNetwork
2017-10-23 16:50:53 +01:00
Katelyn Baker
2463cbd416 CORDA-435 - AMQP enablement fixes
AMQP has different serialization rules than Kryo surrounding the way we
introspect objects to work out how to construct them
2017-10-23 16:40:09 +01:00
Katelyn Baker
b73020a014 Merge pull request #1924 from corda/kat/amqp/amqpTestFix2
CORDA-435 - AMQP serialisation cannot work with private vals
2017-10-23 16:24:44 +01:00
Katelyn Baker
303acf715f CORDA-435 - AMQP serialisation cannot work with private vals
They won't be reported as properties by the introspector and thus we
will fail to find a constructor for them. This makes sense as we will be
unable to serialise an object whose members we cannot read
2017-10-23 15:08:30 +01:00
Patrick Kuo
01728e5a47 Network map service REST API wrapper (#1907)
* Network map client - WIP

* Java doc and doc for doc site

* remove javax.ws dependency

* NetworkParameter -> NetworkParameters

* move network map client to node

* Fix jetty test dependencies

* NetworkParameter -> NetworkParameters

* Address PR issues

* Address PR issues and unit test fix

* Address PR issues
2017-10-23 11:46:24 +01:00
Andras Slemmer
c66a84bfc6 Interface changes for multi-threading 2017-10-20 11:29:30 +01:00
Andras Slemmer
54f901c4fe move SMM 2017-10-20 11:27:37 +01:00
Andrzej Cichocki
005ce349a7 * Retire MockServiceHubInternal (#1909)
* Introduce rigorousMock
* Add test-utils and node-driver to generated documentation
2017-10-20 10:06:53 +01:00
Tomas Tauber
342090db62 Experimental support for PostgreSQL (#1525)
* Cash selection refactoring such that 3d party DB providers are only required to implement Coin Selection SQL logic.

* Re-added debug logging statement.

* Updated to include PR review feedback from VK

* Refactoring following rebase from master.

* Fix broken JUnits following rebase.

* Use JDBC ResultSet getBlob() and added custom serializer to address concern raised by tomtau in PR.

* Fix failing JUnits.

* Experimental support for PostgreSQL: CashSelection done using window functions

* Moved postgresql version information into corda/build.gradle

* Using a PreparedStatement in CashSelectionPostgreSQLImpl

* Changed the PostgreSQL Cash Selection implementation to use the new refactored AbstractCashSelection
2017-10-19 14:17:54 -07:00
Chris Rankin
2c84d07e8e CORDA-704: Implement @DoNotImplement annotation (#1903)
* Enhance the API Scanner plugin to monitor class annotations.
* Implement @DoNotImplement annotation, and apply it.
* Update API definition.
* Update API change detection to handle @DoNotImplement.
* Document the `@DoNotImplement` annotation.
2017-10-19 17:18:35 +01:00
Clinton
3dd09fd69b Cordformation in Kotlin (#1873)
Cordformation rewritten in kotlin.
2017-10-19 15:41:25 +01:00
Andrzej Cichocki
12fa945077 CORDA-680 Update cordapp packages documentation (#1901)
* Introduce MockNetworkParameters
2017-10-19 15:06:51 +01:00
Andrzej Cichocki
dfd90701a0 CORDA-599 PersistentNetworkMapCache no longer circularly depends on SH (#1652) 2017-10-19 11:19:55 +01:00
Andrzej Cichocki
b2454c646c Eliminate circular dependency of NodeSchedulerService on ServiceHub. (#1891) 2017-10-19 09:26:26 +01:00
Alberto Arri
b33b013284 [CORDA-442] let Driver run without network map (#1890)
* [CORDA-442] let Driver run without network map

- Nodes started by driver run without a networkMapNode.

- Driver does not take a networkMapStartStrategy anymore

- a new parameter in the configuration "noNetworkMapServiceMode" allows for a node not to be a networkMapNode nor to connect to one.

- Driver now waits for each node to write its own NodeInfo file to disk and then copies it into each other node.

- When driver starts a node N, it waits for every node to be have N nodes in their network map.

Note: the code to copy around the NodeInfo files was already in DemoBench, the NodeInfoFilesCopier class was just moved from DemoBench into core (I'm very open to core not being the best place, please advise)
2017-10-18 13:49:32 +01:00
Andrzej Cichocki
b4c53647cd CORDA-530 Don't soft-lock non-fungible states (#1794)
* Don't run unlock query if nothing was locked
* Constructors should not have side-effects
2017-10-18 13:40:57 +01:00
Viktor Kolomeyko
aa41120f6c Disable unstable test on Windows (#1899) 2017-10-18 11:20:51 +01:00
Viktor Kolomeyko
c621c7d123 Attempt to make NodeStatePersistenceTests more stable (#1895)
By ensuring that the nodes are properly started and aware of each other before firing any flows through them.
Also minor refactoring.
2017-10-18 09:14:03 +01:00
Shams Asari
3372e49898 Fixed the node shell to work with the DataFeed class 2017-10-17 12:27:01 +01:00
Ross Nicoll
63b7eb3f70 CORDA-654: Move from chooseIdentity() to singleIdentity() (#1819)
Move from `chooseIdentity()` to `singleIdentity()` where tests use a single identity, or to fetching by name where multiple identities are present, so we stop using the first identity as special.
2017-10-16 15:51:26 +01:00
mkit
83b9080502 Adding an option to override the default isolation level on per transaction basis (#1886) 2017-10-16 14:03:51 +01:00
Andrzej Cichocki
38cf4a489e CORDA-676 Eager cordapp schemas (#1839)
* Retire customSchemas.
* Key cordapp-to-hash map by url as native equality too strict.
2017-10-16 11:35:29 +01:00
Clinton
2680361696 Renamed "plugins" dir to "cordapps" (#1644)
* Renamed plugins dir to cordapps dir while maintaining backwards compatibility with the plugins dir.
Bumped gradle plugins to 2.0.4
2017-10-13 15:01:24 +01:00
Andrzej Cichocki
ce5b7de718 CORDA-530 Unduplicate code (#1791) 2017-10-13 12:15:52 +01:00
Andrius Dagys
7b10e92819 Fixed AbstractNode to load custom notary services properly (#1720)
* Fixed AbstractNode to load custom notary services properly.
Added a custom notary sample.

* Prevent multiple custom notaries from being loaded

* Throw if more than once custom notary service is loaded
2017-10-13 10:36:25 +01:00
Ross Nicoll
327f0ebd73 CORDA-654: Migrate test APIs to match identity changes (#1744)
Rework identity usage in tests to extract identity from nodes by name, rather than just arbitrarily choosing the first identity. This better models the intended design for production (future work).
2017-10-11 18:26:09 +01:00
Matthew Nesbit
899f7f9d0d Change the serialization/deserialization code of SessionMessage data to add more validation.
Address PR comments

As pointed out by Shams the SessionInit must be well formed at this point.
2017-10-11 15:17:48 +01:00
Rick Parker
3fdc69e541 Fix coin selection with Flow-friendly sleep (#1847) 2017-10-11 14:33:20 +01:00
Alberto Arri
d0d0f132df Create nodeInfoDirectory in NodeInfoWatcher initialization, and make NodeInfoWatcher logging less verbose and less frequent (#1857)
Let NodeInfoWatcher create the directory it wants to poll at startup.
Also log failure in creating the directory, but don't log anything if it can be found at poll time.
2017-10-11 12:54:30 +01:00
Viktor Kolomeyko
ef0f0acc4a Make integration tests pass in AMQP mode, part 1 (#1855) 2017-10-11 11:13:46 +01:00
Andrzej Cichocki
4ee250a19b Retire setCordappPackages. (#1860) 2017-10-11 10:35:21 +01:00
Shams Asari
bd53a22efa Removed extraAdvertisedServiceIds config
The remaining use for it was the finance CorDapp for permissioning CCY issuers. Instead this is now taken from a custom config in node.conf.
2017-10-10 13:47:37 +01:00
Ross Nicoll
242b019dc2 CORDA-641: Remove special case handling of notary transactions (#1675)
Move special case handling of notary transactions into `SignedTransaction`
2017-10-10 13:23:31 +01:00
Viktor Kolomeyko
0e47e53b60 Make AttachmentLoadingTests more stable (#1810) 2017-10-10 12:28:19 +01:00
Alberto Arri
7af1f02a2d Add a configuration option to set how often should a node check for new nodeinfos on disk (#1851)
* Add a configuration option to set how often should a node check for new NodeInfo files in additional-node-infos
2017-10-10 09:55:20 +01:00
Alberto Arri
22b1dead32 Remove functions with spaces in their name (#1850)
Remove all the Kotlin functions with spaces in them since the Android doesn't support them.

See https://github.com/corda/corda/issues/1730 for a more in-depth discussion.
2017-10-10 09:32:43 +01:00
Ross Nicoll
7340a2e32f CORDA-654: Handle non-standard file systems in NodeInfoWatcher (#1818)
Handle non-standard file systems such as JimFs, in NodeInfoWatcher. Instead of using `toFile()` to convert a Path to a File, open the Path for writing to directly.
2017-10-09 16:15:27 +01:00
Tommy Lillehagen
e1458a40cb Revert code transformation; use of deprecated method 2017-10-09 15:26:40 +01:00
Tommy Lillehagen
14f959b4af Code clean-up run 2017-10-09 15:26:40 +01:00
Tommy Lillehagen
cb9e27a84a Reformat files in node 2017-10-09 15:26:39 +01:00
Alberto Arri
69ad52cf5c Deflake node infoWatcherTest (#1836)
* Stop using the watch service, just re-read the whole directory every time. On macOS it's quite unpredictable and the tests are almost always failing.
2017-10-09 13:53:36 +01:00
Michele Sollecito
29a101c378 [CORDA-683] Enable receiveAll() from Flows. 2017-10-09 13:46:37 +01:00
Chris Rankin
689758a71c CORDA-644: Only serialise Kotlin lambdas when checkpointing. (#1801)
* Remove local function because it is serialised as a lambda.
* Don't automatically whitelist Kotlin lambdas unless checkpointing.
* Add comment to @CordaSerializable, warning not to allow AnnotationTarget.EXPRESSION.
2017-10-09 13:02:40 +01:00
Andrzej Cichocki
f83f1b7010 CORDA-599 Fix circular dependency between vault and SH (#1630)
Fix circular dependency between the 2 vault objects and SH.
2017-10-09 12:49:07 +01:00
Shams Asari
727cd0e55c Cleaned up notary configuration by introducing a notary config option.
extraAdvertisedServiceIds is no longer used for this.
2017-10-07 12:52:37 +01:00
Andrzej Cichocki
894f05d84e CORDA-599 Remove dependency of NetworkMapService impls on ServiceHub (#1713) 2017-10-07 10:46:20 +01:00
Ross Nicoll
6562579e8e Extend NetworkMapCache API (#1766)
* Add functions to:
** Return PartyAndCertificate rather than just Party
** Return all NodeInfo entries for a name (rather than just by key)
* General documentation improvements
2017-10-06 15:23:20 +01:00