Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian....@packages.debian.org
Usertags: pu

Hi,

I'd like to make a stable upload for rsyslog.
The postgresql output plugin had a grave bug, which makes it basically
unusable [1]. The patch has been in unstable/testing for a while and is
now part of the 8.12.0 upstream release.

Debdiff attached.

Regards,
Michael

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788183

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (200, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.1.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff --git a/debian/changelog b/debian/changelog
index 69f1255..9311427 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+rsyslog (8.4.2-1+deb8u1) jessie; urgency=medium
+
+  * Properly handle transactions in ompgsql. Patch cherry-picked from upstream
+    Git. (Closes: #788183)
+
+ -- Michael Biebl <bi...@debian.org>  Sat, 29 Aug 2015 13:52:34 +0200
+
 rsyslog (8.4.2-1) unstable; urgency=high
 
   * New upstream release.
diff --git a/debian/patches/0002-bugfix-ompgsql-transaction-were-improperly-handled.patch b/debian/patches/0002-bugfix-ompgsql-transaction-were-improperly-handled.patch
new file mode 100644
index 0000000..07d3fd4
--- /dev/null
+++ b/debian/patches/0002-bugfix-ompgsql-transaction-were-improperly-handled.patch
@@ -0,0 +1,76 @@
+From: Rainer Gerhards <rgerha...@adiscon.com>
+Date: Wed, 8 Jul 2015 08:51:59 +0200
+Subject: bugfix ompgsql: transaction were improperly handled
+
+now transaction support is solidly disabled until we have enough requests
+to implement it again. Module still works fine in single insert mode.
+
+closes https://github.com/rsyslog/rsyslog/issues/399
+
+(cherry-picked from commit 73c9a28653d4e92a6c71210232a83b4b72cdf778)
+---
+ plugins/ompgsql/ompgsql.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/ompgsql/ompgsql.c b/plugins/ompgsql/ompgsql.c
+index 6b89717..72b49ee 100644
+--- a/plugins/ompgsql/ompgsql.c
++++ b/plugins/ompgsql/ompgsql.c
+@@ -234,6 +234,7 @@ writePgSQL(uchar *psz, instanceData *pData)
+ 	bHadError = tryExec(psz, pData); /* try insert */
+ 
+ 	if(bHadError || (PQstatus(pData->f_hpgsql) != CONNECTION_OK)) {
++#if 0		/* re-enable once we have transaction support */
+ 		/* error occured, try to re-init connection and retry */
+ 		int inTransaction = 0;
+ 		if(pData->f_hpgsql != NULL) {
+@@ -242,7 +243,9 @@ writePgSQL(uchar *psz, instanceData *pData)
+ 				inTransaction = 1;
+ 			}
+ 		}
+-		if ( inTransaction == 0 ) {
++		if ( inTransaction == 0 )
++#endif
++		{
+ 			closePgSQL(pData); /* close the current handle */
+ 			CHKiRet(initPgSQL(pData, 0)); /* try to re-open */
+ 			bHadError = tryExec(psz, pData); /* retry */
+@@ -282,6 +285,7 @@ CODESTARTtryResume
+ ENDtryResume
+ 
+ 
++#if 0 /* re-enable when TX support is added again */
+ BEGINbeginTransaction
+ CODESTARTbeginTransaction
+ 	dbgprintf("ompgsql: beginTransaction\n");
+@@ -289,6 +293,7 @@ CODESTARTbeginTransaction
+ 	       initPgSQL(pWrkrData->pData, 0);
+ 	iRet = writePgSQL((uchar*) "begin", pWrkrData->pData); /* TODO: make user-configurable */
+ ENDbeginTransaction
++#endif
+ 
+ 
+ BEGINdoAction
+@@ -303,11 +308,13 @@ finalize_it:
+ ENDdoAction
+ 
+ 
++#if 0 /* re-enable when TX support is added again */
+ BEGINendTransaction
+ CODESTARTendTransaction
+ 	iRet = writePgSQL((uchar*) "commit;", pWrkrData->pData); /* TODO: make user-configurable */
+ dbgprintf("ompgsql: endTransaction\n");
+ ENDendTransaction
++#endif
+ 
+ 
+ BEGINparseSelectorAct
+@@ -386,7 +393,7 @@ BEGINqueryEtryPt
+ CODESTARTqueryEtryPt
+ CODEqueryEtryPt_STD_OMOD_QUERIES
+ CODEqueryEtryPt_STD_OMOD8_QUERIES
+-CODEqueryEtryPt_TXIF_OMOD_QUERIES /* we support the transactional interface! */
++/* CODEqueryEtryPt_TXIF_OMOD_QUERIES currently no TX support! */ /* we support the transactional interface! */
+ ENDqueryEtryPt
+ 
+ 
diff --git a/debian/patches/series b/debian/patches/series
index a8e093a..8351e07 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 0001-Don-t-create-a-database.patch
+0002-bugfix-ompgsql-transaction-were-improperly-handled.patch

Reply via email to