* Fix a typo in node_attchments_contracts table name. (#3202)
(cherry picked from commit 57d379597b)
* 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.
(cherry picked from commit 208ac49da0)
* Fixes after cherry-pick of 208ac49da0.
* Cleanup and improvements to the serialisation format of JacksonSupport (needed for CORDA-1238) (#3102)
Also deprecated all the public members that shouldn't have leaked into the public API.
(cherry picked from commit 3bb95c3)
* CORDA-1238: Updated JacksonSupport to support SerializedBytes, CertPath, X509Certificate and the signature classes (#3145)
SerializedBytes are first converted to the object it represents before being serialised as a pojo.
These changes will be needed to support the the blob inspector when it will output to YAML/JSON.
(cherry picked from commit b031e66)
* Cherry picked part of commit 824adca to port over *only* the JackSupport refactoring.
* CORDA-1238: Moved the blob inspector out of experimental and wired it to JackonSupport (#3224)
The existing output format was not complete and so was deleted to avoid it becoming a tech debt. We can always resurrect it at a later point.
(cherry picked from commit 4e0378d)
* Added back support for parsing OpaqueBytes as UTF-8 strings in JacksonSupport (#3240)
(cherry picked from commit d772bc8)
* Cleaned up blob inspector doc (#3284)
(cherry picked from commit b7fbebb)
* Blobinspector: trace level logging with --verbose (#3313)
(cherry picked from commit 6a2e50b)
* Cherry picked part of commit 3046843 to fix issue with --version
* Fixes to the api file
* CORDA-1510 - Allow Doorman and NetworkMap to be configured independently (#3485)
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
* Fix cherry-pick
* [CORDA-1575]: Out of process nodes started by the driver do not log to file (fix).
* [CORDA-1341]: Ensure API can be called concurrently wrt transactions.
* [CORDA-1575]: Fixed unstable test.
* [CORDA-1297] Columns nullability (#3112)
JPA/Hibernate entities need to impose the correct NULL/NOT NULL constraints on the database - whatever these correct values actually are.
API change: net.corda.core.schemas.PersistentStateRef fields (index and txId) are now non-nullable. Rationale: The fields were always effectively non-nullable - values were set from non-nullable fields of other objects. The class is used in context of database table Primary Key of for other entities and a database already imposes those columns as non-nullable (even if JPA annotation nullable=false was absent).
(cherry picked from commit 7d69bc6)
* Compilation fix
* [CORDA-1394]: Node can fail to fully start when a port conflict occurs, without a useful error message (fix).
* [CORDA-1338]: Error with VaultQuery for entity inheriting from CommonSchemaV1.FungibleState (fix).
* [CORDA-1338]: Error with VaultQuery for entity inheriting from CommonSchemaV1.FungibleState (fix).
* Attempting to fix weird recursive types problem.
* Attempting to fix weird recursive types problem.
* Attempting to fix weird recursive types problem.
* REVERT - CORDA-1264 - Needs more thought prior to release
This reverts commit 33af80ac55.
Since this causes regressions in the way errors are propogated to
clients it seems best to not break or hold up 3.1 but revert this commit
and move on
* fix revert
* ENT-1668: Don't crash on node startup when network map is not available (#2887)
Fix ENT-1668
Don't crash on node startup when network map is not available
* Add changelog entry
* ENT-1564 - add additional uploader check to the HashConstraint (#2845)
(cherry picked from commit 1a1cd94)
* ENT-1564 changelog entry
* ENT-1564 ignored tests that were removed in master
Problem manifests now that the classpath scanner is used by the
serialisation framework in factory initialization to locate pluggable
serializers. The actual thrown error is
java.lang.RuntimeException: Unknown constant pool tag
Given this is a known issue and a fixed bug it makes sense to move the
version forward. Unfortunately at this time we cannot move beyond
2.12.3 as 2.12.4 and later versions (up to the latest 2.18.1) exhibit
some other error that needs investigating. Thus, move to the latest
version that is stable for our current set of use cases.
More information on the nature of the problem exhibited by moving beyond
2.12.3 can be found on the linked Jira (ENT-1665) as well as details on
reproducing the issue moving forward to 2.12.3 fixes.
* Api scanner backport and update of api-current.txt
* Updated api-current based on current state of release branch
* Update to most recent version of api scanner
* Fix a couple of issues with the merge and regenerate the api file with the most recent version of the scanner.
* Update changelog/release notes
* DOC: AMQP upgrade notes in brief
* moving test upgrade notes from release notes to upgrade note
* add cordapp/cordformation notes
* Added section for network map changes
* Updated upgrade notes to reflect changes for SSL (#2569)
* Updated upgrade notes to reflect changes for SSL
* Removed some blank lines.
* AMQP Constructor / property mismatch upgrade note
* wip
* Note about feasible (but not recommended) tables that can be migrated from Corda 2.0 to 3.0, basic recipe how to do it.
* Database schema changes - optional partial vault migration described at the end of the paragraph, focus on the overall changes to tables.
* Review Comments
* Database schema changes - split Vault and finance module changes, reformatting, improve migration note.
* Database schema changes - addressing PR comments.
* Database schema changes - move changes to change log, migration to JIRA ticket.
* Finalise versions
* review comments
* CORDA-1171: Add notes on the notary error change
* set release version
Further, the look up of the node's own node-info from its database has been tightened to ensure there isn't more than one.
Also fixed some brittle code which was assuming exactly one address rather than at least one.
(cherry picked from commit 2864ce1)
* Don't expose StartedNode via Node Driver
* Dont expose StartedNode/Abstract Node via MockNetwork
* Remove internal var from constructor as it doesn't hide from public api and change to internal initialisation method
* Update api
* Rename MockNode to StartedMockNode to avoid confusion
Update documentation
Update api-current.txt
* Fix typo
* Fix test failure
* Modify flow tests to use internal mock network and remove additional internal exposures from StartedMockNode
* Fix api-current
* Change InProcess and OutOfProcess to interfaces
* Explicitly declare MockNetwork parameters
Dont expose StateMachineManager
Move affected tests to use internal mock network
* Fix api-current
* Changes requested via review
* Fix IRS Demo address
* Fix api
* Remove internal attribute from classes in internal package
* Remove accidentally added code
* Move useHttps into NodeHandleInternal
* Remove duplicated code
* Update api-current
* Make webAddress internal on NodeHandle
* Make sure parameters in public api are explicitly specified
* Use correct address in IRS Demo
* Get webaddress from webserver handle
* Update api-current
# Conflicts:
# .ci/api-current.txt
* wire up and enforce max transaction size
* fixup after rebase
moved network parameter from AbstractNode to NodeProperties
* removed TODO
* fix broken import
* address PR issues
* remove API breaking change
address PR issue
* added max transaction size to driver and mock network.
address PR issues
* fix failing test
* added TODO
* fix verifier test
* fix spring driver build error
(cherry picked from commit c8cf46c)
* CORDA-939 - Dont expose FlowStateMachine via public API (#2438)
* Create CordaInternal attribute for properties on public classes that are not part of the api and apply to FlowLogic.stateMachine
* Remove startFlow from public test api and replace with startFlowAndReturnFuture
* Update api-current with changed signature
* Change test used in documentation to use public test methods
* Remove the rest of the unneccessary usages of the startFlow test utility
* Remove extra whitespace
* Rename startFlowAndReturnFuture back to startFlow
* Update api
* The annotation doesn't appear unless its marked as on the actual getter and setter
* Updated docs and removed pointless attribute
* Deleted whitespace
# Conflicts:
# .ci/api-current.txt
# testing/node-driver/src/main/kotlin/net/corda/testing/node/NodeTestUtils.kt
* Revert api-current to v1 api
* Adding missing line and missing annotations
* Made changes post review
* Minor text change
* add foreign key names and move the participants mapping to the subclass so that the table name can be configured
* update api-current file
* fix compilation errors
* PR changes
* PR changes
* Add roles to X509 certificates so that the identity service can always determine which certificate in a hierarchy is the well known identity
* Rename CLIENT_CA certificate type to NODE_CA
* Rename DOORMAN role to INTERMEDIATE_CA
* Correct issue in CashTests where instead of providing a well known identity to generateSpend(), a confidential identity was passed in and a confidential identity generated from it.
* Enforce role hierarchy in PKI
* Enforce that party certificates must be well known or confidential identities
* Add network map certificate role
Copying of the node-info files moved out of Cordform and into NetworkParametersGenerator (which is now called NetworkBootstrapper). This class becomes an external tool to enable deployment of nodes in a test setup on a single filesystem.
* Able to send hand coded messages to an Artemis node inbox
Get startup race condition fixed. Start cleanup work.
Fixup after rebase
Remove SASL hack for now
Minor tweaks. Enable AMQP mode manually.
Add configuration control
Slight clean up
Stop timeouts that don't work with AMQP
Rename class
Get TLS constants from :node-api
Primitive integration test
Put back commented line
Session per bridge to alow rollback on remote rejects.
Add more tests and handle multiple IP adddresses
Reduce logging
Fixup after rebase
Add a test to verify the remote end AMQP rejection logic works and does cause message replay.
Allow Artemis to duplicate after session rollback
Reduce number of threads
Move legacy bridge related code over to CoreBridgeManager
Shared threadpool for bridges
Add a test to confirm that no side effects when using a shared thread pool.
Address PR comments and remove dead lines
Rebase and add some comments
Remove a couple of blank lines
Ensure AMQP bridges are used in tests
Fixup after removal of testNodeConfiguration
Add a couple of doc comments
Add a couple of doc comments
Make things internal and use CordaFuture
Address some PR comments
Change comment type
* Use Artemis 2.2 to fix AMQP problems. Add explicit test of legacy core bridges, as marking the factory class private had silently broken them.
* Fix change due to using Artemis 2.2
* Extend unit test on RPCSecurityManager
* Fix corner cases in permission parsing and bug in tryAuthenticate
* Rework docsite page
* Add missing ChangeLog entry
* 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.
Previously when de-anonymising a Party instance, the name of the Party was used rather than
the key, meaning a Party could be constructed with a random nonsense key and any name, and be treated as corresponding to the well known identity. This is not a security hole in itself as
in any real scenario a party shouldn't be trusted without having been registered, it creates
a significant risk of a security hole depending on how trusted the anonymous identity is, and
the returned identity is considered.
The motivation for this came with the recent change that a default notary is started by the driver, which if ignored will leak the notary process.
Also, waitForAllNodesToFinish() has been replaced by a driver parameter.
* Network map cache using Network map client instead of artemis. -- WIP
* fix up after rebase
* address PR issues, split network map update test, added todos to remove sleeps
* move jimfs and baseDir to field variable