Commit Graph

547 Commits

Author SHA1 Message Date
Mike Hearn
1a53834a60 Additional thread affinity for the StateMachineManager.
Check that the SMM.add method is being called on the SMM thread and throw if not. Make ServiceHubInternal.startFlow() do a blocking call onto the server thread. Update unit tests.

This resolves an issue whereby the scheduler was starting flows outside of the server thread, which isn't intended.
2017-01-04 16:06:33 +01:00
Shams Asari
e34f33785f Prevent the node from starting if running on a version of Java with the empty Path bug (#83) 2017-01-03 10:42:18 +00:00
josecoll
021bcb0628 Merge pull request #92 from corda/colljos-fix-issue88
Fixed issue caused by race condition in process registration v node e…
2016-12-23 15:20:16 +00:00
josecoll
b4a5a03992 Fixed issue caused by race condition in process registration v node exit.
See https://github.com/corda/corda/issues/88
2016-12-23 15:09:13 +00:00
Andrius Dagys
2e29673392 Distributed notary: manually initialize the serializer for copycat server & client. This fixes the issue where one of the nodes is unable to connect to the cluster. 2016-12-23 12:52:04 +00:00
josecoll
eac2cb1cc6 Bank of Corda integration with Trader Demo and Explorer
Initial conversion of Explorer to use IssuerFlow (from BankOfCorda)

Initial conversion of TraderDemo to use IssuerFlow (from BankOfCorda)

Updated TraderDemo to use IssuerFlow (from BankOfCorda)

Fixed TraderDemo integration text (added new BankOfCorda node)

Updated Explorer with changes IssuerRequest params

Explorer now correctly displaying transaction id upon Issue.

Moved IssuerFlow into finance package so can be reused across multiple demos (TraderDemo) and applications (eg Explorer)

Refactored BankOfCorda demo to use Finance package and TestUtil constants

Updated TraderDemo to use IssuerFlow

Updated Explorer to use finance package IssuerFlow.

Advertised BankOfCorda as Issuer for usage by Explorer.

Explorer no longer depends on BankOfCorda demo since IssuerFlow promoted to Finance module

Added IssuerFlow to AbstractNode whitelist.
Explicit declarations of IssuerFlow no longer required.

Added plugin registration of IssuerFlow at bootstrap.

Revert whitelisting of IssuerFlow (plugin configured)

Refactored to use constant BOC definition.

Added gradle RPC security config.

Updated documentation

Fixed incorrect references.

Renamed Issuer banks.
Added new permission set (for Issuer nodes)
Added node nearestCity info
Added new Issuer Event Generator for Issuer nodes only

Associated currency with issuer using ServiceType naming structure.

Added argument flag (-S) to trigger event generator simulation node.

Fixed problem with issuers not resolving from network map.

Updated perms on Issuer rpc proxy nodes.

Fixed minor in cash generateExit identified by Explorer.

Changes applied in prep for AWG demo.

Added IntelliJ run-configurations for launching Explorer demo nodes (with and without simulation)

Updated documentation (and added additional gradle task to launch Explorer nodes in simulation mode).

Fix following rebase.

Addressed review items from PR.

Updated TraderDemo readme.

Updated TraderDemo gradle file to launch Bank of Corda node.

Updated JRE properties.

Updated IssuerModel to incorporate correct JFX Observable handling.
Fixed bug with Exit command not displaying any currency.

Added TODO's for revisiting correct Exception handling strategy.

Optimization for when issuing cash to self.

Minor updates following PR review.

Remove old refs to Royal Mint and Federal Reserve
2016-12-22 15:55:50 +00:00
Shams Asari
924fb479e4 Cleaned up DistributedNotaryTests, including addressing overlap with RaftValidatingNotaryServiceTests 2016-12-22 12:49:33 +00:00
Mike Hearn
edc648ae95 Wish our users a merry Christmas and a happy new year. 2016-12-22 11:37:27 +01:00
Rick Parker
bd979534f3 Add database transactions back onto observations. (#77)
Add database transactions back onto Observables now that they are post database commit.
2016-12-22 10:03:22 +00:00
Andras Slemmer
7d9caa984b node: Driver network map starts parallel with other nodes, uses executor service, pre-create most artemis queues 2016-12-20 14:49:55 +00:00
Shams Asari
81d1459599 Fixed bug where messages can't be sent to services running on the network map node (#71) 2016-12-20 12:03:21 +00:00
Andrius Dagys
6f3ed327a0 Vault: return a list of unconsumed states rather than a sequence. The lazy evaluation captures some extra context, serialization of which in flows results in errors. 2016-12-16 15:48:48 +00:00
Mike Hearn
f44dd969ce Fix ANSI logging on Windows 2016-12-15 21:00:45 +01:00
Joel Dudley
334ed4806b Adds overload anotations and reorganizes param orders to improve java interop. 2016-12-15 18:27:41 +00:00
Andrius Dagys
7cb4cbcad4 Made vault updates contain full StateAndRef in the consumed set (instead of just StateRef). This allows subscribers to check whether the update contains relevant states.
Cash balances are now calculated by keeping only the aggregate values (it no longer needs to iterate through all states in the vault).
2016-12-15 16:27:39 +00:00
Andrius Dagys
673b0393b4 Increase JDBCHashMap default bucket size. With the current implementa… (#58)
Increase JDBCHashMap default bucket size. With the current implementation of the Vault, once the number of stored transactions (or UTXO) goes over the max bucket size we end up reloading each transaction from the db and deserializing it, which causes severe performance degradation.
2016-12-15 15:45:51 +00:00
exfalso
53bbb57345 Add ReceivedSessionMessage, DriverBasedTest re #57 2016-12-15 11:37:15 +00:00
Andras Slemmer
a3138ab0dc Address PR comments 2016-12-15 11:37:15 +00:00
Andras Slemmer
4f44962962 Add kdocs on service addressing 2016-12-15 11:36:06 +00:00
Andras Slemmer
6a796cef35 Add raft notary integration tests, testing service addressing 2016-12-15 11:36:06 +00:00
Andras Slemmer
7ee88b6ec8 Add SMM test for round robin node picking 2016-12-15 11:36:06 +00:00
Andras Slemmer
fd436b0cdc artemis, sessions, mock: Add Service addressing, tests pass 2016-12-15 11:36:06 +00:00
Shams Asari
7afa3346d6 Updated docs and TODOs to be inline with recent changes to the doorman 2016-12-13 17:03:15 +00:00
Andras Slemmer
09e11f8435 rpc-kryo: Kryo register hidden jar url inputstream class 2016-12-13 11:51:14 +00:00
Patrick Kuo
a4201c7152 This fixes the node startup issue - https://github.com/corda/corda/issues/37 (#48)
* Create missing artemis bridge when node is added to the network map
* Added integration test for this issue
* addressed PR issues
2016-12-12 13:29:31 +00:00
Shams Asari
9d98673c66 Added commonName extension method to X500Name and helper class for x509 cert factories 2016-12-09 17:13:00 +00:00
Joel Dudley
ae349a8831 Adds todos that will improve java interop. 2016-12-09 14:30:52 +00:00
rick.parker
b52c52378f Move Future completion outside database transaction so that the effects of the flow will be externally visible at Future completion. 2016-12-09 09:21:59 +00:00
rick.parker
0378b8d785 Buffer observations until database commit. 2016-12-08 16:32:45 +00:00
Mike Hearn
5f603a94f0 Minor: add a TODO 2016-12-08 14:06:32 +00:00
Andrius Dagys
b57aec1962 Minor: make distributed notary test use a different folder on every run 2016-12-08 12:15:48 +00:00
Andras Slemmer
4fe1d48e4a demos: Fix demo RPC serialisation after rebase 2016-12-08 11:58:31 +00:00
Andras Slemmer
9117ec9860 Simplify InputStreamSerializer, make NODE_USER role explicit 2016-12-08 11:58:31 +00:00
Andras Slemmer
a601f0abf5 Local RPC, demos use RPC, NODE has special privileges 2016-12-08 11:58:31 +00:00
Matthew Nesbit
f63e6cd2a6 Add some hooks to StateMachineManager and NodeSchedulerService so that unit tests of flows with scheduled actions can safely test for completion of their test activities. Typically this is done using a while loop whilst there are active fibers, or schedules and then blocking on the ReusuableLatches until the status changes and can be re-evaluated.
Add unit tests of ScheduledFlow running on simulated network.

Just use existing DumyContract in test

DummyContract requires value equality so that assertEquals over states works as expected.

Remove blank line.

Add TODO on waitQuiescent.

Fix minor build error
2016-12-07 16:11:55 +00:00
Joel Dudley
03b5e9bced Address review comments. 2016-12-07 14:15:20 +00:00
joeldudleyr3
432015ddfe Adds JvmName annotations where necessary to improve interop when developing CorDapps in java. 2016-12-07 12:12:18 +00:00
Andras Slemmer
fd229df956 node: Add ClassSerializer, register default flow parameters for RPC 2016-12-06 13:55:18 +00:00
Matthew Nesbit
99219c6a5f Allow cordapp types to be used in parameters to cordapp startFlowDynamic RPC calls.
Add missing registration.
2016-12-05 16:57:22 +00:00
Shams Asari
10360ae8cf Converted MapChange into a sealed data structure so that only Modified has the previous node property 2016-12-05 10:04:31 +00:00
Shams Asari
4addb91f80 Added security to RPC and P2P systems. 2016-12-02 18:11:08 +00:00
Shams Asari
5432905b4a Clean up NetworkMapCache and InMemoryNetworkMapCache 2016-12-02 14:45:54 +00:00
Andrius Dagys
ad5d6f5cd4 DistributedImmutableMapTest: enable copycat client connection retry to avoid race conditions 2016-12-01 13:21:25 +00:00
Mike Hearn
d500bf8f50 Address review comments. 2016-11-30 15:11:35 +00:00
Mike Hearn
7b40be8361 Run the IntelliJ reformatter across the Kotlin code. Did not reformat JS/web code. 2016-11-30 14:40:34 +00:00
Andrius Dagys
8e836bc279 Distributed notary: configure Raft client retry to avoid race conditions 2016-11-29 11:07:22 +00:00
Andrius Dagys
4c6625559f Merged in andrius-dep-cleanup (pull request #569) 2016-11-28 18:28:28 +00:00
Ross Nicoll
f5ecddb4b2 Add get() method to identity service 2016-11-28 18:01:03 +00:00
Andrius Dagys
ef598d926f Include only required atomix dependencies. 2016-11-28 15:51:31 +00:00
Shams Asari
38876e3984 Introducing Future.getOrThrow() which throws the cause of the ExecutionException 2016-11-28 15:21:22 +00:00