lf-edge / ekuiper

Lightweight data stream processing engine for IoT edge
https://ekuiper.org
Apache License 2.0
1.47k stars 413 forks source link

Keeps print log file if failed to call sinks, even after dropping the rule #266

Closed jinfahua closed 4 years ago

jinfahua commented 4 years ago

Take following steps to reproduce the problem.

{
  "sql": "SELECT * FROM demo",
  "actions": [
    {
      "log": {}
    },
    {
      "rest": {
        "url": "http://localhost:8888",
        "method": "Get",
        "dataTemplate": "{\"hello\": 3}",
        "sendSingle": true
      }
    }
  ]
}
time="2020-05-15T09:02:42+08:00" level=warning msg="sink node sink_rest instance 0 publish {\"hello\": 3} error: rest sink fails to err http return code: 404." file="sink_node.go:272" rule=rule1
time="2020-05-15T09:02:43+08:00" level=warning msg="sink node sink_rest instance 0 publish {\"hello\": 3} error: rest sink fails to err http return code: 404." file="sink_node.go:272" rule=rule1
time="2020-05-15T09:02:44+08:00" level=info msg="save cache for rule rule1" file="sink_cache.go:126" rule=rule1
time="2020-05-15T09:02:44+08:00" level=warning msg="sink node sink_rest instance 0 publish {\"hello\": 3} error: rest sink fails to err http return code: 404." file="sink_node.go:272" rule=rule1
time="2020-05-15T09:02:45+08:00" level=warning msg="sink node sink_rest instance 0 publish {\"hello\": 3} error: rest sink fails to err http return code: 404." file="sink_node.go:272" rule=rule1
time="2020-05-15T09:02:46+08:00" level=warning msg="sink node sink_rest instance 0 publish {\"hello\": 3} error: rest sink fails to err http return code: 404." file="sink_node.go:272" rule=rule1

It still print these message even after the rule is drop, bin/cli drop rule rule1

time="2020-05-15T09:03:40+08:00" level=warning msg="sink node sink_rest instance 0 publish {\"hello\": 3} error: rest sink fails to err http return code: 404." file="sink_node.go:272" rule=rule1
time="2020-05-15T09:03:40+08:00" level=info msg="sink node sink_log instance 0 done" file="sink_node.go:185" rule=rule1
time="2020-05-15T09:03:40+08:00" level=info msg="unary operator preprocessor_demo instance 0 cancelling...." file="operations.go:153" rule=rule1
time="2020-05-15T09:03:40+08:00" level=info msg="unary operator preprocessor_demo instance 0 done, cancelling future items" file="operations.go:108" rule=rule1
time="2020-05-15T09:03:40+08:00" level=info msg="unary operator project instance 0 cancelling...." file="operations.go:153" rule=rule1
time="2020-05-15T09:03:40+08:00" level=info msg="unary operator project instance 0 done, cancelling future items" file="operations.go:108" rule=rule1
time="2020-05-15T09:03:40+08:00" level=info msg="source demo done" file="source_node.go:119" rule=rule1
time="2020-05-15T09:03:40+08:00" level=info msg="Mqtt Source instance 0 Done" file="mqtt_source.go:175" rule=rule1
time="2020-05-15T09:03:41+08:00" level=warning msg="sink node sink_rest instance 0 publish {\"hello\": 3} error: rest sink fails to err http return code: 404." file="sink_node.go:272" rule=rule1
time="2020-05-15T09:03:42+08:00" level=warning msg="sink node sink_rest instance 0 publish {\"hello\": 3} error: rest sink fails to err http return code: 404." file="sink_node.go:272" rule=rule1
time="2020-05-15T09:03:43+08:00" level=warning msg="sink node sink_rest instance 0 publish {\"hello\": 3} error: rest sink fails to err http return code: 404." file="sink_node.go:272" rule=rule1
time="2020-05-15T09:03:44+08:00" level=warning msg="sink node sink_rest instance 0 publish {\"hello\": 3} error: rest sink fails to err http return code: 404." file="sink_node.go:272" rule=rule1
time="2020-05-15T09:03:45+08:00" level=warning msg="sink node sink_rest instance 0 publish {\"hello\": 3} error: rest sink fails to err http return code: 404." file="sink_node.go:272" rule=rule1
time="2020-05-15T09:03:46+08:00" level=warning msg="sink node sink_rest instance 0 publish {\"hello\": 3} error: rest sink fails to err http return code: 404." file="sink_node.go:272" rule=rule1

Any workaround for this? Yes, add retryInterval to avoid keeping trying to re-send the result.

{
  "sql": "SELECT * FROM demo",
  "actions": [
    {
      "log": {}
    },
    {
      "rest": {
        "url": "http://localhost:9443",
        "method": "Get",
        "retryInterval": -1,
        "dataTemplate": "{\"hello\": 3}",
        "sendSingle": true
      }
    }
  ]
}
jinfahua commented 4 years ago

Fixed & close the issue.