Skip to content
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

avoid self.targets is nil. #44

Merged
merged 1 commit into from
Sep 20, 2020
Merged

avoid self.targets is nil. #44

merged 1 commit into from
Sep 20, 2020

Conversation

juzipeek
Copy link
Contributor

@juzipeek juzipeek commented May 8, 2020

when two worker create checker, worker-0 first created and add target success, then worker-1 creating, when worker-1 call worker_events:poll() in line 1408, raise crash.
self.targets init with empty table avoid this.

@Tieske
Copy link
Member

Tieske commented Sep 18, 2020

@juzipeek I'm not sure this fix is correct.

That table (which you are initializing) is already initialized here:

self.targets = target_list

If it is not initialized, then it failed to acquire the lock, with should result in this code:

if not ok then
-- locking failed, we don't protect `targets` of being nil in other places
-- so consider this as not recoverable
return nil, "Error loading initial target list: " .. err
end
exiting early and returning the error.

So effectively the call to poll should never execute (

worker_events.poll()
)

So what was the initial error you got? Or can you provide a testcase demonstrating the issue?

@Tieske
Copy link
Member

Tieske commented Sep 18, 2020

looks same as #42

when two worker create `checker`, `worker-0` first created and add
target success, then `worker-1` creating, when `worker-1` call
`worker_events:poll()` in line 1408, raise crash.

`self.targets` init with empty table avoid this.
@Tieske
Copy link
Member

Tieske commented Sep 20, 2020

reconsidering this, since it is async, it might not be initialized, so this is a proper fix

@Tieske Tieske merged commit 0a115e1 into Kong:master Sep 20, 2020
bungle added a commit to Kong/kong that referenced this pull request Sep 22, 2020
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
bungle added a commit to Kong/kong that referenced this pull request Sep 27, 2020
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
bungle added a commit to Kong/kong that referenced this pull request Sep 28, 2020
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
bungle added a commit to Kong/kong that referenced this pull request Sep 30, 2020
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
bungle added a commit to Kong/kong that referenced this pull request Oct 6, 2020
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
bungle added a commit to Kong/kong that referenced this pull request Oct 7, 2020
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
bungle added a commit to Kong/kong that referenced this pull request Oct 8, 2020
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
bungle added a commit to Kong/kong that referenced this pull request Nov 6, 2020
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
@juzipeek juzipeek deleted the patch-1 branch November 19, 2020 09:46
bungle added a commit to Kong/kong that referenced this pull request Dec 3, 2020
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
bungle added a commit to Kong/kong that referenced this pull request Dec 10, 2020
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
bungle added a commit to Kong/kong that referenced this pull request Dec 18, 2020
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
bungle added a commit to Kong/kong that referenced this pull request Dec 22, 2020
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
bungle added a commit to Kong/kong that referenced this pull request Jan 13, 2021
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
bungle added a commit to Kong/kong that referenced this pull request Feb 2, 2021
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
bungle added a commit to Kong/kong that referenced this pull request Jun 28, 2021
### Summary

* BREAKING: fallback for deprecated top-level field `type` is now removed
  (deprecated since `0.5.0`) [#56](Kong/lua-resty-healthcheck#56)
* BREAKING: Bump `lua-resty-worker-events` dependency to `2.0.0`. This makes
  a lot of the APIs in this library asynchronous as the worker events `post`
  and `post_local` won't anymore call `poll` on a running worker automatically,
  for more information, see:
  https://github.com/Kong/lua-resty-worker-events#200-16-september-2020
* BREAKING: tcp_failures can no longer be 0 on http(s) checks (unless http(s)_failures
  are also set to 0) [#55](Kong/lua-resty-healthcheck#55)
* feature: Added support for https_sni [#49](Kong/lua-resty-healthcheck#49)
* fix: properly log line numbers by using tail calls [#29](Kong/lua-resty-healthcheck#29)
* fix: when not providing a hostname, use IP [#48](Kong/lua-resty-healthcheck#48)
* fix: makefile; make install
* feature: added a status version field [#54](Kong/lua-resty-healthcheck#54)
* feature: add headers for probe request [#54](Kong/lua-resty-healthcheck#54)
* fix: exit early when reloading during a probe [#47](Kong/lua-resty-healthcheck#47)
* fix: prevent target-list from being nil, due to async behaviour [#44](Kong/lua-resty-healthcheck#44)
* fix: replace timer and node-wide locks with resty-timer, to prevent interval
  skips [#59](Kong/lua-resty-healthcheck#59)
* change: added additional logging on posting events [#25](Kong/lua-resty-healthcheck#25)
* fix: do not run out of timers during init/init_worker when adding a vast
  amount of targets [#57](Kong/lua-resty-healthcheck#57)
* fix: do not call on the module table, but use a method for locks. Also in
  [#57](Kong/lua-resty-healthcheck#57)
AlinsRan referenced this pull request in api7/lua-resty-healthcheck Jun 1, 2023
…#44)

when two worker create `checker`, `worker-0` first created and add
target success, then `worker-1` creating, when `worker-1` call
`worker_events:poll()` in line 1408, raise crash.

`self.targets` init with empty table avoid this.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants