Commit graph

310 commits

Author SHA1 Message Date
556b69d887 increase subscription lease to 1 (simulated) day for achieving higher subscriber numbers 2020-09-16 16:07:39 +02:00
f5de7601bb do not store published posts for reducing memory consumption 2020-09-16 13:49:26 +02:00
a2f268d374 improve logging: line buffering, time stamps
contributes to #60
2020-09-16 01:54:50 +02:00
bb17b136d6 increase stabilise interval 2020-09-16 01:54:40 +02:00
c036dea7f9 periodically purge expired subscriptions 2020-09-14 15:49:44 +02:00
a0e7142a7d report number of subscriptions 2020-09-14 14:57:25 +02:00
3c28cde942 catch and print all Socket bind exceptions 2020-09-12 15:45:03 +02:00
1fc264a226 manage logging via file handle
reason: `appendFile` combined with lazy evaluation lead to exhaustion of
open file descriptors, as each file is opened again for each write and
due to lazy evaluation is kept open multiple times.
2020-09-12 12:37:41 +02:00
da579a0756 decrease logging verbosity 2020-09-11 00:39:14 +02:00
e12d8ef70a properly format stats log numbers: no e-notation 2020-09-11 00:39:14 +02:00
0f9727c05a log the post rates instead of the absolute sums 2020-09-10 22:41:06 +02:00
34ecdd66e1 make stats measurement delay configurable, take speedup into account 2020-09-10 21:23:33 +02:00
8f917130c4 tag normalisation includes lower case conversion 2020-09-10 13:14:48 +02:00
3ac89d301c bugfix: subscribe as default if not subscribed yet, when posting to a tag 2020-09-10 13:14:23 +02:00
3c76544afb launch background worker threads 2020-09-10 12:00:17 +02:00
f8d30d0cc4 report post fetches to statistics 2020-09-09 19:55:34 +02:00
620e998876 report incoming relay posts to statistics 2020-09-09 19:25:48 +02:00
85d10f6773 report published posts to statistics 2020-09-09 18:50:55 +02:00
e3a8912360 process incoming posts in parallel 2020-09-09 18:50:45 +02:00
12fcd13754 annotate the PostService server/ request-handler functions 2020-09-09 18:01:51 +02:00
72eca0f4fe log metrics to file
contributes to #60
2020-09-09 17:22:20 +02:00
0ffe9effc0 refactor relay processing to STM-retry instead of busy-wait 2020-09-09 14:24:34 +02:00
2b39648a77 actually implement simple relaying of posts
was still missing for #41
2020-09-09 11:51:09 +02:00
df479982fa make RingMap instance of Functor and Foldable 2020-09-08 08:46:36 +02:00
c536994afe re-format Servant client pattern matching 2020-09-07 16:35:59 +02:00
5c338b9cd7 split up stats summing and evaluating, launch threads 2020-09-07 16:27:56 +02:00
c823e6357a accumulate all statistic/ measurement events to a measurement summary
- RingMap can now be mapped over
2020-09-07 13:00:15 +02:00
4d2d6faf1b Merge pull request 'Improve general readability' (#69) from Hecate/Hash2Pub:readability into mainline
brings several readability enhancements:

- Text is always unqualified
- The Servant API declaration is moved to its own file
- Redundant imports are removed
2020-09-05 16:27:23 +02:00
Hécate
7d833e064b Improve readability 2020-09-05 15:45:47 +02:00
fa78c6fc43 clarify different nix-shell environments in readme 2020-09-05 15:01:46 +02:00
Hécate
d3e5eac5c5 Unsused imports and syntax error 2020-09-05 12:41:18 +02:00
60f5780742 Merge branch 'measurement_logging' into mainline
more values are parametrised through FediChordConfig
2020-09-05 12:31:40 +02:00
c9b0e66110 scale request timeout with speedup and pass it directly to function 2020-09-05 12:30:31 +02:00
4f08d33d2e make all delays configurable and scale them according to a speedup factor 2020-09-05 12:30:31 +02:00
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
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
1aee41db88 enable compiler optimisation 2020-08-31 13:37:40 +02:00
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
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
1a962f1500 stylish run 2020-08-27 00:33:19 +02:00
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
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
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
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
6c5e40f8ad fix wrong passing of arguments in receive-loop part checking 2020-08-24 15:28:06 +02:00
3bd4cb667d explicitly pass socket in send-receive-loop 2020-08-24 10:02:45 +02:00
4ba592d8a2 bugfix: DHT request timeout unit is milliseconds 2020-08-23 15:21:24 +02:00
cd8ea07600 bugfix: make unjoined nodes consider all IDs to be their responsibility 2020-08-23 13:04:58 +02:00
2b418189a6 use hard-coded defaults for DHT request timeout and retries 2020-08-23 12:06:26 +02:00
c3b1aad1c7 abstract away the hashtag -> NodeID conversion 2020-08-21 23:55:20 +02:00