1077 Commits

Author SHA1 Message Date
Tudor Malene
8c1c19fdf8
CORDA-1477 add check before db evolution that there are no checkpoints. (#967)
* CORDA-1477 add check before db evolution that there are no checkpoints.

* CORDA-1477 address code review comments
2018-06-11 16:24:24 +01:00
szymonsztuka
98e58b282c Resolved merge conflicts. 2018-06-11 13:40:38 +01:00
Maksymilian Pawlak
c009cbd91a
[CORDA-1468] Properly handle entites where NULLs can be inserted into DB (#3324)
* Allow proper null values on entities which fields can get NULL values.
2018-06-11 13:12:19 +01:00
Rick Parker
8ac7690987
CORDA-1599 killFlow RPC call does not remove records from the Flow Hospital, if there are any. (#3332)
* CORDA-1599 Add a mechanism so killFlow can clean up the in memory data structures held by the Flow Hospital and other transition executor implementations.

* Fix bug and test

* Fix bug and test
2018-06-11 11:24:12 +01:00
Shams Asari
7886ef9450 Merge remote-tracking branch 'open/master' into os-merge-21280c0
# Conflicts:
#	node/src/main/kotlin/net/corda/node/services/statemachine/FlowHospital.kt
#	node/src/main/kotlin/net/corda/node/services/statemachine/PropagatingFlowHospital.kt
2018-06-07 18:08:37 +01:00
Shams Asari
f6a23a0216
CORDA-1546: Updated the flow hospital to suspend FinalityHandler if it errors (#3304)
It will re-run automatically from last checkpoint on node restart, allowing the opportunity to resolve the issue, something required when dealing with contract constraint failures.
2018-06-07 16:18:00 +01:00
tudor.malene@gmail.com
5140d46aa2 Merge remote-tracking branch 'open/master' into tudor-os-merge-7-jun
# Conflicts:
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt
2018-06-07 16:05:11 +01:00
Rick Parker
aa01ef638b
CORDA-1589 Flow hospital reports incorrect number of patients and fix… (#3315)
* CORDA-1589 Flow hospital reports incorrect number of patients and fix flakey associated test.

* Compare before and after count, not against zero.  There's a leak in killFlow that will be easier to address in or after Shams PR.
2018-06-07 09:12:25 +01:00
Andrius Dagys
d24299341c Merge remote-tracking branch 'open/master' into andrius/merge-06-07 2018-06-07 08:53:28 +01:00
Andrius Dagys
0978d041a3
CORDA-1494: Re-enable notarisation retries in the new state machine manager (#3295)
* Remove all notion of message level retry.

* Introduce randomness into de-duplication IDs based on the session rather than the flow, in support of idempotent flows.

* CORDA-1494: Re-enable notarisation retries in the new state machine manager.

The original message-based retry approach does not work well with the new
flow state machine due to the way sessions are handled. We decided to move
the retry logic to flow-level: introduce RetryableFlow that won't have
checkpoints persisted and will be restarted after a configurable timeout
if it does not complete in time.

The RetryableFlow functionality will be internal for now, as it's mainly
tailored for the notary client flow, and there are many subtle ways it can
fail when used with arbitrary flows.
2018-06-07 08:45:32 +01:00
Shams Asari
f34a2bd33f Replacing uses of assert with require 2018-06-06 09:56:04 +01:00
Shams Asari
11fd70a1f7 Merge remote-tracking branch 'open/master' into os-merge-d620e71
# Conflicts:
#	node/src/main/kotlin/net/corda/node/serialization/kryo/Kryo.kt
2018-06-06 09:51:29 +01:00
Shams Asari
d620e71bb6
Replaced all uses of assert with require (#3309)
JVM assertions have to be enabled with the -ea flag so it's possible for these checks to be ignored.
2018-06-06 00:31:41 +01:00
Rick Parker
7e3e94cee9
OS -> ENT merge (#928)
* Revert back logging of tests (#3305)

* ENT-2023 Minimise code diff between OS and ENT for enterprise change since code diff during merge resulted in a bad merge relating to rpcThreadPoolSize. (#3306)
2018-06-05 19:53:07 +01:00
Rick Parker
e2a2c2d20d
ENT-2023 Minimise code diff between OS and ENT for enterprise change since code diff during merge resulted in a bad merge relating to rpcThreadPoolSize. (#3306) 2018-06-05 17:38:55 +01:00
Tudor Malene
4f1a22dfac
Merge pull request #910 from corda/tudor-merge-os-01_06
Tudor merge os 01 06
2018-06-04 15:37:33 +01:00
szymonsztuka
63f11d0b54
Upgrade integration test for CORDA-1356 to run in database mode (#899)
Add SQL setup to run integration test in database mode, add ordering in test because original assumption that rows are returned as inserted doesn't work in Oracle db, ensure distinct names when starting nodes (they can't clash in database mode, as the schema name is taken from node name).
2018-06-04 10:31:56 +01:00
tudor.malene@gmail.com
eb801d40b8 Merge remote-tracking branch 'open/master' into tudor-merge-os-01_06
# Conflicts:
#	core/src/main/kotlin/net/corda/core/cordapp/Cordapp.kt
#	core/src/main/kotlin/net/corda/core/internal/cordapp/CordappImpl.kt
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt
#	node/src/main/kotlin/net/corda/node/internal/cordapp/CordappLoader.kt
2018-06-01 13:56:43 +01:00
Tudor Malene
9efb1ecfe0
CORDA-1477 add check for code version in checkpoints (#3256)
* CORDA-1477 add check for code version in checkpoints

* CORDA-1477 Comment style

* CORDA-1477 address code review comments

* CORDA-1477 add changelog entry

* CORDA-1477 attempt to fix tests

* CORDA-1477 attempt to fix tests and address code review comments

* CORDA-1477 attempt to fix tests
2018-06-01 13:37:39 +01:00
cburlinchon
675059bfa8
System.exit node if artemis is closed (#898) 2018-05-31 15:08:46 +01:00
Katarzyna Streich
509b556807 Merge branch 'master' into kstreich-OS-ENT-merge-310518 2018-05-31 11:48:02 +01:00
rick.parker
b43e09a939 Update configuration files to remove references to StateMachineConfiguration 2018-05-31 08:52:48 +01:00
Katarzyna Streich
3758dbea34
CORDA-1493: add --clear-network-map-cache command line option (#3272)
CORDA-1493: add --clear-network-map-cache command
2018-05-30 18:39:27 +01:00
Matthew Nesbit
a3c6ef351d Merge remote-tracking branch 'remotes/open/master' into mnesbit-merge-20180530
# Conflicts:
#	docs/source/changelog.rst
2018-05-30 11:12:25 +01:00
szymonsztuka
0a4d98161a CORDA-1266 When a cash output is identical only the fist output is saved. (#3244) 2018-05-30 10:49:44 +01:00
sollecitom
0b753969ee Fixed some compilation errors. 2018-05-29 17:19:16 +01:00
sollecitom
de0c69a888 Merge remote-tracking branch 'remotes/open/master' into merges/may-29-16-48
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/services/RaftNotaryServiceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/network/PersistentNetworkMapCacheTest.kt
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/internal/Node.kt
#	node/src/main/kotlin/net/corda/node/services/identity/PersistentIdentityService.kt
#	node/src/main/kotlin/net/corda/node/services/persistence/DBTransactionMappingStorage.kt
#	node/src/main/kotlin/net/corda/node/services/persistence/DBTransactionStorage.kt
#	node/src/main/kotlin/net/corda/node/services/vault/NodeVaultService.kt
#	node/src/test/kotlin/net/corda/node/internal/NodeTest.kt
#	node/src/test/kotlin/net/corda/node/services/identity/PersistentIdentityServiceTests.kt
#	node/src/test/kotlin/net/corda/node/services/messaging/ArtemisMessagingTest.kt
#	node/src/test/kotlin/net/corda/node/services/persistence/DBCheckpointStorageTests.kt
#	node/src/test/kotlin/net/corda/node/services/persistence/DBTransactionStorageTests.kt
#	node/src/test/kotlin/net/corda/node/services/persistence/HibernateConfigurationTest.kt
#	node/src/test/kotlin/net/corda/node/services/persistence/NodeAttachmentStorageTest.kt
#	node/src/test/kotlin/net/corda/node/services/schema/HibernateObserverTests.kt
#	node/src/test/kotlin/net/corda/node/services/transactions/PersistentUniquenessProviderTests.kt
#	node/src/test/kotlin/net/corda/node/services/transactions/RaftTransactionCommitLogTests.kt
#	node/src/test/kotlin/net/corda/node/services/vault/VaultQueryTests.kt
#	node/src/test/kotlin/net/corda/node/utilities/ObservablesTests.kt
#	samples/irs-demo/cordapp/src/test/kotlin/net/corda/irs/api/NodeInterestRatesTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
2018-05-29 17:17:08 +01:00
Michele Sollecito
f68cf6f712
[CORDA-1341]: Ensure API can be called concurrently wrt transactions. (#3235) 2018-05-29 15:25:34 +01:00
Shams Asari
0f82e2df7f
Explicitly check the contractStateType param of the RPC vault queries is a ContractState class. (#3251)
We lose the compile-time checks of the Class type parameter when invoking from the shell.
2018-05-29 15:01:55 +01:00
rick.parker
34a9a7aa05 Merge remote-tracking branch 'remotes/open/master' into parkri-os-merge-20180529-1 2018-05-29 14:21:53 +01:00
szymonsztuka
ab97ae252d
Merge pull request #883 from corda/merges/os-2017-05-29
OS merge up to 2017-05-28
2018-05-29 12:53:56 +01:00
Christian Sailer
6791ea800d CORDA-1524 Fix NodeSchedulerService (#3238)
* Simplify flow scheduler

* Fix mutex and count up on the unfinished flows latch

* Fix missing import

* Some code layout shifting

* Undo automated change

* minor format changes from code review.

* Fix up tests to work with changes to scheduler

* Formatting fixes

* Remove commented out line.

* Fix race condition.

* We were not waiting for the scheduler to stop, or indeed stopping it.
2018-05-29 12:20:30 +01:00
szymonsztuka
99d4d92ae2
Added Liquibase migration schema file for DummyTestSchemaV1 introduced by ENT-1932 to fix integration tests in database mode. (#878)
Added Liquibase migration schema file for DummyTestSchemaV1 for IntegrationTest - when running integration tests against remote database schema migration is on and needs the missing file, a table renamed to avoid clash with another one from a dummy schema.
2018-05-29 12:10:11 +01:00
szymonsztuka
c6168cb4e6 Resloved merge conflicts. 2018-05-29 11:32:43 +01:00
Katarzyna Streich
8504b65e7b
ENT-1933: make NetworkParameters serialization compatible (#3234)
* ENT-1933: make NetworkParameters serialization compatible
2018-05-25 17:14:00 +01:00
rick.parker
c830d50647 Enterprise changes for OS merge. 2018-05-25 15:50:44 +01:00
rick.parker
033a5798a1 Merge remote-tracking branch 'remotes/open/master' into parkri-os-merge-20180525-1
# Conflicts:
#	.idea/compiler.xml
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/config/ConfigUtilities.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/persistence/DatabaseTransaction.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/protonwrapper/netty/AMQPChannelHandler.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/protonwrapper/netty/AMQPClient.kt
#	node/src/integration-test/kotlin/net/corda/node/services/network/NetworkMapTest.kt
#	node/src/main/kotlin/net/corda/node/services/messaging/P2PMessagingClient.kt
#	node/src/main/kotlin/net/corda/node/services/statemachine/transitions/DeliverSessionMessageTransition.kt
#	node/src/main/resources/reference.conf
#	node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt
#	node/src/test/kotlin/net/corda/node/services/vault/VaultQueryTests.kt
#	settings.gradle
2018-05-25 14:19:15 +01:00
Rick Parker
59fdb3df67
CORDA-1475 CORDA-1465 Allow flows to retry from last checkpoint (#3204) 2018-05-25 13:26:00 +01:00
Katelyn Baker
a3d88f752d
CORDA-1510 - Allow Doorman and NetworkMap to be configured independently (#3220)
* CORDA-1510 - Allow Doorman and NetworkMap to be configured independently

Currently only one compatabilityZoneURL can be specified, however the
two services can be run on as separate servers. Allow nodes to be
configured in this manner

* Partial review comments

* Review comments

* review comments
2018-05-25 11:37:20 +01:00
bpaunescu
d13cca49ec
ENT-1959: add a default value for mutualExclusionConfiguration.machineName (#877)
* ENT-1959: add a default value for mutualExclusionConfiguration.machineName

* ENT-1959: update docs

* ENT-1959: update docs, remove machineName from default conf, add unit test
2018-05-25 11:13:53 +01:00
Shams Asari
c40e080dcc Merge remote-tracking branch 'open/master' into os-merge-3136e97
# Conflicts:
#	.idea/compiler.xml
#	node/src/main/kotlin/net/corda/node/serialization/kryo/CordaClassResolver.kt
#	node/src/main/kotlin/net/corda/node/serialization/kryo/CordaClosureSerializer.kt
#	node/src/main/kotlin/net/corda/node/serialization/kryo/DefaultKryoCustomizer.kt
#	node/src/main/kotlin/net/corda/node/serialization/kryo/Kryo.kt
#	node/src/main/kotlin/net/corda/node/serialization/kryo/KryoSerializationScheme.kt
#	node/src/main/kotlin/net/corda/node/serialization/kryo/SerializeAsTokenSerializer.kt
#	node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt
#	node/src/test/kotlin/net/corda/node/serialization/kryo/KryoStreamsTest.kt
#	node/src/test/kotlin/net/corda/node/serialization/kryo/KryoTests.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/SharedContexts.kt
2018-05-24 13:20:16 +01:00
Michele Sollecito
61fedb5fd2
[CORDA-1528]: Node configuration not containing property "rpcSettings.address" fails with error "No configuration setting found for key 'address'" (fix). (#3229) 2018-05-24 13:20:04 +01:00
Shams Asari
3136e973a7
CORDA-1511: Kryo only used for node checkpoints and so moved out of serialization module and into node (#3228) 2018-05-24 12:18:07 +01:00
Katarzyna Streich
1083e28343
ENT-1882: Don't remove own node info - fix (#3219)
* ENT-1882: Don't remove own node info

Don't remove own node info from cache on network map update.
2018-05-23 16:33:08 +01:00
Siddhartha Sengupta
093be1b88c Using a List for the identity certs in InMemoryIdentityService and PersistentIdentityService (#3210) 2018-05-23 10:14:13 +01:00
sollecitom
ee45c8280d Merge remote-tracking branch 'remotes/open/master' into merges/may-21-17-24
# Conflicts:
#	client/rpc/src/main/kotlin/net/corda/client/rpc/PermissionException.kt
2018-05-22 09:51:02 +01:00
bpaunescu
bff419e9af
Corda-1505 catch connection failure exception and re-throw as RPCException (#3203)
* CORDA-1505: catch connection failure exception and rethrow as RPCException

* CORDA-1443: remove incorrect import

* CORDA-1443: fix some failing tests

* CORDA-1505: fix broken CordaRPCClient test

* fix tests

* CORDA-1505: catch connection failure exception and rethrow as RPCException

* CORDA-1443: remove incorrect import

* CORDA-1443: fix some failing tests

* CORDA-1505: fix broken CordaRPCClient test

* fix tests

* CORDA-1505: changed exception handling to RPCException

* CORDA-1505: changed exception handling to RPCException
2018-05-21 18:01:31 +01:00
sollecitom
e3b2d3332d Merge remote-tracking branch 'remotes/open/master' into merges/may-21-17-24
# Conflicts:
#	constants.properties
#	node-api/src/main/kotlin/net/corda/nodeapi/exceptions/RejectedCommandException.kt
#	node/src/main/kotlin/net/corda/node/internal/RpcAuthorisationProxy.kt
#	node/src/main/kotlin/net/corda/node/internal/SecureCordaRPCOps.kt
2018-05-21 17:29:26 +01:00
tudor.malene@gmail.com
2ca11d7996 Merge remote-tracking branch 'open/master' into tudor-merge-21-05-18
# Conflicts:
#	.idea/compiler.xml
#	client/rpc/src/main/kotlin/net/corda/client/rpc/CordaRPCClient.kt
#	client/rpc/src/main/kotlin/net/corda/client/rpc/internal/CordaRPCClientUtils.kt
#	docs/source/generating-a-node.rst
#	finance/src/main/kotlin/net/corda/finance/contracts/asset/CommodityContract.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/ArtemisMessagingClient.kt
#	node/src/integration-test/kotlin/net/corda/node/amqp/AMQPBridgeTest.kt
#	node/src/integration-test/kotlin/net/corda/node/amqp/ProtonWrapperTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcSslTest.kt
#	node/src/main/kotlin/net/corda/node/internal/Node.kt
#	node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt
#	node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt
#	node/src/main/kotlin/net/corda/node/services/config/SslOptions.kt
#	node/src/main/kotlin/net/corda/node/services/messaging/RPCMessagingClient.kt
#	node/src/main/kotlin/net/corda/node/services/rpc/NodeLoginModule.kt
#	tools/shell/src/integration-test/kotlin/net/corda/tools/shell/InteractiveShellIntegrationTest.kt
2018-05-21 13:49:59 +01:00
Michele Sollecito
5de2c2aa4b
[CORDA-1264}: Complete obfuscation of exceptions to client side. (#3155) 2018-05-21 13:34:37 +01:00