From edbc1c33dd4bf04a347432530a3fcf359f88c28e Mon Sep 17 00:00:00 2001
From: Pigi
Date: Thu, 31 Mar 2022 16:16:56 +0200
Subject: [PATCH] check connection status befor the put_copy_end method
---
lib/fluent/plugin/out_pgjson.rb | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/lib/fluent/plugin/out_pgjson.rb b/lib/fluent/plugin/out_pgjson.rb
index 3d147bf..cdd9c21 100755
--- a/lib/fluent/plugin/out_pgjson.rb
+++ b/lib/fluent/plugin/out_pgjson.rb
@@ -95,9 +95,12 @@ def write(chunk)
@conn = nil
raise
rescue => err
- errmsg = "%s while copy data: %s" % [ err.class.name, err.message ]
- @conn.put_copy_end( errmsg )
- @conn.get_result
+ conn_status = @conn.status
+ if conn_status==PG::CONNECTION_OK
+ errmsg = "%s while copy data: %s" % [ err.class.name, err.message ]
+ @conn.put_copy_end( errmsg )
+ @conn.get_result
+ end
@conn.close()
@conn = nil
raise