Commit Graph

2355 Commits

Author SHA1 Message Date
a38891fc44 [CORDA-2851] - Fix the way serialization whitelist is calculated for CordappImpl (#4743) 2019-04-11 11:53:13 +01:00
e4615f7f47 CORDA-2586 explorer exception handling (#4957)
* Initial version of new(old) dialog that won't print a stacktrace for rpc exceptions.

* Decoupled CordaVersionProvider. Moved common files to common-logging to lower dependencies on the node explorer.

* Removed unused import and duplicate documentation comment.

* Moved error code rewrite policy in the new common/logging module according to PR review.

* Removed extra line.

* Updated log4j configurations with new package name where logging policies will be contained.

* Included common-logging module with cliutils.
2019-04-09 19:14:37 +00:00
856f7671d9 CORDA-2834 Clarify error message when base directory doesn't exist (#4992)
* setting non existant base directory now yields suitable error message

* corrections to missing base directory message and comments added for clarity

* added check for valid base directory before node loggin and bootstrapping

* removed uneeded import

* quantum computer joke back by popular demand and not back at the same time
2019-04-09 18:37:28 +00:00
d15699289c CORDA-2621 - change message when rpc/p2p login fails (#4994) 2019-04-09 13:17:46 +01:00
76d738c452 Do not start the P2P consumer until we have at least one registered handler (the state machine). This prevents message being delivered too early. (#4988)
Consider shutdown logic if network map doesn't finish
2019-04-05 15:55:45 +01:00
1f6a4a0cba CORDA-2827 extend timeout on test (#4984) 2019-04-05 08:08:29 +01:00
e0f19ca70b CORDA-2647 ROLLBACK (#4964)
* Revert "Address comments"

This reverts commit f884d112c3.

* Revert "CORDA-2647 - Prevent registration when previous state exists"

This reverts commit 4e9d1f1924.
2019-03-29 18:06:12 +00:00
add380b135 Merge pull request #4963 from corda/colljos-backport-secfix-serializer
(BACKPORT) ENT-3121 restrict custom serializers
2019-03-29 16:51:44 +00:00
9668b8530a CORDA-2813 Handle loss of database (#4962)
* CORDA-2813 Add DbException handler to terminate process when the DB goes away or gives up.
Also add a helper to terminate the node and use it instead of calling Runtime.halt() in random places.

* CORDA-2813 Address threading/blocking concerns raised during review
2019-03-29 16:47:38 +00:00
17e7cd3abc ENT-3121 - restrict custom serializers (#1852)
* Tests for custom registry restrictions

* ENT-3121 restrict custom serialisation

* Remove redundant code

* Only count declared annotations

* Check annotation on superclasses, remove annotation from ByteArray

* Forbid custom serialization of primitive types

* Remove @CordaSerializable from another class that is always handled by custom serialisation

* Add log warnings to aid diagnosis of custom serialization issues

* Remove another annotation

* Remove another annotation

* Remove another annotation

* Remove another annotation

* Fixup api-current

* Fixup api-current

* KDocs on exceptions
2019-03-29 14:48:07 +00:00
dc46446432 [CORDA-2807] Don't retry db transaction in AbstactNode start (#4942)
Retries can lead to confusing error messages in case the CFT notary is
misconfigured and throws a SQLException causing a retry.
2019-03-29 09:41:39 +00:00
328becb2d3 Introduce global port allocation 2019-03-27 12:30:40 +01:00
f884d112c3 Address comments 2019-03-27 12:30:40 +01:00
4e9d1f1924 CORDA-2647 - Prevent registration when previous state exists 2019-03-27 12:30:40 +01:00
b0cf41ef58 CORDA-2615 - add fix for serialization failure on relevancy check.
CORDA-2615 - add fix for serialization failure on relevancy check.

CORDA-2615 - add fix for serialization failure on relevancy check.

CORDA-2615 - add fix for serialization failure on relevancy check.

CORDA-2615 - fix test

Create reconnecting proxies
2019-03-27 11:51:36 +01:00
c2ad64ccde CORDA-2802 use eventually to wait (#4932)
* CORDA-2802 use eventually to wait

* Catch Exception, not Throwable
2019-03-26 16:01:06 +00:00
48e008d271 CORDA-2783 - Improve error message for initial registration with devMode=true (#4928) 2019-03-25 15:16:58 +00:00
07031ae0fe CORDA-2786 - Certificates directory is only required for node startup. This was causing problems with initial registration. (#4926)
Addressed review comments - removed nested if and added parameter name for the usage of requiresCertificates.

Removed unnecessary import and white space.
2019-03-25 15:14:13 +00:00
d9a67d7426 BUILD: Use global port allocator for flaky HardRestartTest. (#4921) 2019-03-23 19:32:39 +00:00
acd2f8bce4 CORDA-2683: Requests to start unknown flows can be deleted using killFlow (#4903)
Normally, these requests are left unacknowledged in the MQ broker to allow recovery via installing the missing CorDapp. If this is not applicable then the request be dropped (and the other side informed of the error).
2019-03-22 14:46:02 +00:00
57d0040b7b PR review fixes 2019-03-22 14:58:24 +01:00
4f812bbd90 Preconditions draft 2019-03-22 14:58:24 +01:00
a5dd23dd43 CORDA-2770 - file watcher subscription in NetworkMapUpdater should be unsubscribed on close (#4914) 2019-03-22 09:42:29 +00:00
2777e32a1c ENT-3327: Check for missing certificates directory (#4905)
While the node is starting up, we now check for the presence of the certificates directory. This allows us to print out an easily understandable error message if the directory is not present. An exception is made for devMode, as devMode will result in the directory being created in any case.
2019-03-21 16:56:18 +00:00
52ec48d63d CORDA-2653 - ensure that during initialisation of a Corda Service, the current thread has a context classloader. (#4907) 2019-03-20 16:42:37 +00:00
eb7928d761 CORDA-2763 - Log censored config at startup (#4906) 2019-03-20 15:30:20 +00:00
3333464c39 BUILD: Fix some warnings about @BelongsToContract in tests. (#4902) 2019-03-19 18:16:24 +00:00
dc179d4ea1 ENT-3057: Log hibernate warns and errors in different log (#4889)
* ENT-3057: Log hibernate warns and errors in different log

If a hibernate error occurs (deadlock, for example) that would cause a flow to be sent to the hospital, hibernate logs the warnings and errors before we do. This results in duplication in the logs, and pollutes the log. To solve this, we create a new log appender named diagnostic-{node-name}.log and log any org.hibernate messages of warn and above to that file. This way, messages are not lost, which means that the information can be retrieved if need be.

* Corrected indentation of comment (changed tab to space)

* Updated node-administration document to mention diagnostic logging change

* Fixed integration test. It was breaking because it was fetching the first log file in the folder, assuming there would be only one. This assumption is now invalid because the diagnostic log file that was introduced. Two tests were found that used similar logic to find a log file to examine, hence both were corrected to look for log files beginning with "node"

* Updated documentation as per review comments.
2019-03-18 17:08:13 +00:00
1fc8e1d7ae CORDA-2759: Use GlobalTestPortAllocation for Node's integration tests. (#4899) 2019-03-18 14:48:13 +00:00
31100cd708 CORDA-2748 Always set the ThreadLocal in the Fiber from the Thread, even if not yet set in the Thread. (#4896) 2019-03-18 11:51:08 +00:00
fb4dc0a6ac ENT-3060 - Change log level in transition executor (#4898)
CORDA-2757 / ENT-3060 - Change log level in flow transition executor
2019-03-18 10:29:23 +00:00
e3ada049d4 CORDA-2745: Cache notary identity lookups (#4892)
Add a cache for notary identities in the PersistentIdentityService. This
solves a reported problem where notary identity lookup fails if its network
map entry is missing, which results in an exception when trying to insert
a state into the vault after recording a transaction.
2019-03-15 11:14:48 +01:00
82c45c6f83 CORDA-2506: Better handling of invalid log path (#4895)
Test if we have access to the logging path (baseDirectory/logs) before attempting to write to them. This allows us to shut down gracefully with an easily understandable error message.
Without doing this, the log4j2 will attempt to access the logPath when it first uses the logger in the call() function.
2019-03-15 09:54:53 +00:00
76dc981b91 [CORDA-2737] Buffer events from observables in ProgressTracker until subscribed to (#4882) 2019-03-13 16:33:29 +00:00
9a2c474996 Make debug lazy 2019-03-12 16:41:15 +01:00
3c1a8b3de1 Remove redundant transaction 2019-03-12 16:41:15 +01:00
5f7f809084 CORDA-2705 - Prevent duplicates in cache and fix the mappings persisted for confidential identities 2019-03-12 16:41:15 +01:00
ed2fe13436 CORDA-2629: Provide a better error msg when notary type misconfig (#4864)
* CORDA-2629: Provide a better error msg when notary type misconfig

If a notary service is misconfigured with the type (either validating or not validating) stored in the node's configuration not matching that advertised in the network map cache, the notary will throw an exception and fail on startup.
Previously, this misconfiguration would result in an exception being thrown when attempting to notarise a transaction. This change results in the exception being thrown at node startup and the node operator being aware of the misconfiguration earlier.

* Corrected exception message when the notary does not have a party

* Changed exception message to include configured and advertised values.
Fixed unit test that was failing because of the new check.
2019-03-12 13:45:25 +00:00
061db8b1a1 ENT-3256 Cleaner way to override (#4862) 2019-03-08 17:14:14 +00:00
ea263b3e54 CORDA-2569: Add "flow kill <ID>" command to Corda's shell. (#4861)
* CORDA-2569: Add "flow kill <ID>" command to Corda's shell.

* Add testing and documentation for RPC killFlow operation.
2019-03-08 16:39:22 +00:00
b3b184c93e [CORDA-2701] Ensure crlCheckSoftFail config option is respected (#4854)
* Plumb through the crlCheckSoftFail configuration option to bridge manager

* Add crlCheckSoftFail test to bridge manager and fix equivalent proton wrapper test

* Update documentation and set the node configuration default to true

* Revert default change and clarify consequences of setting option to false

* Remove NodeConfiguration default to leave only AMQPConfiguration default
2019-03-08 16:23:07 +00:00
65e7886168 Fix flaky test. (#4851) 2019-03-08 15:15:40 +00:00
785755067a Docs: use version numbers read from the build system, not duplicated. 2019-03-07 16:44:50 +01:00
1c38ecee7b ENT-3256 Small performance enhancement and OS preparation for ENT changes (#4857) 2019-03-07 14:47:51 +00:00
96b23eea6f ENT-3266: Do not attempt to overrwite an existing CorDapp jar in tests (#1906) (#4858)
There's a bug with the ServiceLoader which leaks a file handle to the app jar on shutdown. This causes an issue if a mock node is restarted in Windows. To avoid the problem completely we no longer overwrite any existing jars, as the jar to be copied will be same anyway.

(cherry picked from commit 0038a86481)
2019-03-07 11:40:43 +00:00
9ab4a3e24c ENT-3141 - Improve jar verification. (#4841)
ENT-3141 Address code review comments
2019-03-05 13:26:06 +00:00
8f45340276 CORDA-2706: Change logging level from warn to info (#4847)
CORDA-2706: Change logging level from warn to info
2019-03-05 13:15:26 +00:00
f2b21bea5a [CORDA-2698] Allow theoretical page size of Integer.MAX_VALUE (#4845)
* [ENT-3213] Allow theoretical page size of `Integer.MAX_VALUE`

* Fix vault query test
2019-03-05 11:29:26 +00:00
e3c0b6e7df CORDA-2690: Reduce CordApp scanning logging
Only log a line about looking for notary implementations if at least notary implementation is found.

It might be unnecessary and confusing to log when no implementations are found.
Replaced TrustedAuthorityNotaryService with SinglePartyNotaryService in comment
2019-03-04 11:57:10 +00:00
fa2cd907c5 Add more readable error message. (#1855)
ENT-3136 Add more readable error message.
2019-03-02 17:41:48 +01:00