@@ -23,6 +23,7 @@ static void uvTruncateWorkCb(uv_work_t *work)
23
23
{
24
24
struct uvTruncate * truncate = work -> data ;
25
25
struct uv * uv = truncate -> uv ;
26
+ tracef ("uv truncate work cb" );
26
27
struct uvSnapshotInfo * snapshots ;
27
28
struct uvSegmentInfo * segments ;
28
29
struct uvSegmentInfo * segment ;
@@ -89,6 +90,7 @@ static void uvTruncateWorkCb(uv_work_t *work)
89
90
RaftHeapFree (segments );
90
91
truncate -> status = 0 ;
91
92
93
+ tracef ("uv truncate work cb ok" );
92
94
return ;
93
95
94
96
err_after_list :
@@ -105,10 +107,12 @@ static void uvTruncateAfterWorkCb(uv_work_t *work, int status)
105
107
assert (truncate != NULL );
106
108
struct uv * uv = truncate -> uv ;
107
109
assert (uv != NULL );
110
+ tracef ("uv truncate after work cb status:%d" , status );
108
111
assert (status == 0 );
109
112
if (truncate -> status != 0 ) {
110
113
uv -> errored = true;
111
114
}
115
+ tracef ("clear truncate work" );
112
116
uv -> truncate_work .data = NULL ;
113
117
RaftHeapFree (truncate );
114
118
UvUnblock (uv );
@@ -118,10 +122,12 @@ static void uvTruncateBarrierCb(struct UvBarrier *barrier)
118
122
{
119
123
struct uvTruncate * truncate = barrier -> data ;
120
124
struct uv * uv = truncate -> uv ;
125
+ tracef ("uv truncate barrier cb" );
121
126
int rv ;
122
127
123
128
/* If we're closing, don't perform truncation at all and abort here. */
124
129
if (uv -> closing ) {
130
+ tracef ("closing => don't truncate" );
125
131
RaftHeapFree (truncate );
126
132
return ;
127
133
}
@@ -131,11 +137,13 @@ static void uvTruncateBarrierCb(struct UvBarrier *barrier)
131
137
assert (uv -> finalize_work .data == NULL );
132
138
assert (uv -> truncate_work .data == NULL );
133
139
140
+ tracef ("set truncate work" );
134
141
uv -> truncate_work .data = truncate ;
135
142
rv = uv_queue_work (uv -> loop , & uv -> truncate_work , uvTruncateWorkCb ,
136
143
uvTruncateAfterWorkCb );
137
144
if (rv != 0 ) {
138
145
tracef ("truncate index %lld: %s" , truncate -> index , uv_strerror (rv ));
146
+ tracef ("clear truncate work" );
139
147
uv -> truncate_work .data = NULL ;
140
148
uv -> errored = true;
141
149
}
@@ -148,6 +156,7 @@ int UvTruncate(struct raft_io *io, raft_index index)
148
156
int rv ;
149
157
150
158
uv = io -> impl ;
159
+ tracef ("uv truncate %llu" , index );
151
160
assert (!uv -> closing );
152
161
153
162
/* We should truncate only entries that we were requested to append in the
0 commit comments