head	1.2;
access;
symbols
	pkgsrc-2018Q4:1.1.0.26
	pkgsrc-2018Q4-base:1.1
	pkgsrc-2018Q3:1.1.0.24
	pkgsrc-2018Q3-base:1.1
	pkgsrc-2018Q2:1.1.0.22
	pkgsrc-2018Q2-base:1.1
	pkgsrc-2018Q1:1.1.0.20
	pkgsrc-2018Q1-base:1.1
	pkgsrc-2017Q4:1.1.0.18
	pkgsrc-2017Q4-base:1.1
	pkgsrc-2017Q3:1.1.0.16
	pkgsrc-2017Q3-base:1.1
	pkgsrc-2017Q2:1.1.0.12
	pkgsrc-2017Q2-base:1.1
	pkgsrc-2017Q1:1.1.0.10
	pkgsrc-2017Q1-base:1.1
	pkgsrc-2016Q4:1.1.0.8
	pkgsrc-2016Q4-base:1.1
	pkgsrc-2016Q3:1.1.0.6
	pkgsrc-2016Q3-base:1.1
	pkgsrc-2016Q2:1.1.0.4
	pkgsrc-2016Q2-base:1.1
	pkgsrc-2016Q1:1.1.0.2
	pkgsrc-2016Q1-base:1.1;
locks; strict;
comment	@// @;


1.2
date	2019.03.05.19.35.58;	author adam;	state dead;
branches;
next	1.1;
commitid	B1TIlNtSxgUvcdeB;

1.1
date	2016.02.12.03.37.24;	author ryoon;	state Exp;
branches;
next	;
commitid	IDlAvSFWNUM8OzUy;


desc
@@


1.2
log
@mongodb: updated to 4.0.6

4.0.6:
Issues fixed:
SERVER-37778: Platform Support: Add Community & Enterprise Ubuntu 18.04 (zSeries)
SERVER-37777: Platform Support: Add Community SLES12 (zSeries)
SERVER-37775: Platform Support: Add Community RHEL7 (zSeries)
SERVER-39180: Wrong initial chunk owner shard can be selected when sharding non-empty collection with pre-created zones
SERVER-32146: Log slow oplog entry application
SERVER-38293: Make listDatabases understand collection privileges
SERVER-38887: Mongo.getDBs() does not correctly inspect privileges

4.0.5:
Issues fixed:
SERVER-36437: The dbstats command should lock the database in MODE_IS instead of MODE_S
SERVER-37182: Different values when referencing whole object vs. a field of that object after $arrayToObject
SERVER-37200: $match stage following $listSessions not working against mongos
SERVER-37557: Add startup warning about enableMajorityReadConcern and usage of arbiters

4.0.4:
Issues fixed:
SERVER-26854: LockStats for sub-operations should not include time for previous sub ops
SERVER-35323: sessionId matching ignores userId part of the lsid
SERVER-37058: Update with numeric field names inside an array can cause validation to fail
SERVER-37132: Negation of $in with regex can incorrectly plan from the cache, leading to missing query results
TOOLS-2069: mongoreplay does not support SCRAM-SHA-256
TOOLS-2131: mongorestore hang in replaying oplog with –archive and –oplogReplay option

4.0.3:
Issues fixed:
SERVER-19815: Make repair more robust with the WiredTiger storage engine
SERVER-35989: db.collection.countDocuments() and db.collection.estimatedDocumentCount() helpers
SERVER-36982: Reintroduce enableMajorityReadConcern:false server parameter

4.0.2:
Issues fixed:
SERVER-35720: Allow zones to be created on non-existent collection
SERVER-35441: drop/dropDatabase does not cleanup config.tags
SERVER-36102: Create initial chunks on appropriate shards for zoned sharding
SERVER-36070: Aggregation with $out results in error when Auditing is enabled
SERVER-34846: Covered index with collated field returns incorrect result when collation not involved in match or sort
SERVER-34664: Commands that are unsupported in a transaction should error

4.0.1:
Issues fixed:
SERVER-33000: Platform Support: add Ubuntu 18.04.
SERVER-34933: PCRE verb support.
SERVER-35101: Handle bindIp argument that contains whitespaces.
SERVER-36027: Enterprise build does not recognize the --redactClientLogData flag.
@
text
@$NetBSD: patch-src_mongo_util_processinfo__dragonfly.cpp,v 1.1 2016/02/12 03:37:24 ryoon Exp $

