Commit graph

277 commits

Author SHA1 Message Date
Trolli Schmittlauch 4f08d33d2e make all delays configurable and scale them according to a speedup factor 2020-09-05 12:30:31 +02:00
Trolli Schmittlauch 20050654bc make passing bootstrap information optional
reason: allow the first node to start without having to wait for a
timeout
part of #58
2020-09-03 11:20:38 +02:00
Trolli Schmittlauch 59beb3441f instrumentation script executes the prepared schedule
- reads CSV schedule from file
- sends the given schedule of post events
- not thoroughly tested yet

implements #59
2020-09-02 21:37:01 +02:00
Trolli Schmittlauch 1aee41db88 enable compiler optimisation 2020-08-31 13:37:40 +02:00
Trolli Schmittlauch 3c1652d86d prototype instrumentation of periodically sending posts to a test setup of 3 nodes
- contributes to #59
2020-08-27 12:01:08 +02:00
Trolli Schmittlauch 1b5fc039b3 Merge branch 'fix_networking': fix some DHT joins and crashes
several major flaws in the basic DHT communication had been discovered,
see individual commits for details
2020-08-27 00:39:08 +02:00
Trolli Schmittlauch 1a962f1500 stylish run 2020-08-27 00:33:19 +02:00
Trolli Schmittlauch ab9d593a1b bugfix: fix wrong partial Response sender access
- replaces improper record field access of `sender`, only existing in a
  Request, by `senderID` of a Response
- fixes the resulting exception-crash
- adds new function that enqueues a verification mark and timestamp bump
  of an existing cache entry
2020-08-27 00:27:36 +02:00
Trolli Schmittlauch f1b15d5a9e bugfix: fix join by adding join node and waiting for it
- additionally to adding neighbours of join node, add the join node
  itself as a neighbour as well
- wait for migrations from the node
2020-08-26 17:43:32 +02:00
Trolli Schmittlauch fc8aa3e330 bugfix: properly process QueryID responses so FOUND is conserved
fixes dproper discovery of announced responsibility by FOUND
2020-08-25 22:01:01 +02:00
Trolli Schmittlauch b23201a49c Make key lookups fail after request exhaustion instead of providing default
Returning the own node as a default does not make sense in all contexts:
Especially for bootstrap joining this can be harmful, so signalling
instead that the lookup failed makes distinguishing on a case by case
basis possible.

Also contributes to #57
2020-08-25 12:51:33 +02:00
Trolli Schmittlauch 6c5e40f8ad fix wrong passing of arguments in receive-loop part checking 2020-08-24 15:28:06 +02:00
Trolli Schmittlauch 3bd4cb667d explicitly pass socket in send-receive-loop 2020-08-24 10:02:45 +02:00
Trolli Schmittlauch 4ba592d8a2 bugfix: DHT request timeout unit is milliseconds 2020-08-23 15:21:24 +02:00
Trolli Schmittlauch cd8ea07600 bugfix: make unjoined nodes consider all IDs to be their responsibility 2020-08-23 13:04:58 +02:00
Trolli Schmittlauch 2b418189a6 use hard-coded defaults for DHT request timeout and retries 2020-08-23 12:06:26 +02:00
Trolli Schmittlauch c3b1aad1c7 abstract away the hashtag -> NodeID conversion 2020-08-21 23:55:20 +02:00
Trolli Schmittlauch 75c1932ef6 send fetchable post URIs as ID 2020-08-21 23:47:42 +02:00
Trolli Schmittlauch 5511026c8d reduce logging verbosity 2020-08-21 14:40:29 +02:00
Trolli Schmittlauch f330ff1070 successful post publishing with MonadState and random relay selection 2020-08-21 12:31:50 +02:00
Trolli Schmittlauch 32734102cd improve documentation of clientPublishPost 2020-08-20 18:13:50 +02:00
Trolli Schmittlauch 70145bc544 bump nixpkgs revision 2020-08-20 15:59:04 +02:00
Trolli Schmittlauch 24088581fe bump nixpkgs revision 2020-08-20 15:58:35 +02:00
Trolli Schmittlauch 2548b6a507 automatically subscribe when publishing to a tag 2020-08-20 11:49:23 +02:00
Trolli Schmittlauch 2ee40a7f64 start working on the experiment runner #59 2020-08-19 15:49:39 +02:00
Trolli Schmittlauch b48251d29d Merge branch 'data_migration': closes #36
this simple implementation still contains minor design issues, for which
tickets have been filed though
2020-08-18 12:05:55 +02:00
Trolli Schmittlauch fce5ff9153 implement service data migration for stabilise 2020-08-18 00:19:21 +02:00
Trolli Schmittlauch 969f6d7fc2 fix tests 2020-08-17 13:39:22 +02:00
Trolli Schmittlauch 6982a0b245 indicate in LeaveRequest whether to expect a migration
this information is used to decide whether to await an incoming
migration in `respondLeave`
2020-08-17 12:36:02 +02:00
Trolli Schmittlauch b8cedada48 prevent threads not awaiting migration from blocking their response 2020-08-17 11:37:04 +02:00
Trolli Schmittlauch c49c1a89c9 wait for migration to complete on join
also clean up migration entry after success
2020-08-17 00:22:48 +02:00
Trolli Schmittlauch 414564705a possibility to wait for a migration to complete 2020-08-16 23:26:31 +02:00
Trolli Schmittlauch 581757965a trigger service data migration at join 2020-08-16 17:53:56 +02:00
Trolli Schmittlauch 470ce6f39a correct the slice of transfered tags at leave 2020-08-15 23:58:47 +02:00
Trolli Schmittlauch 4302452d18 implement vserver leave and trigger data transfer initiation
still unused though
contributes to #36
2020-08-15 22:56:16 +02:00
Trolli Schmittlauch d2e4359a21 rename join function to clarify it just joining a single vserver 2020-08-15 17:37:14 +02:00
Trolli Schmittlauch 8db8907163 filter out spoofed requests for important operations like Join, Leave, Stabilise 2020-08-15 17:19:53 +02:00
Trolli Schmittlauch 5f7ca23f71 add missing leave request sending function 2020-08-14 22:59:28 +02:00
Trolli Schmittlauch 0ecad38748 merge implemented mock relay service API
closes #32 #41
2020-08-14 11:29:50 +02:00
Trolli Schmittlauch 4339cace20 function for initially publishing a post 2020-08-14 11:06:58 +02:00
Trolli Schmittlauch bf277c5a73 unsubsribe from tag 2020-08-13 23:50:33 +02:00
Trolli Schmittlauch 402378a78b signal and handle non-responsibility to subscriptions 2020-08-13 23:44:24 +02:00
Trolli Schmittlauch e646045ab2 include port in Origin header 2020-08-13 21:57:28 +02:00
Trolli Schmittlauch e9ae258dde subscribe to tag 2020-08-13 21:12:39 +02:00
Trolli Schmittlauch 375014812a use a shared HTTP manager for requests 2020-08-13 19:05:38 +02:00
Trolli Schmittlauch bdb00a32f3 add nix shell environment without HIE for smaller foot print 2020-08-13 13:09:48 +02:00
Trolli Schmittlauch dcd4a7b563 add nix shell environment without HIE for smaller foot print 2020-08-13 13:08:38 +02:00
Trolli Schmittlauch 580410e0b4 simple post fetch worker thread 2020-08-13 13:07:50 +02:00
Trolli Schmittlauch c1ce386b65 send prepared subscriptions and clean up on success 2020-08-12 15:23:10 +02:00
Trolli Schmittlauch 2e88a4079b extract and build subscriber payload for sending 2020-08-12 14:07:19 +02:00