752 Commits

Author SHA1 Message Date
Anthony Keenan
230d91046c Merge commit '20cd4539d637676ac55457fc7fe4df2ce8dacff8' into anthony-os-merge-20180906
# Conflicts:
#	node/capsule/build.gradle
2018-09-06 16:03:39 +01:00
bpaunescu
793ee3e1ee
Store default platform version in a constant (#3900)
* use constant for default platform version value when tests with out of process nodes are run from Intellij.

* node will use constant for platform version instead of manifest file(RPC already uses the constant, no sense in having 2 sources for it)

* fix issues caused by merge
2018-09-06 14:32:23 +01:00
Anthony Keenan
b8a4b68495 Merge remote-tracking branch 'open/master' into anthony-os-merge-20180906
# Conflicts:
#	docs/source/contributing-index.rst
#	docs/source/contributing.rst
#	docs/source/running-a-node.rst
#	node/src/integration-test/kotlin/net/corda/node/services/messaging/ArtemisMessagingTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/network/PersistentNetworkMapCacheTest.kt
#	node/src/main/kotlin/net/corda/node/Corda.kt
#	node/src/main/kotlin/net/corda/node/NodeArgsParser.kt
#	node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt
#	node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt
2018-09-06 11:20:45 +01:00
Matthew Nesbit
304dba704e
Support HA without load balancer (#3889)
Allow configuration in node for additional advertised addresses.

fix logic error

Use empty list as default config not null

Allow multiple addresses in NodeInfo

Describe new additionalP2PAddresses property in docs.

Add integration test of additionalP2PAddress feature

Fixup after rebase

Address PR comment

Address PR comments by removing unused element of NodeAddress
2018-09-05 17:46:46 +01:00
Michele Sollecito
481f2c1b93 Fixed compilation error for case-insensitive operating systems. (#3896)
(cherry picked from commit 2fbeab13659933b9537d88c0d73a73e1e0ab8060)
2018-09-05 13:10:05 +01:00
Michele Sollecito
2fbeab1365
Fixed compilation error for case-insensitive operating systems. (#3896) 2018-09-05 13:06:05 +01:00
Michele Sollecito
31e58dd2e5 [CORDA-1937]: Fixes to enterprise float and bridge. 2018-09-04 11:20:34 +01:00
Michele Sollecito
fbaa31e9d2 Merge remote-tracking branch 'open/master' into os_ent_merges/CORDA-1937
# Conflicts:
#	client/rpc/src/main/kotlin/net/corda/client/rpc/internal/CordaRPCClientUtils.kt
#	core/src/main/kotlin/net/corda/core/internal/InternalUtils.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/ArtemisMessagingClient.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/bridging/AMQPBridgeManager.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/bridging/BridgeControlListener.kt
#	node/src/integration-test/kotlin/net/corda/node/NodeKeystoreCheckTest.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/network/NetworkMapTest.kt
#	node/src/integration-test/kotlin/net/corda/services/messaging/MQSecurityTest.kt
#	node/src/main/kotlin/net/corda/node/internal/Node.kt
#	node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt
2018-09-04 11:07:50 +01:00
Michele Sollecito
d01dd22419
[CORDA-1937]: Refactor NodeConfiguration hierarchy. (#3856) 2018-09-04 10:26:10 +01:00
Mike Hearn
97aef9c8a1 Merge remote-tracking branch 'open/master' into mike-merge-f6ee263db10 2018-09-03 20:13:38 +02:00
Shams Asari
11e2bef240
ENT-2473: Removed copyright headers (#1364) 2018-09-03 16:38:52 +01:00
Michal Kit
8e6a9818b7
CORDA-1932 Fixing network map certificate path verification (#3843)
* CORDA-1932 Fixing network map certificate path verification to be certificate hierarchy agnostic

* Addressing review comments
2018-08-31 09:35:36 +01:00
Michal Kit
d7b85b4928
CORDA-1934 Renaming INTERMEDIATE_CA certificate role to DOORMAN_CA certificate role (#3844) 2018-08-31 09:35:06 +01:00
szymonsztuka
b98f91ee61 Merge remote-tracking branch 'remotes/origin/master' into feature/ENT-2253-NonStop-changes
# Conflicts:
#	node/src/main/resources/migration/node-info.changelog-master.xml
#	node/src/main/resources/migration/node-info.changelog-v3.xml
2018-08-30 15:51:38 +01:00
szymonsztuka
dbc1088417
CORDA-1939 Regression: Liquibase fails to migrate existing pre-liquibase database (#3855)
* Bugfix for corda.jar manually deployed without coping the matching corda-finance-VERSION.jar.
If the older finance cordapp version is detected (which doesn't have Liquibase migration scripts) fail node at startup and print message: "Could not create the DataSource: Detected incompatible corda-finance cordapp without database migration scripts, replace the existing corda-finance-VERSION.jar with the latest one."
Since coda-finance is an optional cordapp,the presence of Liquibase scripts is only checked if corda-finance-VERSION.jar is present in cordapps folder.
*  Allow to start using Liquibase from any point of 4.0-SNAPSHOT before Liquibase was introduced (not only from 3.0/3.X versions) - 2 database changes introduced after 3.2 but before Liquibase are now conditional database changes.
2018-08-30 13:40:02 +01:00
Dominic Fox
b6bd923f3b Resolve merge conflicts 2018-08-30 10:31:38 +01:00
Christian Sailer
43f7b8477e Merge commit 'bc330bd9890d41904bbeea6e579f5fc4438872b6' into christians/merge-ENT-2414 2018-08-28 12:26:57 +01:00
Dominic Fox
f81428eb53
Corda 1916: signature attachment constraints (#3839)
* Create constraint, extract Jar signature collection

* Extract JarSignatureCollector into its own file

* Jar signature collection throws exception if signatures are inconsistent

* Focus testing in Jar signature collection

* Extract some helper functions in test

* Patch tests with mock attachment storage

* Assert that generated constraint is satisfied by signed attachment

* Clarify constraint selection logic

* Explicit return types on extension methods

* Link to docsite Signature Contrainsts documentation

* Fix issue with shared JAR reading buffer
2018-08-24 17:21:54 +01:00
Christian Sailer
bc330bd989
ENT-2414 Named caches (#3848)
* Add named caches and apply to NonInvalidingUnboundCache and all usages.

* Add named caches and apply to NonInvalidingCache and all usages.

* Add named caches and apply to NonInvalidingWeightBasedCache and all usages.

* Move NamedCache to core/internal

* Remove type `NamedCache` and `NamedLoadingCache`

* Suppressed 'name not used' warning, added comment, and fixed generic parameters on the buildNamed functions.

* Use `buildNamed` in all caffeine instances in production code. Not using it for caches that are created in test code.

* Add checks for the cache name

* Formatting

* Minor code review revisions
2018-08-24 17:17:22 +01:00
PokeyBot
042b91814a
Merge pull request #3834 from corda/mike-rpc-propagate-deser-errors
Propagate RPC deserialisation faults back to the caller
2018-08-24 16:52:23 +01:00
Clinton
3594ccd89b
CORDA-1924: Remove references to Cordform definition and cordform-common (#3842) 2018-08-24 16:29:14 +01:00
Mike Hearn
8fd4d0d218 RPC: propagate failures when they occur during deserialization.
Before this change, a failure to deserialize an RPC reply would leave
the caller hanging because we'd never set the future.
2018-08-24 15:16:55 +02:00
szymonsztuka
c7f666102f Fixes after merge remote-tracking branch 'remotes/open/master' into szymonsztuka/os-merge-20180824 2018-08-24 12:27:47 +01:00
szymonsztuka
598e3a327a Merge remote-tracking branch 'remotes/open/master' into szymonsztuka/os-merge-20180824
# Conflicts:
#	build.gradle
#	core/src/main/kotlin/net/corda/core/schemas/PersistentTypes.kt
#	finance/src/main/kotlin/net/corda/finance/schemas/CashSchemaV1.kt
#	finance/src/main/kotlin/net/corda/finance/schemas/CommercialPaperSchemaV1.kt
#	finance/src/main/resources/migration/cash.changelog-init.xml
#	finance/src/main/resources/migration/cash.changelog-master.xml
#	finance/src/main/resources/migration/commercial-paper.changelog-init.xml
#	finance/src/main/resources/migration/commercial-paper.changelog-master.xml
#	finance/src/main/resources/migration/commercial-paper.changelog-v1.xml
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/MigrationHelpers.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/persistence/SchemaMigration.kt
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/internal/schemas/NodeInfoSchema.kt
#	node/src/main/kotlin/net/corda/node/services/persistence/DBCheckpointStorage.kt
#	node/src/main/kotlin/net/corda/node/services/schema/NodeSchemaService.kt
#	node/src/main/resources/migration/common.changelog-init.xml
#	node/src/main/resources/migration/common.changelog-master.xml
#	node/src/main/resources/migration/node-core.changelog-init.xml
#	node/src/main/resources/migration/node-core.changelog-master.xml
#	node/src/main/resources/migration/node-core.changelog-pkey.xml
#	node/src/main/resources/migration/node-core.changelog-postgres-blob.xml
#	node/src/main/resources/migration/node-core.changelog-tx-mapping.xml
#	node/src/main/resources/migration/node-core.changelog-v3.xml
#	node/src/main/resources/migration/node-core.changelog-v4.xml
#	node/src/main/resources/migration/node-info.changelog-init.xml
#	node/src/main/resources/migration/node-info.changelog-master.xml
#	node/src/main/resources/migration/node-info.changelog-v1.xml
#	node/src/main/resources/migration/node-info.changelog-v2.xml
#	node/src/main/resources/migration/node-notary.changelog-init.xml
#	node/src/main/resources/migration/node-notary.changelog-master.xml
#	node/src/main/resources/migration/node-notary.changelog-pkey.xml
#	node/src/main/resources/migration/node-notary.changelog-v1.xml
#	node/src/main/resources/migration/vault-schema.changelog-init.xml
#	node/src/main/resources/migration/vault-schema.changelog-master.xml
#	node/src/main/resources/migration/vault-schema.changelog-pkey.xml
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
2018-08-24 12:23:30 +01:00
szymonsztuka
487cad7d06
CORDA-1471 Database schema setup for internal tables via Liquibase (#3815)
Internal tables (the tables from node and finance modules) are now tracked /created by Liquibase script.
Tables backing MappedSchemma in Cordapps are created by Hibernate (as before). 
The PR scope added Liquibase library, setup code SchemaMigration and XML scripts and from Enterprise.
For existing database installation - the node will auto-upgrade to use Liquibase.
Method migrateOlderDatabaseToUseLiquibase checks for any 3.X existing Corda database to upgrade database to use Liquibase. When the existing database without Liquibase integral tables is detected, the node (at startup) will create Liquibase tracking tables and fill them with all migration scripts (marked as done), this ensure the database will look as it would use Liquibase from the beginning.
The database changes gradually introduced by the subsequent 3.X releases (3.1, 3.2) are conditionally run by Liquibase.
2018-08-23 16:30:02 +01:00
rick.parker
e508033201 Merge remote-tracking branch 'remotes/open/master' into parkri-os-merge-20180809-1 2018-08-09 09:33:38 +01:00
Roger Willis
0c7e0f6dbb
Bumped minimum platform version for the bootstrapper from 1 to 4 to unlock reference states. (#3753) 2018-08-08 12:09:47 +01:00
rick.parker
49d99f00fc Merge remote-tracking branch 'remotes/open/master' into parkri-os-merge-20180802-1 2018-08-02 10:34:34 +01:00
Rick Parker
ff298e17e1
CORDA-1866 Avoid circular flushing in our hibernate column converters. (#3737) 2018-08-02 10:08:12 +01:00
Dominic Fox
9c89e3babd Merge commit '121dbec87700856679baab3995352448e8214b4e' into df-merge-2018-07-25 2018-07-25 18:00:24 +01:00
Tudor Malene
3259c4b64a
Tudor merge os 25 jul (#1299)
* Feature/corda 1813/change postgres column type (#3631)

* CORDA-1813 fix Postgres db bloat issue

* CORDA-1813 merge fixes

* CORDA-1813 change column type and size to a standard corda type

* CORDA-1813 docs

* CORDA-1813 create custom hibernate type for the checkpoint blob and align with enterprise

* CORDA-1813 Remove max col size

* CORDA-1813 Remove max col size

* CORDA-1813 Fix merge

* CORDA-1813 Remove buggy :serverNameTablePrefix: configuration

* CORDA-1813 fix merge
2018-07-25 15:21:51 +01:00
Tudor Malene
40fc56f2ea
Feature/corda 1813/change postgres column type (#3631)
* CORDA-1813 fix Postgres db bloat issue

* CORDA-1813 merge fixes

* CORDA-1813 change column type and size to a standard corda type

* CORDA-1813 docs

* CORDA-1813 create custom hibernate type for the checkpoint blob and align with enterprise

* CORDA-1813 Remove max col size

* CORDA-1813 Remove max col size

* CORDA-1813 Fix merge

* CORDA-1813 Remove buggy :serverNameTablePrefix: configuration
2018-07-25 09:52:57 +01:00
Shams Asari
d040945b0e Merge fixes 2018-07-24 18:37:04 +01:00
Shams Asari
02fae5f385 Merge remote-tracking branch 'open/master' into os-merge-757181e
# Conflicts:
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/persistence/CordaPersistence.kt
#	node/src/integration-test/kotlin/net/corda/node/services/messaging/ArtemisMessagingTest.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/messaging/P2PMessagingClient.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
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/InternalMockNetwork.kt
2018-07-24 17:04:51 +01:00
Shams Asari
d4f0e0f8e0
Ordered starting of node components and clear dependencies between them (#3664)
Moved start up logic of the various node components out of their c’tors and into “start” methods, which are called from Node.start(). The components themselves are created in the Node’s c’tor with minimal initialisation logic.

Certain things are not immediately available at construction time, which are instead given to the components at start time in an orderly fashion:

* Certs from the node’s key store and trust store
* The network parameters, and thus access to things like maxMessageSize and the contracts whitelist
* A running database - several components were doing database stuff their c’tors
* The node’s NodeInfo, and thus access to things like identities and addresses

The messaging service couldn’t be created in the Node’s c’tor due to initialisation issues with MockNode. This should be fixed in a later commit.
2018-07-24 16:13:21 +01:00
Michele Sollecito
a4d65dae22 Merge remote-tracking branch 'remotes/open/master' into merges/july-23-11-26
# Conflicts:
#	confidential-identities/src/test/kotlin/net/corda/confidential/IdentitySyncFlowTests.kt
#	docs/source/changelog.rst
#	node/src/integration-test/kotlin/net/corda/node/NodePerformanceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/BFTNotaryServiceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/BFTSMaRtTests.kt
#	node/src/main/kotlin/net/corda/node/internal/Node.kt
#	node/src/main/kotlin/net/corda/node/internal/cordapp/JarScanningCordappLoader.kt
#	node/src/main/kotlin/net/corda/node/internal/cordapp/ManifestUtils.kt
#	node/src/test/kotlin/net/corda/node/CordaRPCOpsImplTest.kt
#	node/src/test/kotlin/net/corda/node/internal/cordapp/JarScanningCordappLoaderTest.kt
#	node/src/test/kotlin/net/corda/node/messaging/TwoPartyTradeFlowTests.kt
#	node/src/test/kotlin/net/corda/node/services/TimedFlowTests.kt
#	settings.gradle
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/DriverDSLImpl.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/NodeBasedTest.kt
2018-07-23 15:22:39 +01:00
Michele Sollecito
abc1d99eaa
[CORDA-1799]: Avoid generating test CorDapp JARs from each out of process node started by the driver (#3641) 2018-07-23 11:18:11 +01:00
Anthony Keenan
168664f7a8 Merge remote-tracking branch 'open/master' into os-merge-20180722
# Conflicts:
#	CONTRIBUTORS.md
#	constants.properties
#	docs/source/aws-vm-explore.rst
#	docs/source/azure-vm-explore.rst
#	docs/source/corda-networks-index.rst
#	docs/source/gcp-vm.rst
#	docs/source/getting-set-up.rst
#	docs/source/node-database.rst
#	finance/src/main/kotlin/net/corda/finance/contracts/asset/cash/selection/CashSelectionSQLServerImpl.kt
#	finance/src/main/resources/META-INF/services/net.corda.finance.contracts.asset.cash.selection.AbstractCashSelection
#	node/src/main/kotlin/net/corda/node/services/vault/NodeVaultService.kt
#	node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt
2018-07-22 23:06:43 +01:00
Anthony Keenan
7853cfe003
[CORDA-1482] Make boolean config variables case insensitive (#3622)
* Make boolean config variables case insensitive

* Address review comments
2018-07-21 11:54:02 +01:00
Dominic Fox
62c2e1c892 OS merge 2018-07-19 2018-07-19 16:43:46 +01:00
bpaunescu
53b398a460
ENT-2116: handle amqp client remote error, added test (#3636)
* ENT-2116: handle amqp client remote error, added test

* ENT: 2116 rename test, added logging

* ENT-2116: rename test to indicate its purpose
2018-07-18 16:07:42 +01:00
Michal Kit
c0207b2219
CORDA-1815 adding maxTransactionSize validation (#3635)
* CORDA-1815 adding maxTransactionSize validation

* Fixing failing tests

* Fixing failing test
2018-07-18 10:34:41 +01:00
Chris Rankin
d54bf2f761 Remove Guava shading from node-api because Curator already shades its own. 2018-07-18 09:29:56 +01:00
szymonsztuka
3d20a15180 Revert "CORDA-1804 Corda node stops when detecting not migrated node_attachments_contracts table name (#3593)"
This reverts commit 208ac49
Reverting because it's OS specific and tables are managed by Liquibase in ENT.
2018-07-16 10:24:31 +01:00
bpaunescu
33ce848e0c OS-ENT merge 2018-07-16 10:00:16 +01:00
Konstantinos Chalkias
bf4f30fd39
Use newSecureRandom instead of SecureRandom (#3606) 2018-07-14 05:21:02 +01:00
szymonsztuka
208ac49da0
CORDA-1804 Corda node stops when detecting not migrated node_attachments_contracts table name (#3593)
Database table NODE_ATTACHMENTS_CONTRACT_CLASS_NAME in v3.0 was changed to NODE_ATTCHMENTS_CONTRACTS in v3.1 and then finally NODE_ATTACHMENTS_CONTRACTS on current master. Users may omit the upgrade note and run into errors. After the change the node will not start if the new table name is not found and any other older ones is found.
2018-07-13 16:23:20 +01:00
rick.parker
21a7b56161 Fix up compilation errors. 2018-07-13 14:33:13 +01:00
Katarzyna Streich
4fb7f7d3d0
CORDA-1733 X500Principal configuration parsing (#3580)
CORDA-1733 X500Principal configuration parsing

Change the NodeConfiguration.tlsCertCrlIssuer type from String to X500Principal
2018-07-13 13:44:29 +01:00
rick.parker
4e81d26985 Merge remote-tracking branch 'remotes/open/master' into parkri-os-merge-20180713-1 2018-07-13 13:15:53 +01:00