--- src/mongo/util/processinfo_dragonfly.cpp.orig	2016-02-11 12:26:02.935580479 +0000
+++ src/mongo/util/processinfo_dragonfly.cpp
@@@@ -0,0 +1,190 @@@@
+/*    Copyright 2012 10gen Inc.
+ *
+ *    This program is free software: you can redistribute it and/or  modify
+ *    it under the terms of the GNU Affero General Public License, version 3,
+ *    as published by the Free Software Foundation.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU Affero General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Affero General Public License
+ *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ *    As a special exception, the copyright holders give permission to link the
+ *    code of portions of this program with the OpenSSL library under certain
+ *    conditions as described in each individual source file and distribute
+ *    linked combinations including the program with the OpenSSL library. You
+ *    must comply with the GNU Affero General Public License in all respects
+ *    for all of the code used other than as permitted herein. If you modify
+ *    file(s) with this exception, you may extend this exception to your
+ *    version of the file(s), but you are not obligated to do so. If you do not
+ *    wish to do so, delete this exception statement from your version. If you
+ *    delete this exception statement from all source files in the program,
+ *    then also delete it in the license file.
+ */
+
+#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl
+
+#include <cstdlib>
+#include <string>
+
+#include <kvm.h>
+#include <sys/file.h>
+#include <sys/mman.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/types.h>
+#include <sys/user.h>
+#include <sys/vmmeter.h>
+#include <unistd.h>
+#include <vm/vm_param.h>
+
+#include "mongo/util/scopeguard.h"
+#include "mongo/util/log.h"
+#include "processinfo.h"
+
+using namespace std;
+
+namespace mongo {
+
+ProcessInfo::ProcessInfo(ProcessId pid) : _pid(pid) {}
+
+ProcessInfo::~ProcessInfo() {}
+
+/**
+ * Get a sysctl string value by name.  Use string specialization by default.
+ */
+template <typename T>
+int getSysctlByNameWithDefault(const char* sysctlName, const T& defaultValue, T* result);
+
+template <>
+int getSysctlByNameWithDefault<uintptr_t>(const char* sysctlName,
+                                          const uintptr_t& defaultValue,
+                                          uintptr_t* result) {
+    uintptr_t value = 0;
+    size_t len = sizeof(value);
+    if (sysctlbyname(sysctlName, &value, &len, NULL, 0) == -1) {
+        *result = defaultValue;
+        return errno;
+    }
+    if (len > sizeof(value)) {
+        *result = defaultValue;
+        return EINVAL;
+    }
+
+    *result = value;
+    return 0;
+}
+
+template <>
+int getSysctlByNameWithDefault<string>(const char* sysctlName,
+                                       const string& defaultValue,
+                                       string* result) {
+    char value[256] = {0};
+    size_t len = sizeof(value);
+    if (sysctlbyname(sysctlName, &value, &len, NULL, 0) == -1) {
+        *result = defaultValue;
+        return errno;
+    }
+    *result = value;
+    return 0;
+}
+
+bool ProcessInfo::checkNumaEnabled() {
+    return false;
+}
+
+int ProcessInfo::getVirtualMemorySize() {
+    kvm_t* kd = NULL;
+    int cnt = 0;
+    char err[_POSIX2_LINE_MAX] = {0};
+    if ((kd = kvm_open(NULL, "/dev/null", "/dev/null", O_RDONLY, err)) == NULL)
+        return -1;
+    kinfo_proc* task = kvm_getprocs(kd, KERN_PROC_PID, _pid.toNative(), &cnt);
+    kvm_close(kd);
+    return task->ki_size / 1024 / 1024;  // convert from bytes to MB
+}
+
+int ProcessInfo::getResidentSize() {
+    kvm_t* kd = NULL;
+    int cnt = 0;
+    char err[_POSIX2_LINE_MAX] = {0};
+    if ((kd = kvm_open(NULL, "/dev/null", "/dev/null", O_RDONLY, err)) == NULL)
+        return -1;
+    kinfo_proc* task = kvm_getprocs(kd, KERN_PROC_PID, _pid.toNative(), &cnt);
+    kvm_close(kd);
+    return task->ki_rssize * sysconf(_SC_PAGESIZE) / 1024 / 1024;  // convert from pages to MB
+}
+
+double ProcessInfo::getSystemMemoryPressurePercentage() {
+    return 0.0;
+}
+
+void ProcessInfo::SystemInfo::collectSystemInfo() {
+    osType = "BSD";
+    osName = "FreeBSD";
+
+    int status = getSysctlByNameWithDefault("kern.version", string("unknown"), &osVersion);
+    if (status != 0)
+        log() << "Unable to collect OS Version. (errno: " << status << " msg: " << strerror(status)
+              << ")" << endl;
+
+    status = getSysctlByNameWithDefault("hw.machine_arch", string("unknown"), &cpuArch);
+    if (status != 0)
+        log() << "Unable to collect Machine Architecture. (errno: " << status
+              << " msg: " << strerror(status) << ")" << endl;
+    addrSize = cpuArch.find("64") != std::string::npos ? 64 : 32;
+
+    uintptr_t numBuffer;
+    uintptr_t defaultNum = 1;
+    status = getSysctlByNameWithDefault("hw.physmem", defaultNum, &numBuffer);
+    memSize = numBuffer;
+    if (status != 0)
+        log() << "Unable to collect Physical Memory. (errno: " << status
+              << " msg: " << strerror(status) << ")" << endl;
+
+    status = getSysctlByNameWithDefault("hw.ncpu", defaultNum, &numBuffer);
+    numCores = numBuffer;
+    if (status != 0)
+        log() << "Unable to collect Number of CPUs. (errno: " << status
+              << " msg: " << strerror(status) << ")" << endl;
+
+    pageSize = static_cast<unsigned long long>(sysconf(_SC_PAGESIZE));
+
+    hasNuma = checkNumaEnabled();
+}
+
+void ProcessInfo::getExtraInfo(BSONObjBuilder& info) {}
+
+bool ProcessInfo::supported() {
+    return true;
+}
+
+bool ProcessInfo::blockCheckSupported() {
+    return true;
+}
+
+bool ProcessInfo::blockInMemory(const void* start) {
+    char x = 0;
+    if (mincore(alignToStartOfPage(start), getPageSize(), &x)) {
+        log() << "mincore failed: " << errnoWithDescription() << endl;
+        return 1;
+    }
+    return x & 0x1;
+}
+
+bool ProcessInfo::pagesInMemory(const void* start, size_t numPages, vector<char>* out) {
+    out->resize(numPages);
+    // int mincore(const void *addr, size_t len, char *vec);
+    if (mincore(alignToStartOfPage(start), numPages * getPageSize(), &(out->front()))) {
+        log() << "mincore failed: " << errnoWithDescription() << endl;
+        return false;
+    }
+    for (size_t i = 0; i < numPages; ++i) {
+        (*out)[i] = 0x1;
+    }
+    return true;
+}
+}
@


1.1
log
@Update to 3.2.1

* Change JavaScript engine from V8 to SpiderMonkey.

Changelog:
3.2.1 – Jan 12, 2016

    Fixed error where during a regular shutdown of a replica set, secondaries may mark certain replicated but yet to be applied operations as successfully applied: SERVER-21868.
    Improve insert workload performance with WiredTiger on Windows: SERVER-20262.
    Fixed long-running transactions during chunk moves: SERVER-21366
    All issues closed in 3.2.1

3.0.9 – Jan 26, 2016

    Fixed issue where queries which specify sort and batch size can return results out of order if documents are concurrently updated. SERVER-19996
    Fixed performance issue where large amounts of create and drop collections can cause listDatabases to be slow under WiredTiger. SERVER-20961
    Modified the authentication failure message to include the client IP address. SERVER-22054
    All issues closed in 3.0.9

3.0.8 – Dec 15, 2015

    Fixed issue where findAndModify on mongos can upsert to the wrong shard. SERVER-20407.
    Fixed WiredTiger commit visibility issue which caused document not found. SERVER-21275.
    Fixed issue where the oplog can grow to 3x configured size. SERVER-21553
    All issues closed in 3.0.8
@
text
@d1 1
a1 1
$NetBSD$
@

