Commit Graph

74 Commits

Author SHA1 Message Date
11e2bef240 ENT-2473: Removed copyright headers (#1364) 2018-09-03 16:38:52 +01:00
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
0f36e22314 Corda-1869 serialisation refactor (#3780)
* Pull out and tidy type parameter inference

* Contain null proliferation

* Extract fingerprinter state

* SerializerFingerPrinter is always initialised with a SerializerFactory

* Move non-recursive state transition functions into state

* Move all state transition functions into state

* Simplify and optimise with mutable state

* Move TypeParameterUtils back into internal.amqp

* Clarify behaviour of constructorForDeserialisation

* constructorForDeserialization no longer returns null

* Capture field properties

* Narrow PropertyDescriptor

* Use map rather than apply on a mutable list

* Remove printStackTrace added for debugging

* CORDA-1869 minor tweaks

* Use groupingBy to avoid creating an intermediate map

* Convert some functional origami to plain old for-loops

* Eliminate nested lambda to unbreak pre-serialisation

* Use EnumMap for map of Enums
2018-08-30 10:18:02 +01:00
4337537791 CORDA-1945: properly support double-width interp stack slots in superclasses when synthesising (#3859)
* Fix for CORDA-1945

* Revert irrelevant style change
2018-08-29 17:43:17 +01:00
43f7b8477e Merge commit 'bc330bd9890d41904bbeea6e579f5fc4438872b6' into christians/merge-ENT-2414 2018-08-28 12:26:57 +01:00
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
acd3f44181 Merge remote-tracking branch 'open/master' 2018-08-23 13:55:11 +01:00
fd8c2e4dab Provide the exception class name and not just the message when there's an internal deserialisation fault. 2018-08-23 13:30:03 +02:00
b3433c2a46 Minor: reformat SerializerFactory.kt 2018-08-23 13:12:18 +02:00
0a5dcc91ea Merge remote-tracking branch 'open/master' into mike-merge-2fae95c58f9 2018-08-22 14:27:45 +02:00
1d05c16942 ENT-2439 Fix compression in serialization (#3825)
* ENT-2439 Fix compression in serialization
2018-08-22 10:37:18 +01:00
bb7d33380f Merge remote-tracking branch 'open/master' into kat-merge-27072018
Conflicts:
	core/src/main/kotlin/net/corda/core/internal/notary/NotaryServiceFlow.kt
	core/src/main/kotlin/net/corda/core/internal/notary/TrustedAuthorityNotaryService.kt
	docs/source/blob-inspector.rst
	docs/source/release-notes.rst
	docs/source/upgrade-notes.rst
	node/src/main/kotlin/net/corda/node/services/vault/NodeVaultService.kt
2018-07-27 16:09:26 +01:00
e871b83464 CORDA-1672 - Enable better user-helpful error messages (#3445)
* CORDA-1672 - Enable better user-helpful error messages

The issue is that the error reporting framework in the serializer is
targeted at developers in the node. However, because we pass exceptions
to users over RPC those error messages aren't always helpful.

Keep an internal exception that tracks debug useful information and log
that just before any exception escapes the framework and allow for
specific user "problem mitigation" issues to be set.

* wip

* update remaining excepions
2018-07-27 10:56:17 +01:00
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
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
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
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
62c2e1c892 OS merge 2018-07-19 2018-07-19 16:43:46 +01:00
099756c4c7 Replace internal JDK reference with ASM reference. (#1281) 2018-07-18 16:32:16 +01:00
aa50aaf95d Merge commit 'e879de7' into chrisr3-os-merge 2018-07-17 22:47:24 +01:00
7e3687c306 CORDA-1820: Reduce amount of logging/lookup performed by SerializerFactory.findCustomSerializer() (#3633)
* CORDA-1820: Reduce amount of logging/lookup performed by SerializerFactory.findCustomSerializer()

* CORDA-1820: Changes to make DJVM work.
2018-07-17 21:04:04 +01:00
829be5dfb6 CORDA-1747 fix issue around RPC return of generic objects (#3625)
* fix issue around RPC return of generic objects

* address review comments
2018-07-17 12:19:06 +01:00
4e81d26985 Merge remote-tracking branch 'remotes/open/master' into parkri-os-merge-20180713-1 2018-07-13 13:15:53 +01:00
ed25d8f1be ENT-1565 Upgrade Artemis version to latest. (#3557)
* ENT-1565 Upgrade Artemis version to latest.

* Fix compiler errors.

* Add to changelog

* Additional commentary on Proton-J version
2018-07-13 10:10:26 +01:00
493d4d5890 Minor: slightly improve an exception message with clarifying quotes 2018-07-12 18:42:19 +02:00
9503c9684e CORDA-1747 - Client RPC classloader and Java Generics fixes (#3553)
* fix for spring boot rpc and  it work with deterministic serialization

* really really fix tests

* up log level

* reenable allWarningsAsErrors
2018-07-11 13:28:01 +01:00
fd13697ecc Merge remote-tracking branch 'open/master' into my-merge-july-11-11-27 2018-07-11 11:44:20 +01:00
6041f25cae up log level 2018-07-11 11:43:49 +01:00
480698bc46 Merge remote-tracking branch 'open/master' into my-merge-july-11-11-27
# Conflicts:
#	CONTRIBUTORS.md
2018-07-11 11:37:49 +01:00
426f822502 really really fix tests 2018-07-11 10:59:21 +01:00
fa55221b66 fix for spring boot rpc and it work with deterministic serialization 2018-07-11 10:59:21 +01:00
f4426ef172 CORDA-1747 - External serializes break for generic types (#3541)
* CORDA-1747 - External serializes break for generic types

* Review comments

* review comments
2018-07-10 17:48:06 +01:00
20a589d66d Merge remote-tracking branch 'open/master' into os-merge-244167d
# Conflicts:
#	docs/source/example-code/src/main/kotlin/net/corda/docs/FlowCookbook.kt
#	docs/source/example-code/src/main/kotlin/net/corda/docs/LaunchSpaceshipFlow.kt
#	docs/source/example-code/src/main/kotlin/net/corda/docs/tutorial/tearoffs/TutorialTearOffs.kt
#	docs/source/running-a-node.rst
#	experimental/behave/build.gradle
#	experimental/behave/src/scenario/kotlin/net/corda/behave/scenarios/helpers/Substeps.kt
#	experimental/kryo-hook/build.gradle
#	experimental/quasar-hook/build.gradle
#	node/src/integration-test/kotlin/net/corda/node/AuthDBTests.kt
#	node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt
#	node/src/test/java/net/corda/node/services/vault/VaultQueryJavaTests.java
#	node/src/test/kotlin/net/corda/node/internal/NodeTest.kt
#	node/src/test/kotlin/net/corda/node/services/messaging/ArtemisMessagingTest.kt
#	node/src/test/kotlin/net/corda/node/services/persistence/HibernateConfigurationTest.kt
#	samples/attachment-demo/src/integration-test/kotlin/net/corda/attachmentdemo/AttachmentDemoTest.kt
#	samples/irs-demo/src/integration-test/kotlin/net/corda/test/spring/SpringDriver.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/NodeBasedTest.kt
2018-07-04 18:38:34 +01:00
244167d3e9 Enabled warnings as errors (#3514) 2018-07-04 17:17:27 +01:00
7839d78338 CORDA-1704: Suppress ProGuard's "note" output (#3499)
* Reduce ProGuard output for kotlin-metadata artifact.
* Configure ProGuard not to display "notes" about potential configuration issues. Keep notes for the "checkDeterminism" steps, though.
* Also resolve some of the issues that we would now be ignoring.
2018-07-04 09:15:54 +01:00
042ac119a8 Merge remote-tracking branch 'remotes/open/master' into mnesbit-merge-20180702
# Conflicts:
#	node/src/test/kotlin/net/corda/node/services/vault/VaultQueryTests.kt
2018-07-02 11:31:37 +01:00
0f98a1cbcd Merge remote-tracking branch 'remotes/open/master' into mnesbit-merge-20180702
# Conflicts:
#	node/src/test/kotlin/net/corda/node/services/vault/VaultQueryTests.kt
2018-07-02 11:31:18 +01:00
c50fd5e07e ENT-1903: Remove fast-classpath-scanner from serialization-deterministic. (#3471) 2018-06-29 12:22:18 +01:00
b09368a17a Merge remote-tracking branch 'remotes/open/master' into merges/june-28-09-45
# Conflicts:
#	docs/source/getting-set-up.rst
#	docs/source/node-database.rst
2018-06-28 09:51:11 +01:00
eee2563bfa CORDA-1660: Wiring up the CordaRPCClient class loader to the p2p serialisation context. (#3454)
This is to allow the standalone shell to be able to receive WireTransactions containing Cash.State objects.
2018-06-27 17:02:35 +01:00
7a2c15fc5e Merge remote-tracking branch 'open/master' into kat-merge-20180626 2018-06-26 12:27:24 +01:00
d060e95834 Merge OS -> ENT up to e00c7706c3 2018-06-26 10:02:33 +01:00
06d27b57c1 CORDA-1662 - Corda Serialization Evolution breaksdown with Java classes (#3427)
Nullability logic was relying on annotations that Kotlin applies by
default but is left to the developer in Javaland. Change this around
so it works for both.

In Kotlin, the property must be nullable, in Java, it can't be a
primitive.
2018-06-26 09:31:35 +01:00
e00c7706c3 CORDA-1661 Reverting DEV certificates (#3422)
* CORDA-1661 Reverting DEV certificates

* Addressing review comments

* Removed the intermediate certificate from the trust store and added some test cases for the revocation check
2018-06-25 16:40:51 +01:00
98cd8be160 Merge remote-tracking branch 'open/master' into os-merge-b97af47
# Conflicts:
#	.idea/compiler.xml
#	docs/source/changelog.rst
#	docs/source/release-notes.rst
#	node/src/main/kotlin/net/corda/node/internal/cordapp/CordappLoader.kt
#	tools/bootstrapper/build.gradle
2018-06-25 11:38:30 +01:00
b97af477b2 CORDA-1603: Class carpenter able to synthesis Cash.State objects (#3400)
This requires the class carpenter to be able to run in a "lenient" mode where it permits synthesised classes to implement interfaces with unimplemented methods.
2018-06-25 11:33:37 +01:00
ad76b7821e Merge remote-tracking branch 'open/master' into os-merge-2018-06-18-17_42 2018-06-18 17:51:41 +01:00
e12185139f CORDA-1641 - Add Java example to proxy serializer documentation (#3390)
* CORDA-1641 - Add Java example to proxy serializer documentation

* Review comments
2018-06-18 16:09:31 +01:00
a0c6de7758 CORDA-1498: serialization multiple transform bug (#3216)
* Fix issue when evolving enums with transformation chains

* Regenerate test data for deserializeWithRename test and unignore

* Further tweaks / remove debugging

* Formatting tweaks

* Address review comments

* Remove debug

* Add classname to serialization tranform exceptions

* Use direct node links instead of indexes to improve readability

* More readability tweaks

* More readability improvements

* rename require to requireThat to resolve conflict with kotlin libraries

* Add logging of error message

* Change requireThat helper to inline function

* remove unneeded toString

* Further tweaks

* Change NotSerializableException to more generic IOException

* Make exception context clearer
2018-06-18 13:34:35 +01:00
319953ba41 Merge commit '8087f3c5d3c823a5fbda9a728f129b0925c1fddb' into chrisr3-os-merge 2018-06-12 14:11:27 +01:00