Commit 8098ae5
committed
[anomalydetection] guard negative flush_interval; preserve log event time
Two fixes from Codex review:
1. NewComponent treated only flush_interval == 0 as needing the default, so
a negative value (e.g. user types -1s) flowed through to time.NewTicker,
which panics on non-positive durations. Change the guard to <= 0 to match
the existing retention guard three lines below.
2. recordingHandle.ObserveLog stamped recorded logs with time.Now().UnixMilli()
instead of the LogView's own event time. Replayed, buffered, or delayed
logs were recorded with ingestion time rather than the actual event time,
breaking chronological reconstruction. Use msg.GetTimestampUnixMilli(),
falling back to wall clock only when the message reports zero.
Tests (both verified to fail against the unpatched code):
- TestRecorderNegativeFlushIntervalFallsBackToDefault — without the fix,
the writer goroutine panics in time.NewTicker.
- TestRecordingHandle_PreservesLogTimestamp — without the fix, the
recorded TimestampMs is wall-clock-now, not the message's event time.
Codex flagged a third issue (parquet_log_reader.go reading only chunks[0]).
Investigated and confirmed it is not reachable in practice: pqarrow's
ReadTable consolidates all row groups into a single Arrow chunk on read in
arrow-go v18.4.0 (verified empirically against a parquet file with 8 row
groups — produces a 1-chunk table). The chunks[0] pattern is therefore
correct for current arrow-go behavior. Not applied.1 parent 8d12780 commit 8098ae5
2 files changed
Lines changed: 88 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
| 54 | + | |
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| |||
224 | 224 | | |
225 | 225 | | |
226 | 226 | | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
227 | 231 | | |
228 | 232 | | |
229 | 233 | | |
230 | 234 | | |
231 | 235 | | |
232 | 236 | | |
233 | 237 | | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
234 | 242 | | |
235 | 243 | | |
236 | 244 | | |
237 | 245 | | |
238 | 246 | | |
239 | 247 | | |
240 | | - | |
| 248 | + | |
241 | 249 | | |
242 | 250 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
35 | 51 | | |
36 | 52 | | |
37 | 53 | | |
| |||
168 | 184 | | |
169 | 185 | | |
170 | 186 | | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
0 commit comments