Ravin Perera
505d1ad849
Reacquire hpfs rw session after each sync target completion. ( #296 )
2021-04-29 10:08:43 +05:30
Ravin Perera
7a837ede7c
Supported not storing raw data shards. ( #289 )
2021-04-13 11:11:37 +05:30
Ravin Perera
3941f5f6c6
Revamped ledger input/output storage and query execution. ( #285 )
...
- Ledger sqlite db improvements.
- Removed flatbuffers from ledger blob data storage.
- Added consensus private mode blob data filtration.
2021-04-11 11:45:14 +05:30
Ravin Perera
99c5912f14
Version management refactor. ( #278 )
...
- Introduced separate versioning for ledger file storage.
- Refactored versioning information code base.
2021-03-31 10:19:12 +05:30
Chalith Desaman
b7e9301797
Formatting the hp config validation error message ( #271 )
...
* Formatting config validation error
* Camel case typo in js client lib
* Changed error message
2021-03-16 18:40:18 +05:30
Chalith Desaman
2522a363c9
Changed the validation for max_connections and max_known_connections when reading the cfg ( #262 )
...
* Changed the validation for max_con and max_known_con when reading the config
* Minor comment fix
* Improved a code comment
2021-03-08 09:36:33 +05:30
Savinda Senevirathne
1ca4784688
Updating the self pubkey in the unl list when rekey the contract. ( #259 )
...
PR approved
2021-03-05 13:49:20 +05:30
Ravin Perera
1cebcb1c35
Config runtime re-save refactor. ( #258 )
...
* Check peer discovery config when persisting peers.
* Refactored config persistance.
* Fixed config read offset issue.
* Refactored peer list structs.
* Minor constexpr.
2021-02-25 14:25:12 +05:30
Chalith Desaman
363116fc2a
Added user input max ledger seq offset limit config ( #256 )
...
- Added new config for max input ledger offset inside contract section.
- Updated implementation of getting and updating patch config inside node and c contracts.
- Skip inputs if max ledger offset exceeds, when handling user inputs and nup messages.
2021-02-24 09:19:36 +05:30
Savinda Senevirathne
a775b0e419
Configs to support full history mode. ( #252 )
...
* Adding full history mode and max shard configs for primary and blob shards.
* Commenting validation checks for hpfs responses until bug is fixed.
* Comment update.
2021-02-19 14:45:25 +05:30
Savinda Senevirathne
16c5b3fae2
Introducing ledger shards and new ledger syncing logic. ( #247 )
...
- The ledgers are stored in a sqlite database in ledger file system.
- Ledgers are organized in shards inside primary folder.
- Raw inputs are saved as shards inside blob folder. No input files are created if neither inputs nor outputs are available.
- Both last primary shard hash and last blob shard hashes are subjected to consensus and necessary sync operations are performed if out of sync.
- Hpfs sync support setting single sync targets from both ends of the list. (Targets set from front are prioritized).
- Contract and ledger syncs and serving are performed independently.
2021-02-18 11:24:05 +05:30
Ravin Perera
e394497698
Used uint32 for roundtime and timeout fields. ( #248 )
2021-02-17 12:21:51 +05:30
Ravin Perera
90641e0849
Persist discovered peers to config. ( #246 )
2021-02-16 16:20:19 +05:30
Ravin Perera
9d1163c8c3
Config flag to disable peer port listening. ( #245 )
2021-02-16 14:27:03 +05:30
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
4c4e109233
Contract process resource limits. ( #243 )
2021-02-15 16:36:10 +05:30
ravinsp
3783c687a2
Improved missing config field error reporting.
2021-02-15 15:10:44 +05:30
Ravin Perera
0937ca0bbe
Npl outputs round limit. ( #242 )
2021-02-15 14:50:03 +05:30
Ravin Perera
033b5fa7bc
User inputs round limit. ( #240 )
2021-02-14 20:19:53 +05:30
Ravin Perera
067883b778
Support external hpfs process. ( #239 )
2021-02-09 15:23:03 +05:30
Ravin Perera
c366e8acfa
Generate tls key files on hpcore new. ( #237 )
2021-02-05 15:36:11 +05:30
Ravin Perera
e1b1382599
Read request configuration options. ( #236 )
...
* Ignores read requests when contract execution disabled.
* Added concurrent_read_reqeuests config.
* Improved metric test script.
2021-02-05 14:54:42 +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
Ravin Perera
ae55a6ea5a
Added rolling log configs. ( #234 )
2021-02-03 11:18:56 +05:30
Ravin Perera
9bca6700ae
Contract stdout/err logging. ( #233 )
2021-02-02 20:58:39 +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
Ravin Perera
3d36912c25
Added configs to max in connections per remote host. ( #229 )
2021-01-29 13:05:39 +05:30
Ravin Perera
610b67cec0
Contract execute config flag. ( #226 )
...
* Added contract execute flag. Made bin_path optional.
* Updated docker cluster default config.
* Renamed contract config to hp config.
2021-01-22 14:33:07 +05:30
adheeb-adb
a816b9079b
Return error when unable to create contract directory. ( #221 )
2021-01-15 14:51:44 +05:30
Savinda Senevirathne
fa0c1e8130
Support config patch in c contract library. ( #219 )
2021-01-15 14:49:54 +05:30
Chalith Desaman
0914994772
Replaced ifstreams with file read inside the config and patch config read. ( #220 )
2021-01-15 11:50:26 +05:30
Chalith Desaman
b15d8260cc
Read patch config implementation for js contract lib. ( #218 )
2021-01-12 09:48:14 +05:30
Ravin Perera
11cb57e9ee
Keep hp cfg and patch cfg consistent. ( #216 )
...
* Copy from hp cfg to patch cfg upon startup.
* Persist to hp cfg whenever patch cfg is updated.
2021-01-10 17:48:12 +05:30
Savinda Senevirathne
27b08c0c9f
Stop applying patch config unl changes to hp.cfg file after patch file changes. ( #213 )
2021-01-07 12:12:47 +05:30
Ravin Perera
e8e7921ac1
Single-process hpfs integration. ( #212 )
2021-01-06 21:53:39 +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
Chalith Desaman
a16eb39d1f
User connections enable/disable config flag ( #209 )
2021-01-06 09:36:48 +05:30
Chalith Desaman
e8a3882176
Prevent running multiple hpcore instances from the same directory ( #207 )
2021-01-05 11:18:23 +05:30
Savinda Senevirathne
47c0dfd225
Adding support for contract config update via a patch file. ( #206 )
2020-12-28 15:35:17 +05:30
Savinda Senevirathne
63e3050046
Validating and displaying missing config fields in config read. ( #205 )
2020-12-24 11:40:02 +05:30
Ravin Perera
c25ebe66f4
Util helper func simplification. ( #203 )
2020-12-23 21:49:13 +05:30
Savinda Senevirathne
e835e18d18
New config file structure. ( #201 )
2020-12-23 18:52:58 +05:30
Ravin Perera
f2ed9040c0
User protocol upgrade and js client lib. ( #191 )
...
* Unified js client lib for browser and nodejs.
* Client lib multiple connections support.
* Implemented server challenge response.
* Contract guid and version validation.
* Server key validation.
* User json message encoding improvements.
2020-12-11 11:02:58 +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
Ravin Perera
da0eb08512
SIGTERM handler and minor startup improvements. ( #185 )
...
* SIGTERM handler and stderr usage.
* Create-contract state seed dir creation.
2020-12-06 10:38:35 +05:30
Savinda Senevirathne
a421f13d91
Introduce consensus/npl public/private flags to config. ( #182 )
...
Npl messages are forwarded and broadcasted only to trusted nodes if npl flag is set to private. If public, messages are broadcasted to all the connected peers.
Consensus proposals are forwarded and broadcasted only to trusted nodes if consensus flag is set to private. If public, proposals are broadcasted to all the connected peers.
2020-12-03 08:12:56 +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
Chalith Desaman
de71b97371
Stopped skipping self pub key from the config unl ( #179 )
2020-12-01 14:23:28 +05:30
Chalith Desaman
48cde30de6
Validating hpfs and hpws binary paths on startup ( #178 )
2020-12-01 10:43:00 +05:30