influxdata / influxdata/kapacitor
Kapacitor issue - Batch joins not working as expected, one data stream not consistent data.
- Dominant language
- Go
- Stars
- 2.4k
- Forks
- 479
- Avg merge
- 4d 16h
- Merged PRs (30d)
- 4
Description
OS: 64-bit Ubuntu 16.04.1 LTS
Kapacitor Version: 1.1.0
Installation Source: Pre-built package
Test Case Script:
```
var errRetCodeName string
var errors = batch
|query('
SELECT sum("' + errRetCodeName + '")
FROM "reporting"."default"."return_errors"
')
.period(1m)
.every(1m)
.groupBy(time(1m),errRetCodeName)
.fill(0)
|httpOut('errors')
var successes = batch
|query('
SELECT sum("RET0")
FROM "reporting"."default"."return_successes"
')
.period(1m)
.every(1m)
.groupBy(time(1m),'RET0').fill(0)
|httpOut('successes')
errors
|join(successes)
.as('errors', 'successes')
.fill(0.0)
|httpOut('test')
```
The issue is where errors and successes gets data, the join does not work. I note that errors only gets entries when there are errors in the system, but otherwise, it seems to me as though the join is not working at all, despite being an outer join. I've confirmed the data has identical timestamps when processed via Kapacitor, and I have attempted to do inner joins as well as tolerance in case the times didn't map quite correctly.
Contributor guide
Research direction
Start by reproducing the supplied batch TICKscript on Kapacitor 1.1.0, checking the errors and successes streams before and after the join. Compare timestamps, grouping, and missing points to determine why the outer join produces inconsistent data. Done means the join reliably emits the expected combined output when either stream lacks data.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- data, stream-processing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100