Hello community,

here is the log from the commit of package cacti-spine for openSUSE:Factory 
checked in at 2020-12-08 13:24:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cacti-spine (Old)
 and      /work/SRC/openSUSE:Factory/.cacti-spine.new.5913 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cacti-spine"

Tue Dec  8 13:24:29 2020 rev:31 rq:853624 version:1.2.16

Changes:
--------
--- /work/SRC/openSUSE:Factory/cacti-spine/cacti-spine.changes  2020-11-13 
18:58:23.758070292 +0100
+++ /work/SRC/openSUSE:Factory/.cacti-spine.new.5913/cacti-spine.changes        
2020-12-08 13:25:48.858745928 +0100
@@ -1,0 +2,11 @@
+Mon Dec  7 16:13:30 UTC 2020 - Andreas Stieger <[email protected]>
+
+- cacti-spine 1.2.16:
+  * Some developer debug log messages falsely labeled as WARNINGS
+  * Remove the need of the dos2unix program
+  * Fix Spine experiencing MySQL socket error 2002 under load
+  * Under heavy load MySQL/MariaDB return 2006 and 2013 errors on query
+  * Add backtrace output to stderr for signals
+  * Add Data Source turnaround time to debug output
+
+-------------------------------------------------------------------

Old:
----
  cacti-spine-1.2.15.tar.gz

New:
----
  cacti-spine-1.2.16.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cacti-spine.spec ++++++
--- /var/tmp/diff_new_pack.vmhZDw/_old  2020-12-08 13:25:49.326747263 +0100
+++ /var/tmp/diff_new_pack.vmhZDw/_new  2020-12-08 13:25:49.326747263 +0100
@@ -17,13 +17,12 @@
 
 
 Name:           cacti-spine
-Version:        1.2.15
+Version:        1.2.16
 Release:        0
 Summary:        Threaded poller for Cacti written in C
 License:        LGPL-2.1-or-later
 URL:            https://www.cacti.net/spine_info.php
 Source:         https://www.cacti.net/downloads/spine/%{name}-%{version}.tar.gz
-BuildRequires:  dos2unix
 BuildRequires:  help2man
 BuildRequires:  libtool
 BuildRequires:  mysql-devel

++++++ cacti-spine-1.2.15.tar.gz -> cacti-spine-1.2.16.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cacti-spine-1.2.15/CHANGELOG 
new/cacti-spine-1.2.16/CHANGELOG
--- old/cacti-spine-1.2.15/CHANGELOG    2020-11-02 04:28:32.000000000 +0100
+++ new/cacti-spine-1.2.16/CHANGELOG    2020-11-30 19:21:59.000000000 +0100
@@ -1,5 +1,13 @@
 The Cacti Group | spine
 
+1.2.16
+-issue: Some developer debug log messages falsely labeled as WARNINGS
+-issue#164: Remove the need of the dos2unix program
+-issue#171: Spine experiencing MySQL socket error 2002 under load
+-issue#175: Under heavy load MySQL/MariaDB return 2006 and 2013 errors on query
+-feature: Add backtrace output to stderr for signals
+-feature#176: Add Data Source turnaround time to debug output
+
 1.2.15
 -issue#166: Special characters may not always be ignored properly
 -issue#168: Correct issues with linking under OpenBSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cacti-spine-1.2.15/bootstrap 
new/cacti-spine-1.2.16/bootstrap
--- old/cacti-spine-1.2.15/bootstrap    2020-11-02 04:28:32.000000000 +0100
+++ new/cacti-spine-1.2.16/bootstrap    2020-11-30 19:21:59.000000000 +0100
@@ -28,15 +28,11 @@
 }
 
 # Check for parameters
-if [ "${1}x" = "--helpx" -o "${1}x" = "-hx" ]; then
+if [ "${1}" = "--help" -o "${1}" = "-h" ]; then
   display_help
   exit 0
 fi
 
