Add patch to workaround issues on large systems (>1024 CPU)

Resolves: #1245410
This commit is contained in:
Petr Kubat 2019-01-16 08:34:06 +01:00
parent 58f4d57ca1
commit 93ef94abca
2 changed files with 22 additions and 2 deletions

12
libdb-limit-cpu.patch Normal file
View File

@ -0,0 +1,12 @@
diff -Naurp db_old/src/os/os_cpu.c db_new/src/os/os_cpu.c
--- db_old/src/os/os_cpu.c 2012-05-11 12:57:54.000000000 -0500
+++ db_new/src/os/os_cpu.c 2015-08-12 14:00:37.232498880 -0500
@@ -40,6 +40,8 @@ __os_cpu_count()
long nproc;
nproc = sysconf(_SC_NPROCESSORS_ONLN);
+ if (nproc > 1024)
+ nproc = 1024;
return ((u_int32_t)(nproc > 1 ? nproc : 1));
#else
return (1);

View File

@ -4,7 +4,7 @@
Summary: The Berkeley DB database library for C
Name: libdb
Version: 5.3.28
Release: 34%{?dist}
Release: 35%{?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
@ -48,7 +48,10 @@ Patch35: checkpoint-opd-deadlock.patch
Patch36: db-5.3.28-atomic_compare_exchange.patch
# CDB race (rhbz #1099509)
Patch37: libdb-cbd-race.patch
# Limit concurrency to max 1024 CPUs (rhbz#1245410)
# A fix for the issue should be in an upstream release already
# https://community.oracle.com/message/13274780#13274780
Patch38: libdb-limit-cpu.patch
URL: http://www.oracle.com/database/berkeley-db/
License: BSD and LGPLv2 and Sleepycat
@ -250,6 +253,7 @@ popd
%patch35 -p1
%patch36 -p1
%patch37 -p1
%patch38 -p1
cd dist
./s_config
@ -445,6 +449,10 @@ mv man/* ${RPM_BUILD_ROOT}%{_mandir}/man1
%{_libdir}/libdb_java.so
%changelog
* Wed Jan 16 2019 Petr Kubat <pkubat@redhat.com> - 5.3.28-35
- Add patch to workaround issues on large systems (>1024 CPU)
Resolves: #1245410
* Wed Sep 05 2018 Petr Kubat <pkubat@redhat.com> - 5.3.28-34
- Add patch for CDB race issue (#1099509)