Commit Graph

26 Commits

Author SHA1 Message Date
Chalith Desaman
29c8201974 Do a chmod to avoid umask (#377) 2023-07-05 11:07:39 +05:30
Chalith Desaman
b8b8de662d Bugfix for HotPocket crash when syncing empty files (#376) 2023-06-19 09:58:03 +05:30
Ravin Perera
5cef95c9f6 Enabled and fixed compiler warnings. (#359) 2022-01-28 16:03:34 +05:30
Ravin Perera
7ba84e8e7a Ledger close refactor. (#330) 2021-07-14 10:09:13 +05:30
Ravin Perera
7cd56a1475 Consensus proposal pruning improvement. (#314)
Consensus proposal pruning improvement.
hpfs binary fd leak fix.
2021-05-29 12:53:49 +05:30
Ravin Perera
a6dbf1f277 Fixed busy loop issue in hpfs sync. (#313) 2021-05-27 22:41:02 +05:30
Ravin Perera
b172152cba Sync and consensus improvements. (#312)
* Refactored hpfs sync to support parallel target sync.
* Removed role change in consensus.
2021-05-25 21:43:08 +05:30
Ravin Perera
4e75b497ec Improvements to vm cluster scripts. (#304)
* Improvements to vm cluster scripts.
* Fixed sync priority change issue.
2021-05-11 09:01:09 +05:30
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
Ravin Perera
ef2bb22b67 hpfs sync target refactoring. (#302) 2021-05-04 16:33:19 +05:30
Ravin Perera
4f82afe5b1 Pre-emptive hpfs sync responses. (#299)
Hpfs sync requester reports its own filesystem state to the responder. Responder uses that information to pre-emptively send additional filesystem data the requester may need.
2021-05-01 08:27:42 +05:30
Ravin Perera
505d1ad849 Reacquire hpfs rw session after each sync target completion. (#296) 2021-04-29 10:08:43 +05:30
Savinda Senevirathne
b6a69e5824 Refresh consensus context when a roundtime change happens. (#267) 2021-03-12 16:39:26 +05:30
Ravin Perera
5b56d9c1b3 Updated hpfs hash verification with file mode checks. (#257)
* Added file mode to hpfs responses.

* Parse file mode on hpfs response read.

* Apply file/dir mode.

* Fixed mode apply logic.

* Fixed code review comments.

* Additional fix.
2021-02-24 11:13:28 +05:30
Ravin Perera
137c199b07 P2P Flatbuffers schema refactor. (#255) 2021-02-23 13:15:03 +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
Chalith Desaman
7059f68f11 Removed legacy lcl code and dependencies (#249) 2021-02-18 17:07:50 +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
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
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
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
Ravin Perera
e8e7921ac1 Single-process hpfs integration. (#212) 2021-01-06 21:53:39 +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