fix: recovery old pb state after pubsub.new (#7728)
diff --git a/apisix/core/pubsub.lua b/apisix/core/pubsub.lua
index 7d67fee..d6bcafa 100644
--- a/apisix/core/pubsub.lua
+++ b/apisix/core/pubsub.lua
@@ -34,7 +34,7 @@
local pb_state
local function init_pb_state()
-- clear current pb state
- pb.state(nil)
+ local old_pb_state = pb.state(nil)
-- set int64 rule for pubsub module
pb.option("int64_as_string")
@@ -46,10 +46,11 @@
local ok, err = pcall(pubsub_protoc.loadfile, pubsub_protoc, "pubsub.proto")
if not ok then
pubsub_protoc:reset()
+ pb.state(old_pb_state)
return "failed to load pubsub protocol: " .. err
end
- pb_state = pb.state(nil)
+ pb_state = pb.state(old_pb_state)
end