-
Notifications
You must be signed in to change notification settings - Fork 495
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Join two nodes when one has no data #1871
Comments
I'm seeing the same behavior that |
Looking at the join code I have a hunch that I'm hitting this condition. For example one has measurement Could this be fixed or at least the documentation be updated to avoid confusion? |
Hey guys, |
Kapacitor: 1.5.3 Hi guys, var req_all = stream var req_err = stream req_err It doesn't work properly. The symptom is like that mentioned above. I cannot see the result data in my InfluxDB when the task is running. However, the result data will be written into InfluxDB when I disable the task. from4 [avg_exec_time_ns="18.189µs" errors="0" working_cardinality="0" ]; window5 [avg_exec_time_ns="0s" errors="0" working_cardinality="0" ]; count6 [avg_exec_time_ns="0s" errors="0" working_cardinality="0" ]; from1 [avg_exec_time_ns="22.796µs" errors="0" working_cardinality="0" ]; window2 [avg_exec_time_ns="28.023µs" errors="0" working_cardinality="1" ]; count3 [avg_exec_time_ns="6.653µs" errors="0" working_cardinality="1" ]; join8 [avg_exec_time_ns="140.31µs" errors="0" working_cardinality="1" ]; eval9 [avg_exec_time_ns="0s" errors="0" working_cardinality="0" ]; influxdb_out10 [avg_exec_time_ns="0s" errors="0" points_written="0" working_cardinality="0" write_errors="0" ]; |
The workaround for me was to union two streams first. And then to join the completed stream with the United stream. Pretty ugly but it do the job if you have one full and one partial stream and want to outer join them |
Thank you, man. Now I'm using a method similar to yours. |
Could you share a sample on how you got this working? I tried this approach, but not seeing the results expected for outer join -- it's still giving the results of an inner join.
Another problem I observed was with the results of union itself -- Sometimes it's getting split across different run of the batch:
where |
This issue has been open for quite some time and many people (including me) ran into this problem. I think at least the documentation for JoinNode should include a big warning box that the join will not happen when one of the streams has no data points incoming. |
For example I have 2 metrics (temp1, temp2). But only one has incoming data. Maybe temp2 sensor is turned off, does not matter. For my condition
"t1.value" > 0 OR "t2.value" > 0
temp2 is not relevant. But I didn't see in the log any point with prefixP1
after join, join does not happen. So the question is how to make full outer join in my case?PS. if temp2 has incoming data it works fine
The text was updated successfully, but these errors were encountered: