161 Commits

Author SHA1 Message Date
Chris Rankin
fafd8406fd Merge commit 'd0d07287' into chrisr3-os-merge 2018-05-15 13:22:34 +01:00
Chris Rankin
d0d07287e7
Remove duplicate Netty classes from Node. (#3142)
* Remove duplicate Netty classes from Node.
* Force all Netty modules to our given version.
2018-05-15 12:35:00 +01:00
cburlinchon
1c2d6d8100
Unrevert artemis upgrade to 2.5.0 (#3029) (#815)
* Revert "Revert "artemis upgrade to 2.5.0 (#3029)""
2018-05-10 10:01:37 +01:00
szymonsztuka
37b715c955 Revert "artemis upgrade to 2.5.0 (#3029)"
This reverts commit c3e6b39
2018-05-02 13:47:19 +01:00
szymonsztuka
b25892e45b resolved conflicts 2018-05-01 21:32:11 +01:00
bpaunescu
c3e6b39e59
artemis upgrade to 2.5.0 (#3029) 2018-04-27 19:54:08 +01:00
Andrius Dagys
efd203e5f3
ENT-1540: Make sure transactions with "expired" time windows get re-notarised correctly (#3004)
* ENT-1540: Make sure transactions with "expired" time windows get re-notarised correctly.

Currently the time window is checked before states are being passed to a uniqueness provider. If the time window is
invalid, the transaction will be rejected even if it has already been notarised, which violated idempotency.

For this reason the time window verification was moved alongside state conflict checks.

* Update API - this only affects custom notary interfaces
2018-04-27 15:02:09 +01:00
Chris Rankin
e135cf062c Merge commit '5f70b6e04954a6dc64a1a56089eeccb2966bb0ae' into chrisr3-os-merge 2018-04-24 18:09:41 +01:00
Chris Rankin
8e507d0b88
CORDA-1263: Replace deprecated kotlin-stdlib-jre8 with kotlin-stdlib-jdk8. (#2992) 2018-04-24 14:03:41 +01:00
Andras Slemmer
ce5fb66260 StateMachine rewrite 2018-04-23 15:36:16 +01:00
Chris Rankin
10e97f4919
Remove logback SLF4J backend from node tests. (#659)
* Remove logback SLF4J backend from node tests.
* Use netty_version build variable.
2018-03-30 23:52:53 +01:00
Rick Parker
614d2049ec
ENT-1625 Fix overly large footprint of checkpoint bandwidth histogram (#580)
* Upgrade metrics library and histogram implementation

* Only write to the "per second" checkpoint bandwidth histogram once per second, maximum.

* Bug fix

* Review feedback and fix unit test

* Fix IRS demo to use specific metrics version in spring boot
2018-03-21 09:52:29 +00:00
Matthew Nesbit
6885661b66 Initial cut of SOCKS proxy support
Correct the reconnect logic when SOCKS proxy is in the pipeline

Add integration tests and adjust handling of reconnect

Rename parameter
2018-03-19 11:37:46 +00:00
IgorNitto
0a0c8538c4 Merge from Corda/OS 2018-03-14 17:24:47 +00:00
Rick Parker
a24a2105b1
CORDA-1217 Replace Guava caches with Caffeine (#2818) 2018-03-14 16:07:31 +00:00
Andrzej Cichocki
6b80072b18
ENT-1439 Use thread-local MessageDigest. (#541) 2018-03-13 10:20:22 +00:00
ags
dba52b1676
Merge remote-tracking branch 'open/master' into ags_2018-03-12 2018-03-12 11:25:46 +00:00
szymonsztuka
b86071c5c5
ENT-1566 Fixes for db integration tests + ENT-1575 db migrations for db attachment changes (#521)
ENT-1575 Add db migrations for db attachment changes,

ENT-1566 Fixes for db integration tests -following changes in CORDA-926 (obligatory node properties), upgrade db schema setup in draining mode/RPC tests, set runMigration=true in properties files for db tests, add new tables for deletion in SQL setup scrips
Updated db integration tests description in testing.rst
2018-03-09 09:52:44 +00:00
ags
ca54ed611c
addressing review remarks 2018-03-08 09:06:12 +00:00
szymonsztuka
3733e7d715 Merge remote-tracking branch 'remotes/open/master' into merges/CORDA-792
# Conflicts:
#	.idea/compiler.xml
#	build.gradle
#	node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcSslTest.kt
#	node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt
#	node/src/main/kotlin/net/corda/node/shell/CordaAuthenticationPlugin.kt
#	node/src/main/kotlin/net/corda/node/shell/CordaSSHAuthInfo.kt
#	node/src/main/kotlin/net/corda/node/shell/RPCOpsWithContext.kt
#	node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt
#	settings.gradle
#	testing/test-common/src/main/kotlin/net/corda/testing/common/internal/UnsafeCertificatesFactory.kt
#	tools/shell/src/integration-test/kotlin/net/corda/tools/shell/SSHServerTest.kt
#	tools/shell/src/main/java/net/corda/tools/shell/FlowShellCommand.java
#	tools/shell/src/main/java/net/corda/tools/shell/RunShellCommand.java
#	tools/shell/src/main/java/net/corda/tools/shell/StartShellCommand.java
#	tools/shell/src/main/kotlin/net/corda/tools/shell/FlowWatchPrintingSubscriber.kt
#	tools/shell/src/main/kotlin/net/corda/tools/shell/InteractiveShell.kt
#	tools/shell/src/main/kotlin/net/corda/tools/shell/InteractiveShellCommand.kt
#	tools/shell/src/main/kotlin/net/corda/tools/shell/utlities/ANSIProgressRenderer.kt
#	tools/shell/src/main/resources/net/corda/tools/shell/base/login.groovy
#	tools/shell/src/test/kotlin/net/corda/tools/shell/CustomTypeJsonParsingTests.kt
#	tools/shell/src/test/kotlin/net/corda/tools/shell/InteractiveShellTest.kt
2018-03-07 16:49:00 +00:00
Andrzej Grzesik
803ce15b32
Corda-1155 - Jolokia logging via slf4j (#2753)
* Jolokia logging through slf4j

* review remarks
2018-03-07 13:23:00 +00:00
szymonsztuka
72074c76c7
[CORDA-792] Standalone Shell (#2663)
- Existing embedded Shell connects via RPC including checking RPC user credentials (before was a direct use of CordaRPCOps):  in dev mode when console terminal is enabled, node created `shell` user.
- New Standalone Shell app with the same functionalities as Shell: connects to a node via RPC Client,  can use SSL and run SSH server.
2018-03-07 09:57:32 +00:00
Michele Sollecito
da1afd9c55
Introduced copyright in all source files. (#519) 2018-03-06 17:29:21 +00:00
tudor.malene@gmail.com
98a4fe1ce3 Merge remote-tracking branch 'open/master' into merge/tudor_network_bootstrap
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/amqp/AMQPBridgeTest.kt
2018-03-06 11:37:30 +00:00
Michele Sollecito
6479d7d8ff
[CORDA-1156]: Output of run networkMapFeed and run networkMapSnapshot not consistent in shell (fixed) (#2733) 2018-03-06 10:15:17 +00:00
sollecitom
d41b9a0299 merged OS into master 2018-02-23 15:47:07 +00:00
Michele Sollecito
5be0e4b39e
[CORDA-941]: Add NetworkParameters contract implementation whitelist. (#2580) 2018-02-23 14:29:02 +00:00
Andras Slemmer
25263c20c7 Merge remote-tracking branch 'open/master' into aslemmer-merge-19-Feb 2018-02-20 15:52:09 +00:00
igor nitto
458db7cb24
Cleanup build (#2551)
* Remove compile-time dependencies on jolokia-war from webserver 
* Stop exporting jolokia version to all projects, it is only used by node
2018-02-16 12:17:46 +00:00
igor nitto
ed0cf91946
Start Jolokia agents if configured without modifying JVM options [CORDA-1042] (#2541)
* Jolokia agents are loaded dynamically if configured
* Renamed exportJmxTo (never used) to jmxMonitoringHttpPort and take it from config
* Updated documentation and tests
2018-02-15 17:10:07 +00:00
szymonsztuka
1ecf646f7e
Oracle 11xe and 12c database compatibility (#206)
* Sql setup scripts for Oracle and datasource configuration.
* CashSelection for Oracle.
* Workaround of forbidden distinct for BLOBs.
* ojdbc8.jar driver dependency from Oracle Maven repository, ojdbc6.jar from lib (it's not in Maven repo).
* allow to use random Port in node names and trim it from schema name, remove schema with port numbers from db setup (to cater for new test, non Oracle specific change) 
* Removed unnecessary code from ConfigUtilities (non Oracle specific change) 
* Removed db integration tests setup for RPCStabilityTest as it doesn't start any nodes
2018-01-29 18:35:58 +00:00
igor nitto
3be30af161 [ENT-1363] DB integration test fixes (#411)
Dependencies on JDBC drivers in 'node' need to be marked as 'runtime' instead of 'integrationTestRuntimeOnly', to make them available to integration tests in other projects.
2018-01-25 18:32:34 +00:00
igor nitto
1be4f0950d
Remove compile time dependency on JDBC drivers [ENT-1363] (#387)
* Change JDBC drivers dependencies to integrationTestRuntimeOnly
* Added smoke test validating JDBC driver registration located in "./plugins" directory 
* Some docsite tweaks
2018-01-25 13:38:51 +00:00
Tudor Malene
cef1f9885c
ENT-1282: create standalone db migration tool (#356)
* ENT-1282: add standalone db migration tool that works with both the node and the doorman

* ENT-1282: remove cmd line args during node startup

* ENT-1282: more clear message

* ENT-1282: fix integration test

* ENT-1282: more fixes and cleanup code

* ENT-1282: address PR comments

* ENT-1282: more fixes and refactoring

* ENT-1282: more classloader fixes

* ENT-1282: changes after demo feedback

* ENT-1282: update API

* ENT-1282: update documentation

* ENT-1282: formatting

* ENT-1282: added CONSOLE option for dry-run and logging

* ENT-1282: documentation changes

* ENT-1282: remove getMigrationResource from the public API

* ENT-1282: removed dependency on network-manager, added release-lock

* ENT-1282: Update documentation
2018-01-24 11:55:43 +00:00
Christian Sailer
013ac82dde
ENT-1412 flow state machine metrics (#390)
* re-add metrics for flows started, flows finished and checkpoint rate
Add metric for checkpoint volume rate.

* Put error and success counters in FlowStateMachine

* Optional graphite metrics writer

* Improved checkpoint volume metrics.

* Code review: Clean up/layout.

* Code review: spelling
2018-01-23 09:15:09 +00:00
Andrius Dagys
e57dab6fcc
ENT-1232: Add MySQL notary service (#187)
* Add MySQL notary service. This is the first iteration of a HA notary service,
and is intended to replace the Raft notary. The backing database should
be a replicated MySQL implementation such as Percona XtraDB Cluster.

Handle MySQLTransactionRollbackException

Add the `mysql-connector-java` to the build file of the node package.

Add Hikari connection pool

* Store requesting party name & key in separate columns (for consistency
with existing uniqueness providers)

* Add idempotency test and additional counters
2017-12-18 09:47:07 +00:00
josecoll
8a6e9c52f3 Merge remote-tracking branch 'open-hc01/master' into colljos-os-hc01-merge-111217 2017-12-11 09:21:52 +00:00
igor nitto
da38e6f673
Configurable authorization/authentication data sources [CORDA-827] (#2145)
* Add support for external data source of access control data (RPC/Shell users credential and permissions), with optional in-memory caching.
* Support password encoded with Apache Shiro fully reversible Modular Crypt Format.
* Introduce 'security' field in Node configuration and related docsite page.
2017-12-11 08:39:09 +00:00
josecoll
4762569200
CORDA-822 - JMX Jolokia instrumentation (#2197)
* JMX Jolokia instrumentation WIP (driverDSL, webserver, cordformation, hibernate statistics, access policy config file hardening)

* Cordformation changes to support jolokia agent instrumentation at JVM startup.

* Minor updates to reflect usage of Jolokia 1.3.7 (which uses slightly different .war naming)

* Use relative path reference in -javaagent to prevent problem with long path names with spaces.

* Fixed incorrect regex pattern and added assertion to test.

* Enable JMX monitoring.

* Reporting of Hibernate JMX statistics is configurable (by default, only switched on in devMode)

* Make Artemis JMX enablement configurable.

* Re-instate banning of java serialization.

* Improve JUnit.

* Fixes following rebase from master.

* Re-instated correct regex for picking up Jolokia agent jar.

* Fixed broken integration test.

* Updated documentation

* Updated following PR review feedback.

* Fixed compilation error caused by change in DriverDSL argument type.

* Fixed compilation error caused by change in DriverDSL argument type.

* Fail fast if jolokia-agent-jvm.jar is not located.

* Applied changes in cordformation following review feedback from CA.
2017-12-08 16:27:12 +00:00
szymonsztuka
737cd7edba
Improved SQL test setup for Azure SQL and SQL Server (#152)
* Improved SQL scripts for SQL Server and Azure to drop user/permissions on class setup not on test setup
* Set Micorsoft JDBC driver as compile time dependency.
* Database testing description.
* New table node_mutual_exclusion added to SQL test setup scripts.
2017-12-07 16:26:17 +00:00
cburlinchon
c87f37af3e
ENT-1127 mutual exclusion so a node cannot start if another is running (#111)
* Dont lock row
* Add config for RunOnceService
* Don't invalidate Hibernate L2 cache on native queries
* Change column names to avoid name clash
2017-12-05 14:46:35 +00:00
szymonsztuka
709b3791a3
SQL Azure and SQL Server database integration tests (#115)
* Integration test are parameterised (extends IntegrationTest) to run against a remote database with 4 db scripts run @BeforeClass, @Before, @After and @AfterClass.
* SQL script for SQL Azure and SQL Server databases and templates of JDBC configuration.
2017-12-01 17:17:51 +00:00
szymonsztuka
2bdd8b681d Merge OS to Enterprise.
Main differences preserved in Enterprise version:
* constants.properties: platform version 1 (OS has 2)
* gradle-wrapper.properties: higher Gradle version gradle-4.3.1 (OS has gradle-4.3)
* Driver.kt - setting system property "user.dir"
2017-11-30 23:54:12 +00:00
Shams Asari
5c53a91785 Overhaul of the Bank of Corda demo to fix two problems it had:
1. The runRPCCashIssue and runWebCashIssue gradle tasks didn't work because they were using the wrong ports
2. Notary lookup was failing because the lookup name didn't include the correct CN for the notary name (this slipped through when reverting the network parameters)

The ports change occurred in #1922 which was attempting the fix the runIssuer gradle task. This is actually a misleading and redundant task as all it does is start up the nodes, which is what the documented deployNodes already does. The ports runIssuer allocated to the nodes were different to the ones specified in deployNodes.

To make sure we have integration tests which closely match deployNodes, the BoC demo has been updated to make use of CordformDefinition. This keeps the node definitions in one place, removing the need to have disparate files in sync. runIssuer has been removed.
2017-11-29 14:48:05 +00:00
szymonsztuka
175bceb5e8
SQL Azure database compatibility (#113)
* Coin selection for SQL Server/Azure
* Transaction isolation level change for updateInfoDB in PersistentNetworkMapCache from "repeatableRead" to "readCommitted"
* Configuration option to prefix all Hibernate generated SQL with a schema name via a configuration property `database.schema`
* Fix negative value in SELECT TOP query (fix for Oracle db)
2017-11-22 12:28:38 +00:00
szymonsztuka
0f8baae962 Merge opensource into master 2017-11-21 18:53:14 +00:00
Maksymilian Pawlak
e63b6d1386
CORDA-311 Shell via SSH server (#2087)
* SSH server integration
2017-11-20 17:41:38 +00:00
Christian Sailer
7765de0bf9 Merge branch 'master' of https://github.com/corda/corda into christians_os_merge_20171106 2017-11-06 17:27:13 +00:00
Shams Asari
837e8800e8 Checking that the smoke tests don't have the node on their classpath. 2017-11-02 20:58:03 +00:00
Christian Sailer
3e61d13ffe Merge remote-tracking branch 'corda/master' into christians_os_merge_20171031 2017-11-02 14:41:18 +00:00