Corda is an open source blockchain project, designed for business from the start. Only Corda allows you to build interoperable blockchain networks that transact in strict privacy. Corda's smart contract technology allows businesses to transact directly, with value.
Go to file
Dan Newton f4e9b9d5d2 CORDA-3194 Stop killed flows from re-entering hospital (#2664)
* CORDA-3194 Do not allow killed flows back into the hospital

This change has been made to prevent killed flows from being added back
to the hospital after being forcibly removed by `killFlow`. Not doing so,
could leave references to a flow inside of the hospital, which is not
the correct behaviour.

`killFlow` now sets a flow's `StatemachineState.isRemoved` to true.

This check is then used in `StaffedFlowHospital` and the
`DumpHistoryOnErrorInterceptor`.

* CORDA-3194 Log different message for transition error due to killed flow

When a flow is killed, its checkpoint is deleted. Currently, the
statemachine will still try a process the next event even if it has
been killed. This can lead to an error when trying to update the
deleted checkpoint. The exception thrown from this is logged out.

An if statement has been added to log a different message at debug level
if it is due to an update error for a killed flow. This is done to not
alarm node operators of the exception.
2019-11-01 11:48:07 +00:00
.ci Re enabling persistent volume claims (#5628) 2019-10-29 16:23:22 +00:00
.github Fixed broken links in GitHub PR template 2019-09-16 14:07:58 +12:00
.idea CORDA-3281: Drop some errors to warnings and clean up logic around (#5605) 2019-10-22 11:02:04 +01:00
buildSrc Re enabling persistent volume claims (#5628) 2019-10-29 16:23:22 +00:00
client CORDA-3281: Drop some errors to warnings and clean up logic around (#5605) 2019-10-22 11:02:04 +01:00
common NOTICK: Change build number to snapshot 2019-09-20 16:45:54 +01:00
confidential-identities TM-23 Fail build on compiler warnings (#5453) 2019-09-11 16:34:51 +01:00
config CORDA-3246 - Missing logs on shutdown (#5501) 2019-10-08 10:18:19 +01:00
core CORDA-3152: Register custom serializers for jackson as well as amqp 2019-10-16 13:08:01 +01:00
core-deterministic Webook test branch (#5528) 2019-10-08 16:33:24 +02:00
core-tests CORDA-2965 Make Tx verification exceptions serializable. (#5560) 2019-10-09 11:43:06 +01:00
create-jdk8u ENT-1467: Make the deterministic JDK image compatible with IntelliJ. (#3416) 2018-06-26 11:53:16 +01:00
docker CORDA-3336: Remove log4j plugins to stop errors in config generator (#5617) 2019-10-21 13:31:09 +01:00
docs adding one point to whitelist contract constraints migration - signed… (#5568) 2019-11-01 10:49:04 +00:00
experimental TM-23 Fail build on compiler warnings (#5453) 2019-09-11 16:34:51 +01:00
finance TM-23 Fail build on compiler warnings (#5453) 2019-09-11 16:34:51 +01:00
gradle/wrapper WIP Kubenetes parallel build (#5396) 2019-09-03 15:40:08 +00:00
isolated CORDA-2893 Upgrade Corda to use Gradle 5.4.1 (Take 2) (#5137) 2019-05-20 14:26:42 +01:00
jdk8u-deterministic CORDA-2871: Fine-tune compile vs runtime scopes of published deterministic jars. (#5241) 2019-06-21 14:01:59 +01:00
lib CORDA-2050 Revert back to quasar 0.7.10 (Java 8) (#5514) 2019-09-24 13:24:16 +01:00
node CORDA-3194 Stop killed flows from re-entering hospital (#2664) 2019-11-01 11:48:07 +00:00
node-api CORDA-3217 and CORDA-3195 Various bits arond SQL exceptions and flow hospital (#2605) 2019-11-01 11:48:07 +00:00
release-tools CORDA-3017 - Fix release tooling when product name != jira project (#5229) 2019-06-21 09:28:07 +01:00
samples CORDA-3360 Add nodeInfo permissions to web user 2019-10-23 09:58:59 +01:00
serialization CORDA-3388: Restore mapping of 'java.lang.Void -> void' (#5650) 2019-10-30 17:47:13 +00:00
serialization-deterministic CORDA-2050 Upgrade Corda to Java 11 (compatibility mode) (#5356) 2019-09-18 10:26:26 +01:00
serialization-tests CORDA-2050 Upgrade Corda to Java 11 (compatibility mode) (#5356) 2019-09-18 10:26:26 +01:00
testing CORDA-3194 Replay start flow events when responding flow fails initial checkpoint commit (#2601) 2019-11-01 11:48:07 +00:00
tools CORDA-3335 Corda Shell flow kill - better warning for misformatted flow ID (#5601) 2019-10-22 11:32:17 +01:00
.dockerignore WIP Kubenetes parallel build (#5396) 2019-09-03 15:40:08 +00:00
.gitignore WIP Kubenetes parallel build (#5396) 2019-09-03 15:40:08 +00:00
build.gradle PreAllocate pod resources during image build phase (#5587) 2019-10-28 11:48:04 +00:00
BUILD.md add a shared memory port allocator to allow multiple processes to sha… (#5223) 2019-07-02 18:38:33 +00:00
buildCacheSettings.gradle Explicitly disable remote gradle build cache when building locally. (#4095) 2018-10-19 16:40:06 +01:00
constants.properties CORDA-3244, CORDA-3245 - Jolokia docs update (#5486) 2019-10-14 10:08:01 +01:00
CONTRIBUTING.md Combines all contributing info in one place. Clean-up. (#4266) 2018-11-20 18:17:11 +00:00
CONTRIBUTORS.md Contract tutorial update and Contributors list update (#5338) 2019-07-30 14:51:34 +01:00
detekt-baseline-config.yml TM-45 Make detektBaseline pass (#5561) 2019-10-15 15:49:31 +01:00
detekt-baseline.xml Revert "CORDA-3307 - add support for environment variables in linux (#5523)" (#5643) 2019-10-29 17:55:58 +00:00
detekt-config.yml disable ReturnCount detekt check (#5581) 2019-10-15 09:39:53 +01:00
deterministic.gradle ENT-1463, ENT-1903: Refactor Gradle for deterministic modules (#3387) 2018-06-18 14:14:48 +01:00
gradle.properties Revert "Merge pull request #5145 from corda/jdk11-migration-gradle5-upgrade" (#5146) 2019-05-20 16:16:49 +01:00
gradlew CORDA-2893 Upgrade Corda to use Gradle 5.4.1 (Take 2) (#5137) 2019-05-20 14:26:42 +01:00
gradlew.bat CORDA-2893 Upgrade Corda to use Gradle 5.4.1 (Take 2) (#5137) 2019-05-20 14:26:42 +01:00
Jenkinsfile Re enabling persistent volume claims (#5628) 2019-10-29 16:23:22 +00:00
LICENSE Use full Apache 2.0 license so GitHub recognizes it 2019-08-23 12:24:37 +02:00
README.md Fix logo image in README.md 2019-10-02 13:05:45 +02:00
SECURITY.md CORDA-2958 Security policy for corda 2019-06-03 10:38:13 +02:00
settings.gradle CORDA-3217 and CORDA-3195 Various bits arond SQL exceptions and flow hospital (#2605) 2019-11-01 11:48:07 +00:00
sizing.sh add a shared memory port allocator to allow multiple processes to sha… (#5223) 2019-07-02 18:38:33 +00:00
TRADEMARK Updated URL link to R3 trademark policy 2017-07-13 11:43:41 +01:00

Corda

License

Corda

Corda is an open source blockchain project, designed for business from the start. Only Corda allows you to build interoperable blockchain networks that transact in strict privacy. Corda's smart contract technology allows businesses to transact directly, with value.

Features

  • Smart contracts that can be written in Java and other JVM languages
  • Flow framework to manage communication and negotiation between participants
  • Peer-to-peer network of nodes
  • "Notary" infrastructure to validate uniqueness and sequencing of transactions without global broadcast
  • Enables the development and deployment of distributed apps called CorDapps
  • Written in Kotlin, targeting the JVM

Getting started

  1. Read the Getting Started documentation
  2. Run the Example CorDapp
  3. Read about Corda's Key Concepts
  4. Follow the Hello, World! tutorial

Contributing

Corda is an open-source project and contributions are welcome!

To find out how to contribute, please see our contributing docs.

License

Apache 2.0

Acknowledgements

YourKit

YourKit supports open source projects with its full-featured Java Profiler.

YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.