Guest User

Untitled

a guest
Sep 5th, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.78 KB | None | 0 0
  1. diff --git a/kong/db/dao/targets.lua b/kong/db/dao/targets.lua
  2. index 1f6ed251..69f45d70 100644
  3. --- a/kong/db/dao/targets.lua
  4. +++ b/kong/db/dao/targets.lua
  5. @@ -186,6 +186,8 @@ end
  6. function _TARGETS:select_by_upstream_raw(upstream_pk, ...)
  7. local targets = {}
  8.  
  9. + local ips = {}
  10. +
  11. -- Note that each_for_upstream is not overridden, so it returns "raw".
  12. for target, err, err_t in self:each_for_upstream(upstream_pk, ...) do
  13. if not target then
  14. @@ -198,9 +200,12 @@ function _TARGETS:select_by_upstream_raw(upstream_pk, ...)
  15. end
  16. target.target = formatted_target
  17.  
  18. + table.insert(ips, target.target .. "(order: " .. tostring(target.order) .. ")")
  19. table.insert(targets, target)
  20. end
  21.  
  22. + ngx.log(ngx.DEBUG, "mark-l207: select_by_upstream_raw targets: ", table.concat(ips, ", "))
  23. +
  24. table.sort(targets, sort_targets)
  25.  
  26. return targets
  27. diff --git a/kong/runloop/balancer.lua b/kong/runloop/balancer.lua
  28. index 1d178f38..d005292b 100644
  29. --- a/kong/runloop/balancer.lua
  30. +++ b/kong/runloop/balancer.lua
  31. @@ -129,14 +129,16 @@ do
  32. return nil, err, err_t
  33. end
  34.  
  35. + local ips = {}
  36. -- perform some raw data updates
  37. for _, target in ipairs(target_history) do
  38. -- split `target` field into `name` and `port`
  39. local port
  40. target.name, port = string.match(target.target, "^(.-):(%d+)$")
  41. target.port = tonumber(port)
  42. + table.insert(ips, target.name .. ":" .. port .. "(order: " .. tostring(target.order) .. ")")
  43. end
  44. -
  45. + log(DEBUG, "mark-l141: fetched targets: ", table.concat(ips, ", "))
  46. return target_history
  47. end
  48. _load_targets_into_memory = load_targets_into_memory
  49. @@ -458,6 +460,11 @@ local function check_target_history(upstream, balancer)
  50. (old_history[old_size] or EMPTY_T).order ==
  51. (new_history[new_size] or EMPTY_T).order then
  52. -- No history update is necessary in the balancer object.
  53. + local o = old_history[old_size] or EMPTY_T
  54. + local n = new_history[new_size] or EMPTY_T
  55. + log(DEBUG, "mark-l464: check target no change, old: order " , o.order , ", target "
  56. + , o.target , ", weight " , o.weight
  57. + , ", new: order " , n.order , ", target " , n.target , ", weight " , n.weight)
  58. return true
  59. end
  60.  
  61. @@ -615,6 +622,13 @@ local function on_target_event(operation, target)
  62. local ok, err = check_target_history(upstream, balancer)
  63. if not ok then
  64. log(ERR, "failed checking target history for ", upstream.name, ": ", err)
  65. + else
  66. + local hosts = balancer.hosts
  67. + local ips = {}
  68. + for _, host in ipairs(hosts) do
  69. + table.insert(ips, host.hostname .. ":" .. host.port)
  70. + end
  71. + log(DEBUG, "mark-l624: ips after check ", table.concat(ips,", "), ", operation ", operation, ", target ", target.target)
  72. end
  73. end
Advertisement
Add Comment
Please, Sign In to add comment