Skip to content
This repository was archived by the owner on Mar 4, 2024. It is now read-only.

Commit fffed07

Browse files
committed
Add lifecycle function calls for request tracing
Signed-off-by: Cole Miller <cole.miller@canonical.com>
1 parent e1e6fc7 commit fffed07

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

Makefile.am

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ libraft_la_SOURCES = \
1919
src/entry.c \
2020
src/err.c \
2121
src/heap.c \
22+
src/lifecycle.c \
2223
src/log.c \
2324
src/membership.c \
2425
src/progress.c \

src/client.c

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include "assert.h"
33
#include "configuration.h"
44
#include "err.h"
5+
#include "lifecycle.h"
56
#include "log.h"
67
#include "membership.h"
78
#include "progress.h"
@@ -47,7 +48,7 @@ int raft_apply(struct raft *r,
4748
goto err;
4849
}
4950

50-
QUEUE_PUSH(&r->leader_state.requests, &req->queue);
51+
lifecycleRequestStart(r, (struct request *)req);
5152

5253
rv = replicationTrigger(r, index);
5354
if (rv != 0) {
@@ -96,7 +97,7 @@ int raft_barrier(struct raft *r, struct raft_barrier *req, raft_barrier_cb cb)
9697
goto err_after_buf_alloc;
9798
}
9899

99-
QUEUE_PUSH(&r->leader_state.requests, &req->queue);
100+
lifecycleRequestStart(r, (struct request *)req);
100101

101102
rv = replicationTrigger(r, index);
102103
if (rv != 0) {

src/replication.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#endif
1010
#include "err.h"
1111
#include "heap.h"
12+
#include "lifecycle.h"
1213
#include "log.h"
1314
#include "membership.h"
1415
#include "progress.h"
@@ -454,7 +455,7 @@ static struct request *getRequest(struct raft *r,
454455
req = QUEUE_DATA(head, struct request, queue);
455456
if (req->index == index) {
456457
assert(req->type == type);
457-
QUEUE_REMOVE(head);
458+
lifecycleRequestEnd(r, req);
458459
return req;
459460
}
460461
}

0 commit comments

Comments
 (0)