Commit Graph

131 Commits

Author SHA1 Message Date
Ravin Perera
5cef95c9f6 Enabled and fixed compiler warnings. (#359) 2022-01-28 16:03:34 +05:30
Ravin Perera
cf695af30b Remove appbill. (#358) 2022-01-27 10:39:18 +05:30
Chalith Desaman
150df0eabb Specify environment variables to contract binary (#355) 2022-01-11 13:41:33 +05:30
Ravin Perera
c720a777ce Control message to update peers. (#351) 2021-11-02 14:13:21 +05:30
Savinda Senevirathne
866a617989 concurrent_read_reqeusts typo fix. (#335) 2021-07-22 19:40:29 +05:30
Ravin Perera
d315f9c316 Introduced smart contract run-as user. (#329)
* Added contract run_as config.
* Run smart contract process under the run_as user.
* Integrated run_as user to contract hpfs startup.
2021-06-30 16:15:11 +05:30
Savinda Senevirathne
7442c4f111 Rolling contract log files. (#324) 2021-06-22 09:21:15 +05:30
Ravin Perera
07962bc3d5 Improvements for larger clsuters. (#316)
- Cluster script improvements.
- Skipped msg too old check unverified peer sessions.
- Moved known peer maintenance to peer loop.
2021-05-30 12:32:51 +05:30
Ravin Perera
45492f7c7f Added stage slice config to control stage time allocation. (#310) 2021-05-19 16:59:01 +05:30
Ravin Perera
a8ae9c5876 Updated hpfs binary off_t return type fix. Introduced hpfs log level to hp config. (#300)
Updated hpfs binary off_t return type fix. Introduced hpfs log level to hp config
2021-05-02 08:54:40 +05:30
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