Commit Graph

461 Commits

Author SHA1 Message Date
Clinton Alexander
0ee4f9c19b Added DriverNodeInfo to allow access to the host and port for the api address for use in integration tests. 2016-10-21 11:31:18 +01:00
Shams Asari
e2d6ace449 RPC client authentication using user/password from config file 2016-10-20 17:55:16 +01:00
Jose Coll
75f671a446 Decommissioned InMemoryVaultService service (all dependent Tests updated to use NodeVaultService) 2016-10-20 13:10:00 +01:00
Jose Coll
c7d98b8c6b Fixed items raised by MH in CRD-CR-58 code review. 2016-10-20 10:52:51 +01:00
Matthew Nesbit
30b7eec18c Remove the file based checkpoints and transactions from the tests.
Messages requiring redelivery to late registered handler persisted in database.

Remove spurious comment and make local val not var
2016-10-19 16:33:12 +01:00
Matthew Nesbit
8eee4afe7d Merged in mnesbit-cor-389-driver-remove-startClient (pull request #409)
Unify messaging services to have a database and not support client type connections.
2016-10-19 14:09:50 +00:00
Jose Coll
04920c9507 Additional method on VaultService to add notes to a transaction 2016-10-19 15:06:52 +01:00
Rick Parker
6c6d7f8546 Merged in bugfix-for-persistent-scheduler (pull request #410)
Fixed intermittent stack serialization issue with persistent scheduler.
2016-10-18 17:23:04 +00:00
Matthew Nesbit
4db1836996 Unify messaging services to have a database and not support client type connections when they should use the RPC connections. Also, push NodeInfo across to the driver via the web interface to remove that use of startClient.
Fix typo
2016-10-18 17:48:52 +01:00
rick.parker
8a3027ffd6 Fixed intermittent stack serialization issue with persistent scheduler.
Improved exception reporting when fiber serialization fails or other internal Quasar error to help with future Kryo errors when checkpointing.
2016-10-18 17:05:10 +01:00
Jose Coll
c23aea3997 Fixed broken tests caused by missing Transaction Context (when moving from InMemory to Db implementation of vault service in MockNetwork) 2016-10-18 10:27:12 +01:00
Jose Coll
62dfea2a1a Re-factoring of OnLedgerAsset generateSpend code (moved to VaultService) 2016-10-17 17:58:26 +01:00
Patrick Kuo
3403d50168 Merged pat-cash-creation-ui into master 2016-10-17 16:10:53 +01:00
Rick Parker
6a20f32a7a Merged in persistent-scheduler (pull request #405)
Persistent scheduler
2016-10-17 12:35:40 +00:00
rick.parker
6a25fcfe8c Persistent scheduler, with race condition removed. 2016-10-17 13:33:32 +01:00
rick.parker
962fdba0f8 Make transaction -> statemachine id mapping persistent. 2016-10-17 11:33:29 +01:00
Patrick Kuo
d4362fbd78 New counterparty model and subscription mechanism to retrieve and track counterparty changes in network map
New transaction creation screen for creating new cash transactions, using party info source from the counterparty model.
2016-10-17 11:25:20 +01:00
Jose Coll
67b2d91b33 Re-factoring of CashBalances code (moved to VaultService) 2016-10-17 11:16:53 +01:00
rick.parker
02a9f8fe67 Remove SAME_THREAD executor and it's use in MockNetwork etc.
Remove all traces of unused optional Executor in messaging.
2016-10-12 12:02:28 +01:00
Matthew Nesbit
1f3b1f4df9 Transactions in database
Include basic unit tests of Transaction storage

Use Rick's column storage code as suggested in PR comments

Remove blank line
2016-10-11 17:49:15 +01:00
Shams Asari
e48e09f04e Session handshake optimised to carry the first send payload in the init message 2016-10-11 17:27:09 +01:00
Matthew Nesbit
1388454396 Never send transactions to the Notary that aren't signed by all parties. Toughen up to use validating Notary in general and put Client precheck into NotaryProtocol.
Rename method to better reflect its actions

Handle comments from PR

Correct indentation
2016-10-11 10:43:40 +01:00
Shams Asari
ac01b67549 Using the protocol ID for the protocol logger name 2016-10-10 13:45:43 +01:00
Mike Hearn
11bcaf5fb2 Minor: go back to using logging for the trader demo specific output (i.e. admit defeat with the ANSI renderer, which is not long for this world anyway) 2016-10-10 12:00:48 +02:00
Andras Slemmer
cf19ff37cd node: Add cleanup TODO on cash creation RPC call 2016-10-10 10:38:02 +01:00
rick.parker
50e613bb75 Clean up compiler warning and make database table names and columns more meaningful. 2016-10-07 18:05:54 +01:00
Matthew Nesbit
1e836edd78 Change ServiceType to a sealed class from an abstract class
Allow AdvertisedServices to have their own identity and keys. Also, rationalise legalIdentity onto the local node's NodeInfo which is available on ServiceHub

Fixup after rebase

Remove legal identity that was on storage service. Now access via myInfo.legalIdentity and key via keyManagement lookup.

Enforce singleton notary per node for now

Tidy up based upon Rick's suggestions

Handle PR comments

clean up imports

Fix typo

Fixup rename

Capitalise comment

Eliminate unused variable warning

Make changes based upon PR comments

Cleanup whitespace changes
2016-10-07 13:44:51 +01:00
Andrius Dagys
4e2f0e0ff9 Split out NodeConfiguration helpers into a separate utility class 2016-10-07 10:44:03 +01:00
rick.parker
2e3952ee1f H2 database exported via configurable port number. 2016-10-06 14:33:56 +01:00
Shams Asari
c3f824001d Removed unused ServiceRequestMessage class hierarchy and added sendRequest method 2016-10-06 10:27:35 +01:00
Shams Asari
307c93858b Using Checkpoint.id when storing Checkpoints 2016-10-05 18:30:46 +01:00
Andrius Dagys
6eb91ffe8b Minor refactoring and api doc update 2016-10-05 17:48:04 +01:00
Andrius Dagys
893f6e4f50 Updated config docs 2016-10-05 17:48:04 +01:00
Andrius Dagys
e5072a8854 FullNodeConfiguration: make use of the getOrElse helper 2016-10-05 17:48:04 +01:00
Andrius Dagys
727c3ac5fc Node: get artemisAddress and webAddress from the config rather than constructor parameters 2016-10-05 17:48:04 +01:00
Andrius Dagys
e5c0c975bd Remove hostNotaryServiceLocally config property – nodes need to specify the correct notary service type in extraAdvertisedServiceIds 2016-10-05 17:48:04 +01:00
Andrius Dagys
3b187a2171 Make Node override configuration and use FullNodeConfiguration so that no casting is needed 2016-10-05 17:48:04 +01:00
Andrius Dagys
fac12b4fce Remove NodeConfigurationFromConfig and replace usages with FullNodeConfiguration 2016-10-05 17:48:04 +01:00
rick.parker
5419e773dc Fix kotlin 1.0.4 error on use of Class.cast() 2016-10-05 13:59:18 +01:00
rick.parker
cd301c727e First working version with database persistence in MockNetwork/Node. 2016-10-05 12:03:28 +01:00
Clinton Alexander
38ba8c8759 Merge branch 'clint-cordamaven' 2016-10-05 11:44:11 +01:00
rick.parker
ec975b0426 Hibernate ORM implementation for states. 2016-10-05 11:40:27 +01:00
Andras Slemmer
3bb96f3f3e node: Fix after rebase 2016-10-05 10:40:18 +01:00
Andras Slemmer
8e471c6768 node: Address review comments 2016-10-05 10:40:18 +01:00
Andras Slemmer
5af0e97444 Refactor explorer and friends to use RPC, remove NodeMonitor* 2016-10-05 10:40:18 +01:00
Patrick Kuo
c57229a944 New gradle task for packaging certificate singing request utility jar. 2016-10-04 16:56:18 +01:00
Shams Asari
6b97fbb79f Removed ValidatingClient as notary behaviour is not client configurable 2016-10-04 15:20:36 +01:00
Shams Asari
5e6533eb8a Better use of Futures 2016-10-04 14:11:43 +01:00
Ross Nicoll
53ecb0ecd9 Constrain class type passed to registerProtocolInitiator() 2016-10-04 12:57:22 +01:00
Andrius Dagys
5efa0fd5b3 Advertised services now contain ServiceInfo which describes ServiceType and a service identifier. This will be used, e.g. for grouping distributed notary nodes into the same service cluster. 2016-10-04 11:36:26 +01:00
Matthew Nesbit
76808d36c3 Store protocol checkpoints in the DB, except during Single threaded MockNetwork activity, where we still use the file system based checkpointing. Make the Checkpoint acess a Sequence not an Iterable, so that we don't end up with all the checkpoints permanently resident in memory.
Split up storage initialisation so that there is less code copying in MockNode

Add header comment to DBCheckpointStorage class

Respond to PR comments

Resolve PR comments

Rename iterator on checkpoints

Fix typo

Fixup checkpoints in DB logic after Shams's PR

Delete duplicated code
2016-10-03 17:56:58 +01:00
Shams Asari
67fdf9b2ff Automatic session management between two protocols, and removal of explict topics 2016-10-03 15:21:27 +01:00
Andrius Dagys
b3f3ee0562 Added a json serializer for PublicKeyTree
Typo fixes, other minor refactorings
2016-10-03 11:09:36 +01:00
Andras Slemmer
43d18d46bb Add PartiallyResolvedTransaction to client 2016-10-03 10:17:41 +01:00
Clinton Alexander
9a4cc04eb5 Moved source and javadoc publish tasks into a default publish tasks plugin. 2016-09-30 10:57:20 +01:00
Clinton Alexander
f13a21cc6c Can now publish corda to local repo with gradle publishToMavenLocal 2016-09-30 10:57:20 +01:00
Clinton Alexander
a740167100 Merged in clint-mvcc (pull request #366)
Improved concurrency of H2 database with config
2016-09-28 16:51:27 +01:00
Clinton Alexander
7afb034b8c Merged in clint-vegacorechanges (pull request #380)
Corda Changes required for Vega
2016-09-28 16:28:15 +01:00
Clinton Alexander
43de27c4c1 Updated Corda in preparation for the merging of the Vega cordapp. Includes
some minor changes, including gitignore rule changes. The largest change
is replacing the current fresh key for each transaction with a single
static identity in preparation for aimproved and more fleshed out key
sharing infrastructure.
2016-09-28 14:39:41 +01:00
Andras Slemmer
5b10c207e0 Add StateMachine -> Recorded TX mapping stream and emit events on transaction records 2016-09-28 11:46:37 +01:00
Andras Slemmer
6c96517f6f core, node: Add RPC calls, change RPC init order 2016-09-28 10:32:22 +01:00
Patrick Kuo
8f00ec03a3 Checks for SSL certificate on Node startup 2016-09-27 10:15:09 +01:00
Rick Parker
46d6749616 Merged in persistence-support-in-mock-node (pull request #371)
Persistence support in MockNode
2016-09-26 15:12:59 +01:00
rick.parker
cb1fa83b67 Fix up database persistence to work with MockNetwork/MockNode without getting tangled up in the ThreadLocals. 2016-09-26 14:54:00 +01:00
rick.parker
16eda06095 Fix erroneous log statement that corrupts the logs. 2016-09-26 12:57:01 +01:00
Andras Slemmer
7e7bf08062 Rename stateMachineRunId properties to id, remove unused fiberId 2016-09-26 10:40:18 +01:00
Andras Slemmer
cfa5878ea2 Add StateMachineRunId, type for SMM Changes 2016-09-26 10:40:18 +01:00
Matthew Nesbit
a964073c2f Track message id's to deduplicate replays. Widen the auto-acknowledgement window of Artemis back to the default.
Use synchronized wrapper over set.

Drop discard message to trace level logging.

Fix code layout

Use lazy trace extension method

Track message id's to deduplicate replays. Widen the auto-acknowledgement window of Artemis back to the default.

Use synchronized wrapper over set.

Include tx message unique id in checkpointed data.

Add test for checkpointed resend

Fix bug in not getting UUID off message.

Tidy formatting

Add explanation comments to test asserts

Put unique id even on Client messages.

Tidy formatting
2016-09-26 10:12:50 +01:00
Matthew Nesbit
074964f919 Track message id's to deduplicate replays. Widen the auto-acknowledgement window of Artemis back to the default.
Use synchronized wrapper over set.

Drop discard message to trace level logging.

Fix code layout

Use lazy trace extension method
2016-09-22 15:18:24 +01:00
Patrick Kuo
eee18b55f5 Moved certificates path to node configuration 2016-09-22 14:28:12 +01:00
Ross Nicoll
54991c90a1 Merged in rnicoll-dictionary (pull request #369)
Correct typos, add custom dictionary
2016-09-22 09:52:28 +01:00
Clinton Alexander
58c1ab4562 Changed DB store type to MV store. 2016-09-22 09:37:03 +01:00
Patrick Kuo
f7193fee54 fix ArtemisMessagingServer certificate path 2016-09-21 17:50:26 +01:00
Ross Nicoll
80ccf4df34 Change keypair to "keyPair"/"key pair"
Change "keypair" to "keyPair"/"key pair" to correctly indicate it is two words,
not a single word.
2016-09-21 10:50:28 +01:00
Ross Nicoll
d38392093f Rename wallet monitor service to node monitor service 2016-09-21 10:26:20 +01:00
Ross Nicoll
ebda724f14 Change references to 'wallet' with 'vault' 2016-09-20 18:14:53 +01:00
Andras Slemmer
2640e600c8 Merged in aslemmer-node-explorer (pull request #311)
explorer ui v0.2
2016-09-20 12:02:09 +01:00
Patrick Kuo
9b4bf32fdc client certificate signing utility 2016-09-20 10:51:09 +01:00
Andras Slemmer
01d879772d client, explorer: Rearrange/add tx screen columns 2016-09-19 15:05:23 +01:00
Andras Slemmer
041c33a167 client, node: Handle snapshot in explorer 2016-09-19 15:05:23 +01:00
Andras Slemmer
4b74d94001 node: Fix compile after rebase, small typo fix 2016-09-19 15:05:22 +01:00
Andras Slemmer
a23c1d019c node: Fix compile after rebase 2016-09-19 15:05:22 +01:00
Andras Slemmer
c04a3401c3 client, node: Fix compile error after rebase 2016-09-19 15:05:22 +01:00
Andras Slemmer
3042407250 node: Better diagnostics for exit generation in WalletMonitorService 2016-09-19 15:05:22 +01:00
Andras Slemmer
eb82e946d0 node: Expose LedgerTransactions instead of SignedTransactions in WalletMonitor 2016-09-19 15:05:22 +01:00
Clinton Alexander
7d7418095e Increased timeout to avoid spurious timeouts. Added MVCC flag to allow
better concurrency and prevents deadlocks when multiple transactions are
occurring at once, as has happened on Vega.
2016-09-19 13:45:54 +01:00
Matthew Nesbit
478cb58dd6 Delay State Machine fiber start until network map cache is fully populated.
Add some unit tests of the late init behaviour.

Fix merge error

Change statemachine logic to use an in-memory only flag on checkpoints to track their materialisation during startup.

Add annotations for test method

Fix possible race condition on storing checkpoint objects

Correctly create checkpoint

Use then helper function

Cleanup imports
2016-09-19 12:15:33 +01:00
rick.parker
476db876d9 Move db commit to after "protocol completed" future is set.
Move db commit to after "protocol completed" future is set.
2016-09-16 13:56:49 +01:00
rick.parker
236a47104f Persitent network map and key service. Temporary persistence workaround for scheduler. 2016-09-16 12:14:56 +01:00
Patrick Kuo
1388747484 Permissioning server: added new node properties in node config for certificate signing request 2016-09-16 11:42:33 +01:00
Mike Hearn
4d83f1489f Add a client library that provides an RPC mechanism for talking to the Corda node.
The RPC mechanism uses message queues and is essentially conventional except for the fact that it supports marshalling observables. An observable encapsulates a stream of ongoing events, and server-side observables sent to the client are automatically bound to message queues and managed by Artemis.
2016-09-16 10:13:21 +01:00
rick.parker
17c9d231f4 Fix hanging test and fail fast on hang. 2016-09-15 16:39:58 +01:00
Shams Asari
8ea20dd0d2 Removed session IDs from the send and receive methods of ProtocolLogic and are now partially managed by HandshakeMessage 2016-09-14 15:26:55 +01:00
Shams Asari
f314bab6c8 Replacing the two params of AbstractNodeService with single ServiceHubInternal 2016-09-13 11:52:31 +01:00
Rick Parker
53de66a23d Merged in cor-344-persistence-jdbc-transactions (pull request #353)
Add database transactions ready for more widespread persistence.
2016-09-13 10:48:48 +01:00
rick.parker
27cb1c3597 Introduce database transactions around message handling, web API and in protocols. 2016-09-13 10:47:50 +01:00
Andrius Dagys
422a766c1a Minor persistent uniqueness provider tweak 2016-09-13 10:37:53 +01:00
Mike Hearn
ee637b79e2 Merge branch 'mike-fix-wms-for-k104' 2016-09-12 16:40:11 +01:00
Mike Hearn
0e37547af0 Rename ArtemisMessagingClient to NodeMessagingClient to make the purpose clearer once we start landing the clientrpc framework. 2016-09-12 13:16:45 +01:00
Mike Hearn
f6def0ef8f Minor: fix build for Kotlin 1.0.4 pre-release. It is stricter about some dubious code. 2016-09-12 12:18:35 +01:00