Commit Graph

31 Commits

Author SHA1 Message Date
Ravin Perera
9f4499653a Dynamic roundtime detection. (#244)
When consensus is unreliable detect roundtime based on roundtime reported by peers.
2021-02-16 13:34:29 +05:30
Ravin Perera
033b5fa7bc User inputs round limit. (#240) 2021-02-14 20:19:53 +05:30
Savinda Senevirathne
a4399544b9 Separate contract and ledger file system mounts. (#235)
- Creating two separate hpfs folders for contract and ledger file systems (contract_fs and ledger_fs).
- Added separate mounts for contract and ledger file systems.
- Added separate instances for contract serving and ledger serving.
- Added separate instances for contract syncing and ledger syncing.
- Modified cluster creating script to accompany folder name changes in contract folder.
2021-02-05 11:48:52 +05:30
Savinda Senevirathne
d08d2630f6 Refactoring hpfs, hpfs sync and hpfs serve code. (#231)
* Refactoring hpfs code to a class so it can support multiple mounts.
* Refactoring hpfs serve into a class to support mulitiple mount serving.
* Refactoring hpfs sync into class to support multiple instances.
* Code improvements in hpfs_sync.
* Taking a sync target list for hpfs syncing target set.
2021-02-02 13:17:21 +05:30
Savinda Senevirathne
bed8205ca8 Config patch change detection. (#211)
* Applying patch file changes to hpcore runtime after patch file change detection.
* Removing unl sync functionality.
* Removing subjecting unl changeset to consensus.
2021-01-06 20:02:14 +05:30
Savinda Senevirathne
c87ae6693d Patch config and hpfs sync refactor. (#208)
* Terminology changes from state to hpfs.
* Syncing hpfs parents in priority order.
* Changing how the hash is calculate in hpfs response validate check.
2021-01-06 10:50:58 +05:30
Ravin Perera
f97d7de530 Moved h32 hash type from hpfs to util. (#204) 2020-12-23 21:58:49 +05:30
Savinda Senevirathne
e835e18d18 New config file structure. (#201) 2020-12-23 18:52:58 +05:30
Ravin Perera
1a954ad96e Implemented output signature checks. (#200) 2020-12-22 16:55:44 +05:30
Savinda Senevirathne
0bc53fe23c Review UNL message rules. (#188) 2020-12-09 13:34:40 +05:30
Ravin Perera
fe9e276f8d Consensus deadlock fixes and reliability improvements. (#187)
* Consensus time vote improvements.
* Skipped self proposal in Observer mode.
* Added docker cluster script params.
* Added state/lcl sync abandon threshold.
* Added pubkey display for cluster script.
* Added proposal latency log.
* Added sync completion check to prevent deadlocks.
2020-12-08 15:17:27 +05:30
Savinda Senevirathne
7bf0475b6f Subject unl list to consensus. (#186)
* Unl hash in consensus proposals.
* Unl syncing and sync request serving.
* Adding unl hash to the ledger block.
2020-12-08 15:05:38 +05:30
Chalith Desaman
a87e8a0c7e Subject UNL changeset to consensus. (#183) 2020-12-07 13:06:58 +05:30
Ravin Perera
596fd2b43c Added contract id verification. (#180)
* Added contract id config.
* Verify contract id with user/peer challenge.
* Updated cluster scripts.
* Updated node client lib for contract id verification.
2020-12-01 16:08:41 +05:30
Ravin Perera
d476f787a7 Introduced UNL update control message. (#169) 2020-11-26 22:26:12 +05:30
Ravin Perera
c41b37fd52 Request missing history when behind the ledger cap. (#165) 2020-11-25 16:11:46 +05:30
Ravin Perera
d9517b6164 Reorganized util and hpws source files. (#161) 2020-11-23 23:18:42 +05:30
Ravin Perera
86e2e1211c Introduced consensus round nonce and reintroduced stage 0. (#160)
* Reintroduced stage 0.
* Introduced round nonce for reduced lcl predictability.
2020-11-23 23:00:13 +05:30
Savinda Senevirathne
fe24ef2388 Introduce peer requirement announcement. (#156) 2020-11-20 16:01:46 +05:30
priyadharsun
eb0012bc47 Change epoch milliseconds return type to uint64_t. (#155) 2020-11-19 12:54:33 +05:30
Chalith Desaman
f475dcb1fb Dynamic peer list implementation. (#152) 2020-11-18 12:58:58 +05:30
Savinda Senevirathne
2e2a11b908 Improved history ledger integrity checks. (#149)
* Code cleanup.

* Resolving review comments.

* Ledger history sync validation improvements and resolving review comments.

* Ledger terminology related changes.

* Ledger related terminology change updates.

* Resolving review comments.
2020-11-13 13:43:01 +05:30
Ravin Perera
ba0cae019d Refactored consensus into 3 rounds. (#144)
* Refactored consensus into 3 stages and removed stage 0.
* Consensus threshold calculation improvements.
* Refactored candidate user input processing.
* Renamed proposal sent timestamp field.
* Introduced comm_session display name.
2020-11-07 15:01:01 +05:30
Ravin Perera
202a6a2715 Ledger and state sync improvements. (#143)
* Increased stage time window.
* Introduced central state tracker.
* Used shared mutex for target state update.
* Refactored lcl and state sync checks in consensus.
* lcl/state sync loop wait time improvements.
2020-11-04 16:01:10 +05:30
Ravin Perera
00069b7a43 Updated ledger creation to report current lcl. (#136) 2020-10-24 07:22:28 +05:30
Savinda Senevirathne
fabfdcce89 Weakly connected status announcement. (#135)
* Forward others' messages only to the weakly connected nodes instead of broadcasting to all the connected peers.
* Announcing connected status depends on a threshold to other connected peers.
* Forwarding messages of weakly connected peers to other peers.
2020-10-23 16:57:01 +05:30
Ravin Perera
cb4d0c4f59 Ledger maintenance refactor. (#130)
* Added ledger namespace.
* Thread-safe lcl access and update.
* Refactored history sync and serving into a thread.
* Restructured ledger cache item.
2020-10-08 22:25:47 +05:30
ravinsp
6599fa32ca Fixed compiler warnings on return values and null args. 2020-09-26 21:58:22 +05:30
priyadharsun
91122474a1 Replaced Boost log with Plog. (#124) 2020-09-23 06:06:42 +05:30
Ravin Perera
d4a786e3b9 Refactored NPL message processing. Passed lcl to contract args. (#105) 2020-08-05 21:30:48 +05:30
Ravin Perera
96f23cb0ff Added bson support for user message protocol. (#99) 2020-07-02 21:40:55 +05:30