Commit Graph

101 Commits

Author SHA1 Message Date
Ravin Perera
321ae2d753 hpfs binary with optimized write fix. (#303)
* Updated hpfs bin.
* Improved logs.
* Local cluster script log level fix.
2021-05-08 17:51:16 +05:30
ravinsp
f85059ea2a Updated hpws binary with tcp packet delay fix. 2021-05-04 09:04:07 +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
Savinda Senevirathne
3381608afd Updating hpws binary after hpws poll interval increase. (#298) 2021-04-30 10:20:57 +05:30
Ravin Perera
f55341f49e Updated hpfs binary with write optimization support. (#297) 2021-04-30 05:59:31 +05:30
Ravin Perera
e8d63c95f2 Improved vmscripts and js client lib reliability. (#293)
* Added certbot ssl support to vm scripts.
* Client lib blake3 init improvement.
* Client lib connection review process improvement.
2021-04-23 13:28:47 +05:30
Ravin Perera
23dac682d1 Minor improvements to vm cluster scripts. (#292) 2021-04-20 21:44:44 +05:30
Chalith Desaman
05e8077e5b Persisting hpfs log responses to the hpfs (#291)
Fixing the in memory raw shard hash update.
Passing the seq_no of index update to verify that the index records are consistent.
Restart rw session after completing last primary shard sync.
Fixed issue in fs read write by multiple threads.
Hpfs log sync modifications.
2021-04-16 20:06:20 +05:30
Ravin Perera
83bb158dd3 Fixed integer serialization issue with bson. (#287) 2021-04-12 07:15:57 +05:30
Ravin Perera
370e03fe84 Switched user input nonce from string to uint64. (#286) 2021-04-11 14:51:57 +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
0a3183a3d6 Included output hash and ledger info in output return message. (#284) 2021-04-08 10:42:33 +05:30
Ravin Perera
d4646179c2 Returned input hash and ledger info for input submissions. (#283)
- Introduced input hash which can later be used to query the ledger.
- Returned input hash and ledger info at input submission.
- Updated js client lib to support input hash.
- Updated consensus proposal candidate expiration rules.
2021-04-07 21:22:29 +05:30
Savinda Senevirathne
137d7633e0 Updated hpfs binary and its relevant hpcore changes. (#282)
* Hpfs index file is updated to match the file with the hpfs version.
* Added updated hpfs binary.
* Version log changes because Plog is not initialized at the time of version init.
2021-04-02 10:36:29 +05:30
Chalith Desaman
5833431157 hpfs binary update, hpfs log serving and passing to hpfs (#281)
* full history announcement in peer challenge and ability to send random messages only to full history nodes.

* log sync infrastructure codes.

* Resolving merge conflict  induced errors.

* Fork detection implementation.

* Cleanup.

* Resolving PR comments.

* hpfs binary update, hpfs log serving and persisting

* Fixed merge conflict and added missing log

Co-authored-by: Savinda Senevirathne <savindadilsara@gmail.com>
2021-04-01 17:13:58 +05:30
Ravin Perera
bba5266f5d Fixed consensus issues with large no. of users and inputs. (#280)
* Fixed issue in consensus contract output  sorting.

* Improved load test script.

* Removed flatbuffer verifier restrictions to support large no. of users and inputs.

* Improved consensus proposal cleanup.

* Restored the earlier proposal cleanup logic.

* Minor fixes.

* const fix.
2021-04-01 17:12:39 +05:30
Savinda Senevirathne
140b2f80fd Truncate log and hpfs index file from given sequence number. (#276)
- Truncation is invoked by making truncate system call on /hpfs::index.<seq_no> file.
- Updating hpfs binary.
- Truncation waits until any active RW and RO sessions are finished.
2021-03-29 13:22:55 +05:30
Chalith Desaman
44fa3134ea Updating hpfs log index on ledger creation (#274) 2021-03-24 16:49:38 +05:30
Savinda Senevirathne
7cec6d01c1 Changes for unstable consensus. (#272)
* Return empty hash when set or vector is empty in crypto.

* Changing <operator in sequence_hash struct.

* Fixing vm script and allowing only single sync target per vpath.

* Making vm cluster log level to debug.

* Increasing hpws max message size and fixing lcl mode in vm cluster scripts.

* lcl block fix.
2021-03-17 12:17:50 +05:30
Chalith Desaman
00a3da9a2b Request historical shards when max shard range is increased (#266)
* Remove and request historical shards at the startup

* Shard history requesting only at the first consensus round

* Removed test log

* Skip max shard seq no file in removing loop

* Updated the code comments

* Persisting condition changed

* Fixed code comment typos

* Fixed code comment typos

* Resolved PR comments

* Halt consensus until completing only the latest shard sync

* Added meaningful comments

* Resolved PR comments and updated hpfs binary

* Logic enhancement and cleanup

* Cleanup the code comment
2021-03-12 12:13:46 +05:30
Savinda Senevirathne
70a83893b0 Fixing connection not closing when threshold exceeded from a single attempt. (#261)
* Fixing connection not closing when threshold exceeded from a sigle message.

* Updated hpws binary.
2021-03-05 16:58:41 +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
Ravin Perera
8eac87fb85 Added smart contract upgrade support. (#250)
Supports smart contract self-upgrades by allowing "post_exec.sh" script to be executed after consensus contract execution.
2021-02-18 17:25:42 +05:30
Ravin Perera
e394497698 Used uint32 for roundtime and timeout fields. (#248) 2021-02-17 12:21:51 +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
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
08680ee8d4 hpws upgrade with websocket protocol improvements. (#232)
* Updated hpws binary and header.
* Improved binary encoding support in client lib.
2021-02-01 22:31:28 +05:30
Ravin Perera
d34b7bce53 Performance metric collection scripts. (#230)
* Scripts to collect performance metrics.
* Added log level to hp client lib.
2021-01-31 18:08:32 +05:30
Ravin Perera
70493d827d Contract id mismatch log message. (#227)
* Added contract id mismatch log.
* Added individual docker image run script.
2021-01-22 16:36:34 +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
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
ravinsp
99e4296746 Updated hpfs binary with rename fixes v2. 2021-01-01 07:44:52 +05:30
ravinsp
82d26f4047 Updated hpfs binary with rename support. 2020-12-31 08:53:47 +05:30
Savinda Senevirathne
e835e18d18 New config file structure. (#201) 2020-12-23 18:52:58 +05:30
Savinda Senevirathne
cc7cae60a9 Provide error message when cannot bind to listening ports at startup. (#199) 2020-12-21 16:43:39 +05:30
Chalith Desaman
229af3e294 hpfs binary update (#196) 2020-12-16 11:33:09 +05:30
priyadharsun
9df8248af7 strdup memory cleanup in hpcore. (#194)
* strdup memory cleanup in hpcore.
* Updated hpfs binary.
2020-12-14 14:34:26 +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
Chalith Desaman
b86efb2d9b Recursively deleting directories during state sync. (#189) 2020-12-09 13:43:34 +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
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
Ravin Perera
efbd775fa1 Refactored C contract lib interface. (#175) 2020-11-30 10:03:06 +05:30
Ravin Perera
332e5a4750 User input json/bson format improvements. (#174)
* Removed hex encoding in json input container.
* Refactored client lib exports.
2020-11-28 21:24:35 +05:30
Savinda Senevirathne
993eb11971 hpfs state hash checkpoint binary update. (#168) 2020-11-26 20:37:57 +05:30
Ravin Perera
9339e09026 Updated hpfs binary with log file block alignment improvements. (#163) 2020-11-24 21:48:13 +05:30
Ravin Perera
9c1f62dbde Migrated user inputs from domain sockets to memfd. (#159) 2020-11-23 21:52:05 +05:30