Commit Graph

8822 Commits

Author SHA1 Message Date
Christian Sailer
35c661b9f6
Merge pull request #6341 from corda/chrisr3-45-merge
NOTICK: Merge from OS 4.5 up to ef00fa1.
2020-06-12 16:42:51 +01:00
Stefano Franz
64f0011a62
Make Checkpoint classes data classes (#6342)
* Make Checkpoint classes data classes

* tidy up null-checks for array equality
2020-06-12 16:35:32 +01:00
Schife
b39aaacd3a Merge branch 'release/os/4.4' of https://github.com/corda/corda into raz/os44to45 2020-06-12 15:35:33 +01:00
Razvan Codreanu
2b7c220522
INFRA-387 preallocation and deployNodes migration to Code Checks (#6339)
* preallocate for slow integration tests as well
2020-06-12 15:30:15 +01:00
Chris Rankin
3f67e314c0 Merge commit 'ef00fa1388db37e155ab8cfed3763c14801f8aa9' into chrisr3-45-merge 2020-06-12 13:14:44 +01:00
Chris Rankin
ef00fa1388
CORDA-3738: Upgrade to DJVM 1.1. (#6338) 2020-06-12 13:04:09 +01:00
Dan Newton
506b7609a3
Merge pull request #6332 from corda/jamesh/os-4.5-4.6-merge-11062020
NOTICK OS 4.5 -> OS 4.6 merge 11/06/2020
2020-06-11 16:49:30 +01:00
James Higgs
6e349f298e
NOTICK - Ignore a potentially dodgy test (#6336) 2020-06-11 16:47:48 +01:00
Joseph Zuniga-Daly
d7e55ed4e5
CORDA-3837: When delivering a lifecycle event, copy the database context into the lifecycle event thread (#6331) 2020-06-11 11:14:51 +01:00
James Higgs
ab023d0b07 Merge branch 'release/os/4.5' into jamesh/os-4.5-4.6-merge-11062020 2020-06-11 09:40:39 +01:00
Ryan Fowler
48ed9dbc6b
NOTICK: Fix IRSDemo code to wait for a response when updating day (#6329) 2020-06-10 18:30:00 +01:00
Razvan Codreanu
1456c358ef
INFRA-242 Adding github action to check PR titles (#6299)
* INFRA-242 Adding github action to check PR titles

* INFRA-242 rename yml file
2020-06-10 13:51:37 +01:00
James Higgs
58af87c988
EG-2225 - Create log directory in correct place with verbose flag set (#6321)
* Ensure logs directory is written to correct location
* Remove a superfluous set of log path property
* Add a unit test to catch bad log paths
* Address detekt issues
2020-06-10 10:46:57 +01:00
James Higgs
8b7275eb97
EG-2564 - Move printed error to logger (#6323) 2020-06-10 10:45:50 +01:00
André Lopes
c5134d5762
update docker version (#6215)
corda-zulu-java1.8-4.4
2020-06-10 08:17:50 +01:00
Christian Sailer
0ac6371e97
Merge pull request #6328 from corda/christians/NOTICK-merge-OS-4.5-4.6
NOTICK merge removal of example-code
2020-06-09 21:20:36 +01:00
Christian Sailer
640f83429a Merge commit '550b446' into christians/NOTICK-merge-OS-4.5-4.6 2020-06-09 17:50:05 +01:00
Christian Sailer
550b446b87
NOTICK Remove example code (#6327)
* Remove example code
2020-06-09 17:39:51 +01:00
Tamas Veingartner
785715106b
ENT-5379 Reconnecting RPC fixed to recognize shutdown calls and break reconnect attempts (#6316) 2020-06-08 18:03:02 +01:00
Dan Newton
d2dd461960
Merge pull request #6319 from corda/ramzi/45-46-merge
[NOTICK] OS 4.5 -> 4.6 merge 20200608
2020-06-08 14:15:31 +01:00
Ramzi El-Yafi
b43b34a94b Merge remote-tracking branch 'origin/release/os/4.5' into ramzi/45-46-merge 2020-06-08 09:37:50 +01:00
Waldemar Żurowski
c897280143
Merge pull request #6317 from corda/ramzi/44-45-merge
OS 4.4 -> 4.5 merge 20200605
2020-06-05 17:32:05 +01:00
Ramzi El-Yafi
40a29869c2 Merge remote-tracking branch 'origin/release/os/4.4' into ramzi/44-45-merge 2020-06-05 15:27:34 +01:00
Razvan Codreanu
cf8cd8e004
INFRA-348 JDK 11 Compatibility job migration (#6311) 2020-06-05 15:20:03 +01:00
Dan Newton
5cd439953d
Merge pull request #6314 from corda/razvan-os-4.5-to-4.6-merge
NOTICK OS 4.5 -> OS 4.6 merge
2020-06-05 11:43:59 +01:00
Schife
5f6f36712f INFRA-381 correctly merged jenkinsfile 2020-06-05 07:56:37 +01:00
Schife
fb184839f4 Merge branch 'release/os/4.5' of https://github.com/corda/corda into razvan-os-4.5-to-4.6-merge 2020-06-05 07:55:48 +01:00
nikinagy
caf5482244
ENT-4064, ENT-4608 - checking for unsigned cordapps in prod mode and checking the PV (#6291)
* checking for unsigned cordapps in prod mode and shutting down if it the contracts are not signed

* inheriting from CordaRuntimeException instead of Exception

* had the same tests twice, removed the shutdown for minimumplatformversion, modified some of the tests

* shut down when we get invalid platformversion and modified the test according to this

* making the message more accurate
2020-06-04 16:24:49 +01:00
Razvan Codreanu
f27240b1ad
INFRA-381 Removing sonarqube (#6312) 2020-06-04 15:06:36 +01:00
Denis Rekalov
45614cf29e
Merge pull request #6266 from corda/denis/CORDA-3805-custom-migration-scripts
CORDA-3805: cut dependency from PersistentIdentityService for custom migration scripts
2020-06-04 14:20:26 +01:00
Dan Newton
f0d2c9fe71
NOTICK Correct StatemachineGeneralErrorHandlingtest (#6306) 2020-06-04 08:04:41 +01:00
Ramzi El-Yafi
6ab6099075
[INFRA-368] Add deployNodes and install gradle tasks (#6302) 2020-06-03 14:05:12 +01:00
Kyriakos Tharrouniatis
b8b462f68e
NOTICK Fix schema validation error for flow parameters (#6304)
Adding 'corda-blob' type, fixed 'Schema-validation: wrong column type'
2020-06-02 17:52:50 +01:00
williamvigorr3
0554c98d18
NOTICK Restrict to shell commands (#6303)
Remove shell command for pausing flows
2020-06-02 16:04:10 +01:00
James Higgs
04ddb267fd
[EG-2225] Prevent extra directories being created when relative base directories are specified (#6282)
Don't create an extra directory if a relative base path specified
2020-06-02 15:26:40 +01:00
James Higgs
ac9f6fca16
[EG-2148] Small tweak to an error message (#6263) 2020-06-02 13:52:34 +01:00
Tamas Veingartner
9c4a76d367
CORDA-3176 Inefficient query generated on vault queries with custom p… (#6241)
* CORDA-3176 Inefficient query generated on vault queries with custom paging

a check added to avoid self joins
local postgres db tests were executed on large volume test data (50k states) to ensure that the DB optimizes the suspicious query and so it does not cuase performance issues.
A test added to check that a pagination query on large volume of sorted data is completed in a reasonable time

* foreach detekt fix
2020-06-02 10:33:59 +01:00
Matthew Nesbit
eb621dc942
Merge pull request #6298 from corda/ramzi/44-45-merge
OS 4.4 -> 4.5 merge 20200601
2020-06-01 16:23:54 +01:00
Denis Rekalov
98af7f10f9 CORDA-3805: Make custom migration scripts independent on the latest PersistentIdentityService schema 2020-06-01 16:22:21 +01:00
Ramzi El-Yafi
078c4f30fb Merge remote-tracking branch 'origin/release/os/4.4' into ramzi/44-45-merge 2020-06-01 15:12:10 +01:00
nikinagy
14b9bc2c53
throwing clearer error message when not supported 301 response code is used (#6296) 2020-06-01 11:55:17 +01:00
Rick Parker
9f2bd1dcae
Merge pull request #6295 from corda/feature/checkpoint_table_improvements
CORDA-3432 Feature/checkpoint table improvements
2020-06-01 11:31:13 +01:00
Ramzi El-Yafi
a9b8751ce7
[INFRA-351] Jenkinsfile for code check jobs (#6294) 2020-05-29 13:08:00 +01:00
Kyriakos Tharrouniatis
4507b55857
CORDA-3725 Fix SQL deadlocks coming from soft locking states (#6287)
Adding to the query -explicitly- the flow's locked states resolved the SQL Deadlocks in SQL server. The SQL Deadlocks would come up  from `softLockRelease` when only the `lockId` was passed in as argument. In that case the query optimizer would use `lock_id_idx(lock_id, state_status)` to search and update entries in `VAULT_STATES` table. 

However, all rest of the queries would follow the opposite direction meaning they would use PK's `index(output_index, transaction_id)` but they would also update the `lock_id` column and therefore the `lock_id_idx` as well, because `lock_id` is a part of it. That was causing a circular locking among the different transactions (SQL processes) within the database.

To resolve this, whenever a flow attempts to reserve soft locks using their flow id (remember the flow id is always the flow id for the very first flow in the flow stack), we then save these states to the fiber. Then, upon releasing soft locks the fiber passes that set to the release soft locks query. That way the database query optimizer will use the primary key index of VAULT_STATES table, instead of lock_id_idx in order to search rows to update. That way the query will be aligned with the rest of the queries that are following that route as well (i.e. making use of the primary key), and therefore its locking order of resources within the database will be aligned with the rest queries' locking orders (solving SQL deadlocks).

* Fixed SQL deadlocks caused from softLockRelease, by saving locked states per fiber; NodeVaultService.softLockRelease query then uses VAULT_STATES PK index instead of lock_id_idx

Speed up SQL server by breaking down queries with > 16 elements in their IN clause, into sub queries with 16 elements max in their IN clauses

* Allow softLockedStates to remove states

* Add to softLockedStates only states soft locked under our flow id

* Fix softLockRelease not to take into account flowStateMachineImpl.softLockedStates when using lockId != ourFlowId

* Moved CriteriaBuilder.executeUpdate at the bottom of the file
2020-05-29 12:35:05 +01:00
Ramzi El-Yafi
ef3270e32c
[INFRA-352] Artifactory publication in Jenkins (#6276) (#6290)
* [INFRA-352] Artifactory publication in Jenkins

* Address review comments
2020-05-28 22:34:37 +01:00
Rick Parker
6c9917a75d
Merge pull request #6292 from corda/nnagy-os-4.5-os-4.6-20200528
Nnagy os 4.5 os 4.6 20200528
2020-05-28 17:41:18 +01:00
Denis Rekalov
499c09e77b
Merge pull request #6285 from corda/denis/CORDA-3818-sync-identity-service
CORDA-3818: Synchronize OS implementation of PublicKeyToOwningIdentityCache with CE
2020-05-28 14:21:04 +01:00
nikinagy
7f8e590a5d Merge branch 'release/os/4.5' into nnagy-os-4.5-os-4.6-20200528 2020-05-28 11:22:04 +01:00
Kyriakos Tharrouniatis
598228634f
CORDA-3608 Performance tune the new checkpoint schema (#6277)
Performance tuning of the new checkpoint schema;

- Checkpoint tables are now using `flowId` as join keys. 
- Indexes consist of a PK's index on `node_checkpoints(flow_id)` and then unique indexes on `node_checkpoint_blobs(flow_id)` and `node_flow_metadata(flow_id)`.
- Serialization of `checkpointState` is being done with `CHECKPOINT_CONTEXT` so that we can have compression. This is needed when messages get passed into `checkpointState.sessions` therefore `checkpointState` grows in size upon serialized and 
saved into the database.

* Deserialize checkpointState with CHECKPOINT_CONTEXT

* Align tests with schema update; We cannot add and update a checkpoint in the same session now, ends up with hibernate complaining: two different objects with same identifier

* Fix indentation and format

* Ignore tests that assert DBFlowResult or DBFlowException

* Set DBFlowCheckpoint.blob to null whenever the flow errors or hospitalizes; this way we save an extra SELECT in such cases;

* Fix test; cleared Hibernate session, it would fail at checkpoint with 'org.hibernate.NonUniqueObjectException'

* Changing VARCHAR to NVARCHAR

* Rename v17 liquibase scripts to v19 to resolve collision with ENT v17 scripts
2020-05-27 16:46:56 +01:00
Denis Rekalov
cfb6c7c56b
Merge pull request #6288 from corda/chrisr3-45-merge
Merge from OS 4.5 up to 6ebc6e9
2020-05-27 11:36:41 +01:00