-# Check for dos2unix
-which dos2unix > /dev/null 2>&1
-[ $? -gt 0 ] && echo "FATAL: Unable to locate dos2unix utility" && exit -1
-
 echo "INFO: Starting Spine build process"
 
 # Remove software build specific directories
@@ -44,7 +40,10 @@
 rm -rf autom4te.cache .deps
 
 # Make sure all files are unix formatted files 
-find . -type f -exec dos2unix --d2u \{\} \; > /dev/null 2>&1
+which dos2unix > /dev/null 2>&1
+if [ $? -eq 0 ]; then
+  find . -type f -exec dos2unix --d2u \{\} \; > /dev/null 2>&1
+fi
 
 # Prepare a build state
 echo "INFO: Running auto-tools to verify buildability"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cacti-spine-1.2.15/configure.ac 
new/cacti-spine-1.2.16/configure.ac
--- old/cacti-spine-1.2.15/configure.ac 2020-11-02 04:28:32.000000000 +0100
+++ new/cacti-spine-1.2.16/configure.ac 2020-11-30 19:21:59.000000000 +0100
@@ -1,5 +1,5 @@
 AC_PREREQ(2.53)
-AC_INIT(Spine Poller, 1.2.15, http://www.cacti.net/issues.php)
+AC_INIT(Spine Poller, 1.2.16, http://www.cacti.net/issues.php)
 
 AC_CONFIG_AUX_DIR(config)
 AC_SUBST(ac_aux_dir)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cacti-spine-1.2.15/error.c 
new/cacti-spine-1.2.16/error.c
--- old/cacti-spine-1.2.15/error.c      2020-11-02 04:28:32.000000000 +0100
+++ new/cacti-spine-1.2.16/error.c      2020-11-30 19:21:59.000000000 +0100
@@ -54,30 +54,67 @@
        set.exit_code = spine_signal;
 
        switch (spine_signal) {
+               case SIGABRT:
+                       spine_print_backtrace();
+                       die("FATAL: Spine Interrupted by Abort Signal");
+                       break;
                case SIGINT:
+                       spine_print_backtrace();
                        die("FATAL: Spine Interrupted by Console Operator");
                        break;
                case SIGSEGV:
+                       spine_print_backtrace();
                        die("FATAL: Spine Encountered a Segmentation Fault");
                        break;
                case SIGBUS:
+                       spine_print_backtrace();
                        die("FATAL: Spine Encountered a Bus Error");
                        break;
                case SIGFPE:
+                       spine_print_backtrace();
                        die("FATAL: Spine Encountered a Floating Point 
Exception");
                        break;
                case SIGQUIT:
+                       spine_print_backtrace();
                        die("FATAL: Spine Encountered a Keyboard Quit Command");
                        break;
                case SIGPIPE:
+                       spine_print_backtrace();
                        die("FATAL: Spine Encountered a Broken Pipe");
                        break;
                default:
+                       spine_print_backtrace();
                        die("FATAL: Spine Encountered An Unhandled Exception 
Signal Number: '%d'", spine_signal);
                        break;
        }
 }
 
+void spine_print_backtrace() {
+       int nptrs;
+       int bt_buf_size = 100;
+       void *buffer[bt_buf_size];
+       char **strings;
+       int j;
+
+       nptrs = backtrace(buffer, bt_buf_size);
+       fprintf(stderr, "backtrace() returned %d addresses\n", nptrs);
+
+       /* The call backtrace_symbols_fd(buffer, nptrs, STDOUT_FILENO)
+        * would produce similar output to the following: */
+
+       strings = backtrace_symbols(buffer, nptrs);
+       if (strings == NULL) {
+               perror("Spine backtrace symbols follow");
+               exit(EXIT_FAILURE);
+       }
+
+       for (j = 0; j < nptrs; j++) {
+               fprintf(stderr, "%s\n", strings[j]);
+       }
+
+       free(strings);
+}
+
 static int spine_fatal_signals[] = {
        SIGINT,
        SIGPIPE,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cacti-spine-1.2.15/error.h 
new/cacti-spine-1.2.16/error.h
--- old/cacti-spine-1.2.15/error.h      2020-11-02 04:28:32.000000000 +0100
+++ new/cacti-spine-1.2.16/error.h      2020-11-30 19:21:59.000000000 +0100
@@ -31,5 +31,6 @@
  +-------------------------------------------------------------------------+
 */
 
+extern void spine_print_backtrace(void);
 extern void install_spine_signal_handler(void);
 extern void uninstall_spine_signal_handler(void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cacti-spine-1.2.15/poller.c 
new/cacti-spine-1.2.16/poller.c
--- old/cacti-spine-1.2.15/poller.c     2020-11-02 04:28:32.000000000 +0100
+++ new/cacti-spine-1.2.16/poller.c     2020-11-30 19:21:59.000000000 +0100
@@ -175,6 +175,8 @@
        char last_snmp_context[65];
        char last_snmp_engine_id[30];
        double poll_time = get_time_as_double();
+       double thread_start = 0;
+       double thread_end = 0;
 
        /* reindex shortcuts to speed polling */
        int previous_assert_failure = FALSE;
@@ -1090,6 +1092,8 @@
 
                i = 0; k = 0;
                while ((i < num_rows) && (!host->ignore_host)) {
+                       thread_start = get_time_as_double();
+
                        switch(poller_items[i].action) {
                        case POLLER_ACTION_SNMP: /* raw SNMP poll */
                                /* initialize or reinitialize snmp as required 
*/
@@ -1196,10 +1200,12 @@
 
                                                        
snprintf(poller_items[snmp_oids[j].array_position].result, RESULTS_BUFFER, 
"%s", snmp_oids[j].result);
 
+                                                       thread_end = 
get_time_as_double();
+
                                                        if 
(is_debug_device(host_id)) {
-                                                               
SPINE_LOG(("Device[%i] HT[%i] DS[%i] SNMP: v%i: %s, dsname: %s, oid: %s, value: 
%s", host_id, host_thread, 
poller_items[snmp_oids[j].array_position].local_data_id, host->snmp_version, 
host->hostname, poller_items[snmp_oids[j].array_position].rrd_name, 
poller_items[snmp_oids[j].array_position].arg1, 
poller_items[snmp_oids[j].array_position].result));
+                                                               
SPINE_LOG(("Device[%i] HT[%i] DS[%i] TT[%.2f] SNMP: v%i: %s, dsname: %s, oid: 
%s, value: %s", host_id, host_thread, 
poller_items[snmp_oids[j].array_position].local_data_id, (thread_end - 
thread_start) * 1000, host->snmp_version, host->hostname, 
poller_items[snmp_oids[j].array_position].rrd_name, 
poller_items[snmp_oids[j].array_position].arg1, 
poller_items[snmp_oids[j].array_position].result));
                                                        } else {
-                                                               
SPINE_LOG_MEDIUM(("Device[%i] HT[%i] DS[%i] SNMP: v%i: %s, dsname: %s, oid: %s, 
value: %s", host_id, host_thread, 
poller_items[snmp_oids[j].array_position].local_data_id, host->snmp_version, 
host->hostname, poller_items[snmp_oids[j].array_position].rrd_name, 
poller_items[snmp_oids[j].array_position].arg1, 
poller_items[snmp_oids[j].array_position].result));
+                                                               
SPINE_LOG_MEDIUM(("Device[%i] HT[%i] DS[%i] TT[%.2f] SNMP: v%i: %s, dsname: %s, 
oid: %s, value: %s", host_id, host_thread, 
poller_items[snmp_oids[j].array_position].local_data_id, (thread_end - 
thread_start) * 1000, host->snmp_version, host->hostname, 
poller_items[snmp_oids[j].array_position].rrd_name, 
poller_items[snmp_oids[j].array_position].arg1, 
poller_items[snmp_oids[j].array_position].result));
                                                        }
                                                }
 
@@ -1291,10 +1297,12 @@
 
                                                
snprintf(poller_items[snmp_oids[j].array_position].result, RESULTS_BUFFER, 
"%s", snmp_oids[j].result);
 
+                                               thread_end = 
get_time_as_double();
+
                                                if (is_debug_device(host_id)) {
-                                                       SPINE_LOG(("Device[%i] 
HT[%i] DS[%i] SNMP: v%i: %s, dsname: %s, oid: %s, value: %s", host_id, 
host_thread, poller_items[snmp_oids[j].array_position].local_data_id, 
host->snmp_version, host->hostname, 
poller_items[snmp_oids[j].array_position].rrd_name, 
poller_items[snmp_oids[j].array_position].arg1, 
poller_items[snmp_oids[j].array_position].result));
+                                                       SPINE_LOG(("Device[%i] 
HT[%i] DS[%i] TT[%.2f] SNMP: v%i: %s, dsname: %s, oid: %s, value: %s", host_id, 
host_thread, poller_items[snmp_oids[j].array_position].local_data_id, 
(thread_end - thread_start) * 1000, host->snmp_version, host->hostname, 
poller_items[snmp_oids[j].array_position].rrd_name, 
poller_items[snmp_oids[j].array_position].arg1, 
poller_items[snmp_oids[j].array_position].result));
                                                } else {
-                                                       
SPINE_LOG_MEDIUM(("Device[%i] HT[%i] DS[%i] SNMP: v%i: %s, dsname: %s, oid: %s, 
value: %s", host_id, host_thread, 
poller_items[snmp_oids[j].array_position].local_data_id, host->snmp_version, 
host->hostname, poller_items[snmp_oids[j].array_position].rrd_name, 
poller_items[snmp_oids[j].array_position].arg1, 
poller_items[snmp_oids[j].array_position].result));
+                                                       
SPINE_LOG_MEDIUM(("Device[%i] HT[%i] DS[%i] TT[%.2f] SNMP: v%i: %s, dsname: %s, 
oid: %s, value: %s", host_id, host_thread, 
poller_items[snmp_oids[j].array_position].local_data_id, (thread_end - 
thread_start) * 1000, host->snmp_version, host->hostname, 
poller_items[snmp_oids[j].array_position].rrd_name, 
poller_items[snmp_oids[j].array_position].arg1, 
poller_items[snmp_oids[j].array_position].result));
                                                }
 
                                                if 
(!IS_UNDEFINED(poller_items[snmp_oids[j].array_position].result)) {
@@ -1357,10 +1365,12 @@
 
                                if (poll_result) free(poll_result);
 
+                               thread_end = get_time_as_double();
+
                                if (is_debug_device(host_id)) {
-                                       SPINE_LOG(("Device[%i] HT[%i] DS[%i] 
SCRIPT: %s, output: %s", host_id, host_thread, poller_items[i].local_data_id, 
poller_items[i].arg1, poller_items[i].result));
+                                       SPINE_LOG(("Device[%i] HT[%i] DS[%i] 
TT[%.2f] SCRIPT: %s, output: %s", host_id, host_thread, 
poller_items[i].local_data_id, (thread_end - thread_start) * 1000, 
poller_items[i].arg1, poller_items[i].result));
                                } else {
-                                       SPINE_LOG_MEDIUM(("Device[%i] HT[%i] 
DS[%i] SCRIPT: %s, output: %s", host_id, host_thread, 
poller_items[i].local_data_id, poller_items[i].arg1, poller_items[i].result));
+                                       SPINE_LOG_MEDIUM(("Device[%i] HT[%i] 
DS[%i] TT[%.2f] SCRIPT: %s, output: %s", host_id, host_thread, 
poller_items[i].local_data_id, (thread_end - thread_start) * 1000, 
poller_items[i].arg1, poller_items[i].result));
                                }
 
                                if (!IS_UNDEFINED(poller_items[i].result)) {
@@ -1413,10 +1423,12 @@
 
                                if (poll_result) free(poll_result);
 
+                               thread_end = get_time_as_double();
+
                                if (is_debug_device(host_id)) {
-                                       SPINE_LOG(("Device[%i] HT[%i] DS[%i] 
SS[%i] SERVER: %s, output: %s", host_id, host_thread, 
poller_items[i].local_data_id, php_process, poller_items[i].arg1, 
poller_items[i].result));
+                                       SPINE_LOG(("Device[%i] HT[%i] DS[%i] 
SS[%i] TT[%.2f] SERVER: %s, output: %s", host_id, host_thread, 
poller_items[i].local_data_id, php_process, (thread_end - thread_start) * 1000, 
poller_items[i].arg1, poller_items[i].result));
                                } else {
-                                       SPINE_LOG_MEDIUM(("Device[%i] HT[%i] 
DS[%i] SS[%i] SERVER: %s, output: %s", host_id, host_thread, 
poller_items[i].local_data_id, php_process, poller_items[i].arg1, 
poller_items[i].result));
+                                       SPINE_LOG_MEDIUM(("Device[%i] HT[%i] 
DS[%i] SS[%i] TT[%.2f] SERVER: %s, output: %s", host_id, host_thread, 
poller_items[i].local_data_id, php_process, (thread_end - thread_start) * 1000, 
poller_items[i].arg1, poller_items[i].result));
                                }
 
                                if (IS_UNDEFINED(poller_items[i].result)) {
@@ -1497,10 +1509,12 @@
 
                                
snprintf(poller_items[snmp_oids[j].array_position].result, RESULTS_BUFFER, 
"%s", snmp_oids[j].result);
 
+                               thread_end = get_time_as_double();
+
                                if (is_debug_device(host_id)) {
-                                       SPINE_LOG(("Device[%i] HT[%i] DS[%i] 
SNMP: v%i: %s, dsname: %s, oid: %s, value: %s", host_id, host_thread, 
poller_items[snmp_oids[j].array_position].local_data_id, host->snmp_version, 
host->hostname, poller_items[snmp_oids[j].array_position].rrd_name, 
poller_items[snmp_oids[j].array_position].arg1, 
poller_items[snmp_oids[j].array_position].result));
+                                       SPINE_LOG(("Device[%i] HT[%i] DS[%i] 
TT[%.2f] SNMP: v%i: %s, dsname: %s, oid: %s, value: %s", host_id, host_thread, 
poller_items[snmp_oids[j].array_position].local_data_id, (thread_end - 
thread_start) * 1000, host->snmp_version, host->hostname, 
poller_items[snmp_oids[j].array_position].rrd_name, 
poller_items[snmp_oids[j].array_position].arg1, 
poller_items[snmp_oids[j].array_position].result));
                                } else {
-                                       SPINE_LOG_MEDIUM(("Device[%i] HT[%i] 
DS[%i] SNMP: v%i: %s, dsname: %s, oid: %s, value: %s", host_id, host_thread, 
poller_items[snmp_oids[j].array_position].local_data_id, host->snmp_version, 
host->hostname, poller_items[snmp_oids[j].array_position].rrd_name, 
poller_items[snmp_oids[j].array_position].arg1, 
poller_items[snmp_oids[j].array_position].result));
+                                       SPINE_LOG_MEDIUM(("Device[%i] HT[%i] 
DS[%i] TT[%.2f] SNMP: v%i: %s, dsname: %s, oid: %s, value: %s", host_id, 
host_thread, poller_items[snmp_oids[j].array_position].local_data_id, 
(thread_end - thread_start) * 1000, host->snmp_version, host->hostname, 
poller_items[snmp_oids[j].array_position].rrd_name, 
poller_items[snmp_oids[j].array_position].arg1, 
poller_items[snmp_oids[j].array_position].result));
                                }
 
                                if 
(!IS_UNDEFINED(poller_items[snmp_oids[j].array_position].result)) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cacti-spine-1.2.15/snmp.c 
new/cacti-spine-1.2.16/snmp.c
--- old/cacti-spine-1.2.15/snmp.c       2020-11-02 04:28:32.000000000 +0100
+++ new/cacti-spine-1.2.16/snmp.c       2020-11-30 19:21:59.000000000 +0100
@@ -344,27 +344,27 @@
        if (current_host->snmp_session != NULL) {
                anOID_len = MAX_OID_LEN;
 
-               SPINE_LOG_DEVDBG(("Device[%i] WARNING: snmp_pdu_create(%s)", 
current_host->id, snmp_oid));
+               SPINE_LOG_DEVDBG(("Device[%i] DEBUG: snmp_pdu_create(%s)", 
current_host->id, snmp_oid));
                pdu = snmp_pdu_create(SNMP_MSG_GET);
-               SPINE_LOG_DEVDBG(("Device[%i] WARNING: snmp_pdu_create(%s) 
[complete]", current_host->id, snmp_oid));
+               SPINE_LOG_DEVDBG(("Device[%i] DEBUG: snmp_pdu_create(%s) 
[complete]", current_host->id, snmp_oid));
 
-               SPINE_LOG_DEVDBG(("Device[%i] WARNING: snmp_parse_oid(%s)", 
current_host->id, snmp_oid));
+               SPINE_LOG_DEVDBG(("Device[%i] DEBUG: snmp_parse_oid(%s)", 
current_host->id, snmp_oid));
                if (!snmp_parse_oid(snmp_oid, anOID, &anOID_len)) {
-                       SPINE_LOG_DEVDBG(("Device[%i] WARNING: 
snmp_parse_oid(%s) [complete]", current_host->id, snmp_oid));
+                       SPINE_LOG_DEVDBG(("Device[%i] DEBUG: snmp_parse_oid(%s) 
[complete]", current_host->id, snmp_oid));
                        SPINE_LOG(("Device[%i] ERROR: SNMP Get Problems parsing 
SNMP OID %s", current_host->id, snmp_oid));
                        SET_UNDEFINED(result_string);
                        return result_string;
                } else {
-                       SPINE_LOG_DEVDBG(("Device[%i] WARNING: 
snmp_parse_oid(%s) [complete]", current_host->id, snmp_oid));
-                       SPINE_LOG_DEVDBG(("Device[%i] WARNING: 
snmp_add_null_var(%s)", current_host->id, snmp_oid));
+                       SPINE_LOG_DEVDBG(("Device[%i] DEBUG: snmp_parse_oid(%s) 
[complete]", current_host->id, snmp_oid));
+                       SPINE_LOG_DEVDBG(("Device[%i] DEBUG: 
snmp_add_null_var(%s)", current_host->id, snmp_oid));
                        snmp_add_null_var(pdu, anOID, anOID_len);
-                       SPINE_LOG_DEVDBG(("Device[%i] WARNING: 
snmp_add_null_var(%s) [complete]", current_host->id, snmp_oid));
+                       SPINE_LOG_DEVDBG(("Device[%i] DEBUG: 
snmp_add_null_var(%s) [complete]", current_host->id, snmp_oid));
                }
 
                /* poll host */
-               SPINE_LOG_DEVDBG(("Device[%i] WARNING: 
snmp_sess_sync_response(%s)", current_host->id, snmp_oid));
+               SPINE_LOG_DEVDBG(("Device[%i] DEBUG: 
snmp_sess_sync_response(%s)", current_host->id, snmp_oid));
                status = snmp_sess_synch_response(current_host->snmp_session, 
pdu, &response);
-               SPINE_LOG_DEVDBG(("Device[%i] WARNING: 
snmp_sess_sync_response(%s) [complete]", current_host->id, snmp_oid));
+               SPINE_LOG_DEVDBG(("Device[%i] DEBUG: 
snmp_sess_sync_response(%s) [complete]", current_host->id, snmp_oid));
 
                /* add status to host structure */
                current_host->snmp_status = status;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cacti-spine-1.2.15/sql.c new/cacti-spine-1.2.16/sql.c
--- old/cacti-spine-1.2.15/sql.c        2020-11-02 04:28:32.000000000 +0100
+++ new/cacti-spine-1.2.16/sql.c        2020-11-30 19:21:59.000000000 +0100
@@ -130,34 +130,32 @@
                        if (error == 2013 && errno == EINTR) {
                                usleep(50000);
                                continue;
-                       }
-
-                       if ((error == 1213) || (error == 1205)) {
-                               #ifndef SOLAR_THREAD
+                       } else if (error == 2013 || (error == 2006 && errno == 
EINTR)) {
+                               db_disconnect(mysql);
                                usleep(50000);
-                               #endif
+                               db_connect(type, mysql);
                                error_count++;
 
                                if (error_count > 30) {
-                                       SPINE_LOG(("FATAL: Too many 
Lock/Deadlock errors occurred!, SQL Fragment:'%s'", query_frag));
+                                       SPINE_LOG(("FATAL: Too many Reconnect 
Attempts!"));
                                        exit(1);
                                }
 
                                continue;
-                       } else if (error == 2006 && errno == EINTR) {
-                               db_disconnect(mysql);
+                       }
+
+                       if ((error == 1213) || (error == 1205)) {
                                usleep(50000);
-                               db_connect(type, mysql);
                                error_count++;
 
                                if (error_count > 30) {
-                                       SPINE_LOG(("FATAL: Too many Reconnect 
Attempts!"));
+                                       SPINE_LOG(("FATAL: Too many 
Lock/Deadlock errors occurred!, SQL Fragment:'%s'", query_frag));
                                        exit(1);
                                }
 
                                continue;
                        } else {
-                               SPINE_LOG(("FATAL: MySQL Error:'%i', 
Message:'%s'", error, mysql_error(mysql)));
+                               SPINE_LOG(("FATAL: Database Error:'%i', 
Message:'%s'", error, mysql_error(mysql)));
                                exit(1);
                        }
                } else {
@@ -236,7 +234,7 @@
        mysql_init(mysql);
 
        if (mysql == NULL) {
-               SPINE_LOG(("FATAL: MySQL unable to allocate memory and 
therefore can not connect"));
+               SPINE_LOG(("FATAL: Database unable to allocate memory and 
therefore can not connect"));
                exit(1);
        }
 
@@ -291,7 +289,7 @@
                        error = mysql_errno(mysql);
                        db_disconnect(mysql);
 
-                       if ((error == 2003 || error == 2013) && errno == EINTR) 
{
+                       if ((error == 2002 || error == 2003 || error == 2006 || 
error == 2013) && errno == EINTR) {
                                usleep(50000);
                                tries++;
                                success = FALSE;
@@ -299,7 +297,7 @@
                        }
 
                        if (error != 1049 && error != 2005 && error != 1045) {
-                               printf("MYSQL: Connection Failed: Error:'%u', 
Message:'%s'\n", mysql_errno(mysql), mysql_error(mysql));
+                               printf("Database: Connection Failed: 
Error:'%u', Message:'%s'\n", mysql_errno(mysql), mysql_error(mysql));
 
                                success = FALSE;
 
_______________________________________________
openSUSE Commits mailing list -- [email protected]
To unsubscribe, email [email protected]
List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette
List Archives: 
https://lists.opensuse.org/archives/list/[email protected]

Reply via email to