Savinda Senevirathne
ff197a8bb6
Optimizing finding last shard sequence number. ( #253 )
...
* Optimizing finding last shard in primary and blob.
* Resolving PR comments and bug fix.
* Resolving PR comments.
2021-02-22 10:47:55 +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
6b8d60a404
Separated lcl string usage to sequence no and hash. ( #251 )
2021-02-18 18:28:38 +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
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
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
0de7983504
User outputs round limit. ( #241 )
...
Implemented user outputs round limit and upgraded the contract libraries to support the configs.
2021-02-15 14:23:47 +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
94eedcaf5b
Added roundtime offset based on contract id. ( #238 )
2021-02-05 17:48:21 +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
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
adheeb-adb
62c91ad90c
sqlite wrapper for ledger database. ( #228 )
...
Added wrapper methods to create ledger table and insert records for sqlite database.
2021-01-29 18:06:31 +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
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
Chalith Desaman
eef6448f08
Handle unl change announcement in js client library. ( #225 )
2021-01-19 15:29:17 +05:30
Savinda Senevirathne
146bb1d46c
Apply patch file changes only after consensus verification. ( #222 )
2021-01-19 11:56:33 +05:30
Chalith Desaman
73f5eea451
Unl change announcement to connected users. ( #224 )
...
Introduced json and bson messages for unl list announcement.
When the unl set is modified send a json or bson unl list message (according to the user protocol) to all the connected users.
2021-01-19 11:33:27 +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
Chalith Desaman
99c768360e
Contract hpargs revamp. ( #217 )
2021-01-11 14:28:01 +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
d39b9a56ec
Fixed crash on foked lcl sync. ( #215 )
2021-01-08 21:25:17 +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
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
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
f97d7de530
Moved h32 hash type from hpfs to util. ( #204 )
2020-12-23 21:58:49 +05:30
Ravin Perera
c25ebe66f4
Util helper func simplification. ( #203 )
2020-12-23 21:49:13 +05:30
Ravin Perera
8dc20bdab0
Naming changes and reintroducing key prefix to contract libraries. ( #202 )
2020-12-23 19:23:46 +05:30
Savinda Senevirathne
e835e18d18
New config file structure. ( #201 )
2020-12-23 18:52:58 +05:30