Commit Graph

13381 Commits

Author SHA1 Message Date
802c88e7ad ENT-2565 Make JMeter capsule usable as client (#1464)
* Make fat jar runnable as a client, improve handling of SSH parameters, fix up some dependencies.
*Note*: running the fat jar as a server now requires the -s cmd line flag.

* Picocli command class

* Add additional search paths argument

* Rewrite launcher to use PicoCLI arguments

* Fix printing of help

* fix tools:jmeter:run method to work with the new command line format.

* Fix printing of help message without jmeter throwing loads of exceptions around.

* Fix comments and add tests for non-trivial command line munging

* Code review

* Test for generated cmd line when running via gradle.

* Rewrite launcher to handle jmeterProperties and rmi server port config explicitly

* Modify ssh code to use properties passed in from JMeter launcher main.

* Fix test

* Transform server rmi local port to new format, fix/test reading.

* Fix up jmeter:run to match new command line paramters

* Formatting

* Include server-rmi.config in jar

* Code review
2018-10-16 08:14:55 +01:00
47068e6b7a [CORDA-2077] Use latest gradle plugin version (4.0.32), set target version in core and sample CorDapps (#4038)
* Upgrade gradle plugin; add target version attribute to finance and sample cordapps.
* Remove '-SNAPSHOT' from gradlePluginsVersion.
* Fix naming.
* Update docs.
* Respond to feedback.
* Fix irs demo
* Fix more samples
* Fix more samples
* Fix deployNodes
* Fix deployNodes
* more fixes
* fix simm valuation
* more fixes
* more fixes
* more fixes
* more fixes
* Publication should have *nothing* to do with cordformation and deployNodes.
Remove it! And if this exposes a bug then "so be it".
* Disable CorDapp signing for Cordapp Configuration and Network Verifier.
* Disable CorDapp signing for SIMM Valuation Demo.
* Remove remaining publishing nonsense from samples.
* Workarounds fpr cordapp-configuration, network-verifier and simm-valuation-demo:
JarSigner rejects jars with duplicates inside, so remove them.
* Upgrade to Gradle plugin 4.0.32 and reenable CorDapp signing for samples.
2018-10-15 21:11:52 +01:00
2248f54f9f CORDA-2096: Migrate finance test classes into .test sub-packages. (#4079) 2018-10-15 19:51:28 +01:00
1f835a3496 Add package namespace ownership design doc to toc tree 2018-10-15 17:35:56 +01:00
f2c5ab3b0f Merge pull request #1479 from corda/os-merge-6d4bdb8
O/S merge 6d4bdb8
2018-10-15 15:28:14 +01:00
9b6eb02bab Merge fixes 2018-10-15 13:51:18 +01:00
380a942954 CORDA-2030: Prevent kotlin-stdlib-jre8 from becoming an accidental transitive dependency. (#4073) 2018-10-15 13:44:02 +01:00
958f5dd65f Merge remote-tracking branch 'open/master' into os-merge-6d4bdb8
# Conflicts:
#	docs/source/changelog.rst
#	node-api/build.gradle
#	node/src/integration-test/kotlin/net/corda/node/flows/AsymmetricCorDappsTests.kt
#	node/src/integration-test/kotlin/net/corda/node/flows/FlowCheckpointVersionNodeStartupCheckTest.kt
#	node/src/integration-test/kotlin/net/corda/node/modes/draining/FlowsDrainingModeContentionTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.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/TestCordappDirectories.kt
2018-10-15 12:34:29 +01:00
22ea24277a Merge pull request #1478 from corda/andrius/merge-10-15
Andrius/merge 10 15
2018-10-15 12:27:56 +01:00
6d4bdb84b9 Code cleanup, mostly shortening long lines (#4070) 2018-10-15 12:01:15 +01:00
8e590cfc55 Attempt to improve the explanation at the start. 2018-10-15 11:41:19 +01:00
1949694777 Add design doc on package namespace ownership 2018-10-15 11:41:19 +01:00
3981a88301 Merge branch 'open/master' into andrius/merge-10-15 2018-10-15 10:50:12 +01:00
af48612d46 ENT-1906: Fix JavaDoc error for DJVM. (#4063) 2018-10-15 10:40:58 +01:00
acd3490cde Updates docs structure. (#4072) 2018-10-15 11:40:10 +02:00
2c9a942e1a CORDA-2088: Simplified the TestCordapp public API (#4064)
The entry point to the API has been simplified to just requireing a list of packages to scan, with sensible defaults provided for the metadata. Because of the wither methods, having parameters for the metadata (with default values) seems unnecessary. Also the ability to scan just individual classes has been made internal, as it seems unlikely app developers would need that level of control when testing their apps.

TestCordappImpl is a data class and thus acts as a natural key for the Jar caching, where previously the key was the package names. This fixes an issue where it was not possible to create two CorDapp Jars of the same package but different metadata.
2018-10-15 10:11:18 +01:00
b769ad80bd CORDA-195 When collecting JAR Signatures allow META-INF/*.EC block signature to follow jarsinger tool capabilities (#4065)
jarsigner can produce META-INF/*.EC block signature for EC algorithm (https://docs.oracle.com/javase/8/docs/technotes/tools/windows/jarsigner.html) even if this is contrary to JAR File spec (https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html). Allow block signature be also in *.EC file.
2018-10-12 16:54:39 +01:00
ff7496ed20 Minor: replace branch name with commit hash for caffeine dependency.
This fixes the issue where Intellij loops for ages to try and resolve it from the artifactory.
2018-10-12 15:13:19 +01:00
70e24b79fb Thomas/ent 2510 single column index (#1431) 2018-10-12 15:11:10 +01:00
53473aedba A first iteration benchmark tool for consensus protocols. It lets you generate load
at a specified rate and transaction size.
2018-10-12 14:25:36 +01:00
ad981c7f13 ENT-2569: Integration test to simulate FlowWorker restart. (#1463)
* ENT-2569: Integration test to simulate Rpc/FlowWorker restart.

Initial analysis shows that 15-25 MB cannot be accounted for after RpcWorker restart.
Please see below for stats sample.
I will need to run memory profiler to understand where the memory is going.

Sample 1:
```
Memory stats @Very beginning - Used memory: 66,167 KB, Total memory: 1,158,144 KB, Max memory: 7,414,784 KB
Memory stats @Between restarts - Used memory: 214,952 KB, Total memory: 3,228,160 KB, Max memory: 7,414,784 KB
Memory stats @Very end - Used memory: 231,285 KB, Total memory: 3,226,112 KB, Max memory: 7,414,784 KB
```

Sample 2:
```
Memory stats @Very beginning - Used memory: 65,649 KB, Total memory: 1,125,376 KB, Max memory: 7,414,784 KB
Memory stats @Between restarts - Used memory: 202,542 KB, Total memory: 3,390,976 KB, Max memory: 7,414,784 KB
Memory stats @Very end - Used memory: 217,969 KB, Total memory: 3,387,392 KB, Max memory: 7,414,784 KB
```

* ENT-2569: Repair FlowWorkerTest and make it use signed network parameters.

* ENT-2569: Take flow worker up and down multiple times.

* ENT-2569: Add memory consumption stats.

Sample output for 10 iterations (1 warm-up and 9 subsequent):
```
Memory stats @Very beginning - Used memory: 126,495 KB, Total memory: 1,599,488 KB, Max memory: 7,416,832 KB
Memory stats @After warm-up round - Used memory: 172,411 KB, Total memory: 2,096,128 KB, Max memory: 7,416,832 KB
Memory stats @Testing done - Used memory: 196,912 KB, Total memory: 2,213,376 KB, Max memory: 7,416,832 KB
```
So during 9 iterations/restart cycles we have lost ~25MB.

* ENT-2569: Re-structure the test in preparation for 2nd legal name.

* ENT-2569: Mote test re-structure.

* ENT-2569: Introduce BankB into the test scenario.
2018-10-12 13:51:11 +01:00
ba271f7adc Bogdan ent 2295 SNI (#1435)
* ENT-2295: added SNI support to bridge

* ENT-2295: removed unused method args, adde new line

* ENT-2295: fix checking for existing bridges

* ENT-2295: fix AMQPBridgeTest(included source x500 name in messages)

* ENT-2295: fix ProtonWrapperTests (added source id and only check for SNI if bridge is shared)

* ENT-2295: fixed issue with artemis round robin not working when autogrouping was on

* ENT-2295: adapt to use openSSL, added SNI tests

* ENT-2295: server side openSSL now uses SniHandler magic

* ENT-2295: service queues are not exclusive

* ENT-2295: remove check for nodes sharing artemis when resolving targets

* ENT-2516 SNI - Log the requested server name (if any) in the AMQPServer (#1454)

* WIP

* log server name in ssl handshake

* big fix

* handle nullable sslParameters

* ENT-2295: address PR comments

* ENT-2295: remove unused imports

* ENT-2295: fix warnings

* ENT-2295: address PR comments

* ENT-2295: added node to node intergration tests, added openssl dep to bridge capsule

* ENT-2295: message group id is unique for service queues

* ENT-2295: address PR comment
2018-10-12 12:24:54 +01:00
aced03df54 CORDA-1274: Migrated usage of FastClasspathScanner to ClassGraph (#4060)
FastClasspathScanner was renamed to ClassGraph for the version 4 release
2018-10-11 19:50:26 +01:00
8c41ae208d CORDA-535: Remove BFT-Smart related migration parts 2018-10-11 17:54:00 +01:00
e3685f5e81 Make blobinspector not log to console by default (#4059) 2018-10-11 18:01:54 +02:00
89886ce194 Restore separate enterprise implementation of cash selection for SQL server (#1421)
Create Enterprise version of CashSelectionSQLServerImpl and copy the content of CashSelectionSQLServerImpl as of 0c8c914 commit (with relevancy_status added and no copyrights).
The commit a287673432 (OS--> ENT merge) replaced the original enterprise code an community independent version (they had filename in common only). To avoid this clash the original enterprise implementation will be now in EnterpriseCashSelectionSQLServerImpl (and is the default one for ServiceLoader) and  CashSelectionSQLServerImpl remains an empty placeholder in Enterprise.
2018-10-11 15:04:48 +01:00
78907bd6dc ENT-2367 Overnight benchmark enhancements (#1470) 2018-10-11 13:58:44 +01:00
825c544cac ENT-1906: Modify the DJVM to wrap Java primitive types. (#4035)
* WIP - sandbox classloading
* Fix handling of Appendable in the sandbox.
* WIP - Load wrapped Java types into SandboxClassLoader.
* Add explicit toDJVM() invocation after invoking Object.toString().
* Add simple ThreadLocal to the sandbox to complete AbstractStringBuilder.
* Add support for Enum types inside the sandbox.
* Simplify type conversions into and out of the sandbox.
* Small refactors and comments to tidy up code.
* Fix Enum support to include EnumSet and EnumMap.
* Fix use of "$" in whitelist regexps.
* Add extra methods (i.e. bridges) to stitched interfaces.
* Rename ToDJVMStringWrapper to StringReturnTypeWrapper.
* Support lambdas within the sandbox.
* Fix mapping of java.lang.System into the sandbox.
* Don't remap exception classes that we catch into sandbox classes.
* Remove unnecessary "bootstrap" classes from the DJVM jar.
* Ensure that Character.UnicodeScript is available inside the sandbox.
* Tweak sandboxed implementations of System and Runtime.
* Ensure that Character.UnicodeScript is loaded correctly as Enum type.
* Disallow invoking methods of ClassLoader inside the sandbox.
* Apply updates after review.
* More review fixes.
2018-10-11 13:48:32 +01:00
0e68f26c0f ENT-2569: Clean-up content of registeredShutdowns. (#4048)
Please see comment for more info.
2018-10-10 17:52:00 +01:00
9b5b4b62b1 Merge pull request #1473 from corda/andrius/merge-10-10
Andrius/merge 10 10
2018-10-10 17:35:16 +01:00
b8b2cc772d CORDA-535: Remove the old mechanism for loading custom notary service implementations.
All notary service implementations are now assumed to be loaded from CorDapps.
2018-10-10 17:16:57 +01:00
504cefc6f6 CORDA-535: Move MySQL notary into a separate module 2018-10-10 16:07:16 +01:00
09c1e6c079 Align ByteArrays.kt file with O/S to reduce merge conflicts (#1472) 2018-10-10 12:52:09 +02:00
69ae8e5565 CORDA-535: Fix merge issues 2018-10-10 11:22:06 +01:00
b7d59785e7 Merge remote-tracking branch 'open/master' into andrius/merge-10-10 2018-10-10 10:45:21 +01:00
554b1fa371 [CORDA-2084] EdDSA, SPHINCS-256 and RSA PKCS#1 are deterministic, no RNG required. (#4051) 2018-10-10 10:35:18 +01:00
9ebeac1ad8 CORDA-535: Extract notary implementations into CorDapps (#3978)
* Move Raft and BFT notaries into separate modules

* Move schemas

* Fix tests & demos

* Modified logic for creating notary services:

Added a new field 'className' to the notary configuration. The node now
loads the specified implementation via reflection. The default className
value points to the simple notary implementation for backwards compatibility.
Relevant schemas are loaded in a similar fashion.

For backwards compatibility purposes the default SimpleNotaryService will
remain built-in to node, but its cordapp will be generated on startup – so
the loading of notary services is streamlined.

* Move test namedcache factory to test utils
2018-10-10 10:04:22 +01:00
4b9dd514c2 Merge pull request #1469 from corda/anthonyk-os-merge-20181009
O/S Merge 9/10/2018
2018-10-10 11:00:25 +02:00
862626f3a3 Fix another merge conflict 2018-10-09 21:22:24 +01:00
51ef38465c ENT-2588: Add package net.corda.finance.schemas into the Finance CorDapp deployment. (#1468) 2018-10-09 20:01:39 +01:00
8771784181 Another enterprise only instance 2018-10-09 17:39:34 +01:00
b260f8a60a Another slight change needed here 2018-10-09 16:32:51 +01:00
25ad5d411d Fix merge conflict 2018-10-09 16:28:49 +01:00
a6fd2ba903 Merge remote-tracking branch 'open/master' into anthonyk-os-merge-20181009
# Conflicts:
#	core/src/main/kotlin/net/corda/core/utilities/ByteArrays.kt
#	node/src/main/kotlin/net/corda/node/serialization/kryo/KryoCheckpointSerializer.kt
2018-10-09 16:15:59 +01:00
b6f2532ce6 Corda 1922 serialize states with calculated values (#3938)
* Introduce SerializeForCarpenter annotation

* Apply SerializableComputedProperty annotation to Cash.exitKeys, fix bugs

* info -> trace

* Remove annotation from FungibleAsset, as we do not know whether all implementing classes will provide the property as a calculated value

* Remove redundant import

* Explicit lambda params

* Restore explicit import for Enum valueOf

* Moving and rescoping

* More meaningful error message

* Add java test and documentation

* Fix accidentally broken unit test

* Ignore superclass annotation if property not calculated in implementing class

* Exclude calculated properties from Jackson serialisation

* Fix broken test
2018-10-09 14:54:31 +01:00
9c8a1cd14a CORDA-2028 - Fix use of required paramers/options on command line (#4040)
* Make required parameters work with --install-shell-extensions and make errors look a bit more errorey

* Make blobinspector required parameter work the way it used to

* Fix compilation Error
2018-10-09 15:49:24 +02:00
d8ebde07d4 New jitpacked version of quasar (#1452) 2018-10-09 11:34:29 +01:00
5d84640d1f Add missing validation in the OpaqueBytesSubSequence.init (#4047) 2018-10-09 09:48:54 +01:00
efa990728e ENT-2576: Fix building Enterprise Corda on Windows. (#1460) 2018-10-08 16:42:59 +01:00
d1adb09ca9 NOTICK Python 3 compat, ENM version name, skip closed tests (#4046) 2018-10-08 15:26:44 +01:00