Fix deadlocks when reading/writing off-page duplicate tree
Resolves: #1349779
This commit is contained in:
parent
0f9eac24b2
commit
10b101d3ad
14
checkpoint-opd-deadlock.patch
Normal file
14
checkpoint-opd-deadlock.patch
Normal file
@ -0,0 +1,14 @@
|
||||
--- db-5.3.21/src/db/db_cam.c.opd_deadlock 2017-10-31 12:20:54.118979690 +0100
|
||||
+++ db-5.3.21/src/db/db_cam.c 2017-10-31 12:21:06.828739341 +0100
|
||||
@@ -868,6 +868,11 @@
|
||||
flags == DB_PREV || flags == DB_PREV_DUP)) {
|
||||
if (tmp_rmw && (ret = dbc->am_writelock(dbc)) != 0)
|
||||
goto err;
|
||||
+ /* Latch the primary tree page here in order to not deadlock later. */
|
||||
+ if (cp->page == NULL &&
|
||||
+ (ret = __memp_fget(mpf, &cp->pgno,
|
||||
+ dbc->thread_info, dbc->txn, 0, &cp->page)) != 0)
|
||||
+ goto err;
|
||||
if (F_ISSET(dbc, DBC_TRANSIENT))
|
||||
opd = cp->opd;
|
||||
else if ((ret = __dbc_idup(cp->opd, &opd, DB_POSITION)) != 0)
|
12
libdb.spec
12
libdb.spec
@ -4,7 +4,7 @@
|
||||
Summary: The Berkeley DB database library for C
|
||||
Name: libdb
|
||||
Version: 5.3.28
|
||||
Release: 28%{?dist}
|
||||
Release: 29%{?dist}
|
||||
Source0: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz
|
||||
Source1: http://download.oracle.com/berkeley-db/db.1.85.tar.gz
|
||||
# For mt19937db.c
|
||||
@ -43,6 +43,8 @@ Patch32: db-5.3.28-rpm-lock-check.patch
|
||||
# downstream patch to hotfix rhbz#1464033, sent upstream
|
||||
Patch33: db-5.3.28-cwd-db_config.patch
|
||||
Patch34: libdb-5.3.21-region-size-check.patch
|
||||
# Patch sent upstream
|
||||
Patch35: checkpoint-opd-deadlock.patch
|
||||
|
||||
URL: http://www.oracle.com/database/berkeley-db/
|
||||
License: BSD and LGPLv2 and Sleepycat
|
||||
@ -240,6 +242,7 @@ popd
|
||||
%patch32 -p1
|
||||
%patch33 -p1
|
||||
%patch34 -p1
|
||||
%patch35 -p1
|
||||
|
||||
cd dist
|
||||
./s_config
|
||||
@ -451,10 +454,13 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
%{_libdir}/libdb_java.so
|
||||
|
||||
%changelog
|
||||
* Tue Oct 24 2017 Petr Kubat <pkubat@redhat.com> 5.3.21-28
|
||||
* Tue Oct 31 2017 Petr Kubat <pkubat@redhat.com> 5.3.28-29
|
||||
- Fix deadlocks when reading/writing off-page duplicate tree (#1349779)
|
||||
|
||||
* Tue Oct 24 2017 Petr Kubat <pkubat@redhat.com> 5.3.28-28
|
||||
- Run a number of quick subsystem checks on build
|
||||
|
||||
* Thu Sep 07 2017 Petr Kubat <pkubat@redhat.com> 5.3.21-27
|
||||
* Thu Sep 07 2017 Petr Kubat <pkubat@redhat.com> 5.3.28-27
|
||||
- Fail properly when encountering removed or 0-byte regions (#1471011)
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.28-26
|
||||
|
Loading…
Reference in New Issue
Block a user