Clinton
d376a902ad
Merge pull request #180 from corda/clint-webserversplit
...
Split webserver from node
2017-02-01 12:13:31 +00:00
Patrick Kuo
7f96b752d1
Added reconnect capability to RPC ( #192 )
...
* Added reconnect capability to RPC
* Issue - https://github.com/corda/corda/issues/184
* JIRA - https://r3-cev.atlassian.net/browse/CORDA-189
2017-01-31 17:04:05 +00:00
Clinton Alexander
876bae67cb
Added TODOs for future splitting of the web server from the node.
2017-01-31 16:03:34 +00:00
Shams Asari
646ce8afe0
FlowException thrown by a flow is propagated to all counterparties
2017-01-31 13:30:33 +00:00
Patrick Kuo
e8015e689a
Flows shouldn't have to suspend if just doing a send ( #187 )
...
* CORDA-45 Flows shouldn't have to suspend if just doing a send
2017-01-30 16:21:43 +00:00
Ross Nicoll
e383752995
Adapt Party comparison to use owningKey
...
Change Party instances to be uniquely identified by the owning key, without taking into account name.
This requires that mock node key generation is reworked so that keys for services and the node itself
are distinct, otherwise the network map service cannot differentiate them.
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-01-30 15:46:51 +00:00
Richard Green
e54d6388fd
Adding optional delay to AMQ message sending via system properties ( #185 )
2017-01-30 14:39:40 +00:00
Clinton Alexander
a5f6fb9479
Querying of node and webserver now uses infinite retries to avoid any race conditions.
2017-01-30 12:08:41 +00:00
Clinton Alexander
d2ebcbfab0
Fixed whitespace and formatting with IntelliJ autoformat tool.
2017-01-30 12:05:22 +00:00
Clinton Alexander
65b29a8379
Moved the transaction context into the RPC call site.
2017-01-30 11:21:01 +00:00
Clinton Alexander
3482452c8b
Added webserver to runnodes.
2017-01-27 14:15:08 +00:00
Clinton Alexander
13551a6b23
Runnodes now works with the new separate webserver.
2017-01-27 14:14:38 +00:00
Clinton Alexander
537ffae113
Moved file uploading to RPC interface.
2017-01-27 14:13:58 +00:00
Clinton Alexander
d4b6e32682
t # This is a combination of 5 commits.
...
Driver now queries webserver to ensure it has started.
2017-01-27 14:13:29 +00:00
Clinton Alexander
5f4d4c1da3
Moved the webserver code into the main node module. Driver can now start webserver for nodes.
2017-01-27 14:12:54 +00:00
Clinton Alexander
ecfb762143
Nodes can start without web server. Webserver now uses full node configuration.
2017-01-27 14:12:19 +00:00
Clinton Alexander
fa257738e1
Added webserver project.
2017-01-27 14:10:18 +00:00
Ross Nicoll
1362a305c9
Expand details provided when erroring due to missing signatures in notary flow
...
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-01-25 16:15:40 +00:00
Ross Nicoll
a4254ac695
Remove TransferRecipient
...
Remove TransferRecipient from StateMachineManagerTests to get rid one of the approximately 6 different ways
in which we refer to endpoints, as part of work to simplify this data model.
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-01-25 15:32:03 +00:00
Ross Nicoll
1229c429a4
Rename file to correct reference to protocol -> flow
2017-01-25 13:21:42 +00:00
Shams Asari
20fe0f32f2
Removed "Node" prefix from NodeSSLConfiguration and renamed two file properties to end in "File"
2017-01-23 15:46:36 +00:00
Shams Asari
052a660c1b
Making sure exceptions thrown while fibers are suspended are handled properly
2017-01-23 15:39:55 +00:00
Andrius Dagys
e9345e2999
Set h2 write delay to 100ms to improve performance
2017-01-20 12:03:00 +00:00
Patrick Kuo
aeb5a59605
Add logging to node startup when it attempt to connect to the map server ( #167 )
...
* Add logging to avoid node startup "hang" when it attempt to connects to the network map, also can use as a hint telling user Network map might be down or unreachable.
2017-01-20 11:34:32 +00:00
Shams Asari
c4e3b258c7
Introducing Observable.toFuture() extension method
2017-01-17 12:56:59 +00:00
Andrius Dagys
ca1b08ad37
Node memory leak fix ( #152 )
...
Perform Artemis message sending in a separate thread pool to avoid memory leaks
2017-01-13 18:29:56 +00:00
Thomas Schroeter
6b7edf5af6
Tx validation detect duplicate inputs ( #138 )
...
* Move duplicate input detection to transaction verification
Duplicate detection was previously part of the NotaryFlow.
2017-01-13 11:37:28 +00:00
Mike Hearn
ef6e9786a8
Cleanup: improve api docs on FlowLogic, make it clearer when stuff is considered internal, rename an obscurely named field.
2017-01-12 13:30:10 +01:00
Mike Hearn
d26c44d08c
Configure Capsule/Driver to give Corda a relatively poxy 200mb heap by default: we don't seem to need more for development purposes. Switch to G1GC by default as well.
2017-01-12 11:37:10 +01:00
Rick Parker
354977ffea
Fix intermittent failure in ScheduledFlowTests ( #140 )
...
Allow a single latch for all activity in the MockNetwork
2017-01-12 09:54:08 +00:00
Shams Asari
e589031d4b
Some clean up of the flow code
2017-01-11 16:33:59 +00:00
Shams Asari
7cd281364f
Removed basedir from the config file as it's always overwritten by the --base-directory cmd line arg
2017-01-10 10:49:28 +00:00
Shams Asari
334b91faf0
Testing that a node can communicate with a distributed service it's part of
2017-01-09 17:21:51 +00:00
Mike Hearn
78a6daa985
Minor: log RPC/peer logins
2017-01-06 16:39:01 +01:00
Mike Hearn
32523d376e
RPC: Improve the client class with a convenience function and some startup time logging.
...
This reveals that building the first RPC client is ludicrously slow (like 1.8 seconds) but subsequent builds are more like 30 msec. This might be interpreter overhead, or it might be due to Artemis/SSL doing lots of piggy lazy initialisation or something. But at any rate it may be worth investigating a bit later.
2017-01-06 16:39:01 +01:00
Mike Hearn
20dbdf9d1b
Make SSL optional in the RPC client
2017-01-06 16:39:01 +01:00
Andrius Dagys
15363e686a
Update RaftNotaryServiceTest to support idempotent notary behaviour
2017-01-06 14:39:34 +00:00
Shams Asari
59456cb6b1
Added a method to NodeHandle to simplify using RPC in the Driver
2017-01-06 14:14:32 +00:00
Andrius Dagys
0867a05ad7
Merge pull request #96 from thschroeter/idempotent-notary-flow
...
Make NotaryFlow idempotent
2017-01-06 13:53:27 +00:00
Rick Parker
592ac07af0
Upgrade reactivex.rxjava version to latest 1.x ( #111 )
...
Update rxjava version and fix thread safety of database transaction boundary subject.
2017-01-06 10:26:44 +00:00
Andrius Dagys
b9d5081af6
Update notary change flow to support encumbrances ( #101 )
...
* Update notary change flow to support encumbrances.
Move encumbrance pointer from ContractState to TransactionState.
* Refactor & add new encumbrance tests
2017-01-05 17:44:31 +00:00
Shams Asari
08e391579c
Node verifies the peer it connects to by checking its TLS common name
2017-01-05 14:22:11 +00:00
Mike Hearn
875efbfa11
Merge pull request #106 from corda/mike-thread-affinity-for-smm
...
Additional thread affinity for the StateMachineManager.
2017-01-05 11:03:35 +01:00
Thomas Schroeter
bbc9c763e3
Detect duplicate inputs in NotaryFlow
...
Throw NotaryException when duplicate inputs are detected.
2017-01-05 08:09:49 +00:00
Clinton
d9663f1698
Merge pull request #72 from corda/clint-simmdemointegrationtest
...
Add SIMM valuation demo integration test
2017-01-04 15:32:44 +00:00
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
Mike Hearn
119d00c384
Upgrade dependencies and centralise some more version numbers in the root gradle file
2017-01-04 15:44:56 +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
Thomas Schroeter
159ca9884f
Make NotaryFlow idempotent
...
Alternatively, we could make the underlying UniquenessProviders
idempotent.
2016-12-31 09:26: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
Clinton Alexander
3c2610613f
Integration test uses better naming sceme. Json support module cleaned up to use Kotlin features.
2016-12-19 16:26:54 +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
Clinton Alexander
fa1e7cfa15
Corda JSON module now created in a separate function to the default mapper.
2016-12-16 14:51:12 +00:00
Clinton Alexander
234ffb141c
Fixed issues with incorrect serialisation in test utilities.
2016-12-16 12:11:26 +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
Clinton Alexander
d429385e72
Fix: Capsule did not contain caplet due to an incorrect path.
2016-12-09 17:58:00 +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
Clinton
b43d940297
Merge pull request #35 from corda/clint-M6publishing
...
Corda can be published to bintray and reduced publishing boilerplate in build.gradle.
2016-12-09 15:07:46 +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
Clinton Alexander
2f61340945
Fixed review comments.
2016-12-08 16:58:22 +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
Clinton Alexander
41b0b6c0b1
Re-added the capsule file. Fixed deploy with another publish option.
2016-12-06 16:06:16 +00:00
Clinton Alexander
a0d5426ced
Due to insurmountable issues with publishing the JARs when the project is called Corda it has been renamed back to capsule.
2016-12-06 16:06:16 +00:00
Clinton Alexander
1463cd2b37
Renamec capsule module to corda.
2016-12-06 16:06:16 +00:00
Clinton Alexander
b24c628e34
Publications now publish JARs again. Install task now publishes again.
2016-12-06 16:06:16 +00:00
Clinton Alexander
bf49dda731
Corda now publishes with updated publish utils.
2016-12-06 16:06:16 +00:00
Clinton Alexander
c8e14b0ac6
Added all artifacts required for the corda capsule to be published on maven central.
2016-12-06 16:06:16 +00:00
Clinton Alexander
810596927e
Added a new capsule build.gradle to allow multiple bintray uploads from one build.gradle.
2016-12-06 16:06:16 +00:00
Clinton Alexander
348092cfa6
Re-added corda capsule publication.
2016-12-06 16:06:16 +00:00
Clinton Alexander
dec9cfc5a4
Added client and node publishing.
2016-12-06 16:06:16 +00:00
Andras Slemmer
fd229df956
node: Add ClassSerializer, register default flow parameters for RPC
2016-12-06 13:55:18 +00:00