Skip to content

Commit

Permalink
fix(cp) proper error handling for export_deflated_reconfigure_payload
Browse files Browse the repository at this point in the history
  • Loading branch information
gruceo authored and kikito committed Apr 22, 2022
1 parent 612648c commit 86de704
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
13 changes: 8 additions & 5 deletions kong/clustering/control_plane.lua
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,12 @@ local REMOVED_FIELDS = require("kong.clustering.compat.removed_fields")
local _log_prefix = "[clustering] "


local function handle_export_deflated_reconfigure_payload(self)
local ok, p_err, err = pcall(self.export_deflated_reconfigure_payload, self)
return ok, p_err or err
end


local function plugins_list_to_map(plugins_list)
local versions = {}
for _, plugin in ipairs(plugins_list) do
Expand Down Expand Up @@ -481,10 +487,7 @@ function _M:handle_cp_websocket()
self.clients[wb] = queue

if not self.deflated_reconfigure_payload then
local ok, _, err = pcall(self.export_deflated_reconfigure_payload, self)
if not ok then
ngx_log(ngx_ERR, _log_prefix, "unable to export initial config from database: ", err, log_suffix)
end
_, err = handle_export_deflated_reconfigure_payload(self)
end

if self.deflated_reconfigure_payload then
Expand Down Expand Up @@ -657,7 +660,7 @@ local function push_config_loop(premature, self, push_config_semaphore, delay)
return
end

local ok, err = pcall(self.export_deflated_reconfigure_payload, self)
local ok, err = handle_export_deflated_reconfigure_payload(self)
if not ok then
ngx_log(ngx_ERR, _log_prefix, "unable to export initial config from database: ", err)
end
Expand Down
11 changes: 9 additions & 2 deletions kong/clustering/wrpc_control_plane.lua
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,13 @@ local _log_prefix = "[wrpc-clustering] "

local wrpc_config_service


local function handle_export_deflated_reconfigure_payload(self)
local ok, p_err, err = pcall(self.export_deflated_reconfigure_payload, self)
return ok, p_err or err
end


local function get_config_service(self)
if not wrpc_config_service then
wrpc_config_service = wrpc.new_service()
Expand Down Expand Up @@ -171,7 +178,7 @@ end

function _M:push_config_one_client(client)
if not self.config_call_rpc or not self.config_call_args then
local ok, err = pcall(self.export_deflated_reconfigure_payload, self)
local ok, err = handle_export_deflated_reconfigure_payload(self)
if not ok then
ngx_log(ngx_ERR, _log_prefix, "unable to export config from database: ", err)
return
Expand Down Expand Up @@ -558,7 +565,7 @@ local function push_config_loop(premature, self, push_config_semaphore, delay)
end

do
local ok, err = pcall(self.export_deflated_reconfigure_payload, self)
local ok, err = handle_export_deflated_reconfigure_payload(self)
if not ok then
ngx_log(ngx_ERR, _log_prefix, "unable to export initial config from database: ", err)
end
Expand Down

0 comments on commit 86de704

Please sign in to comment.