Package Details: mongodb 7.0.11-1

Git Clone URL: https://aur.archlinux.org/mongodb.git (read-only, click to copy)
Package Base: mongodb
Description: A high-performance, open source, schema-free document-oriented database
Upstream URL: https://www.mongodb.com/
Keywords: database document-oriented
Licenses: SSPL-1.0
Provides: mongodb
Submitter: felixonmars
Maintainer: JstKddng
Last Packager: JstKddng
Votes: 34
Popularity: 0.169137
First Submitted: 2019-01-18 22:08 (UTC)
Last Updated: 2024-05-27 18:33 (UTC)

Sources (8)

Pinned Comments

JstKddng commented on 2022-08-03 23:28 (UTC)

Binary builds are available:

https://software.opensuse.org//download.html?project=home%3Ajustkidding%3Aarch&package=mongodb

JstKddng commented on 2022-08-03 23:28 (UTC)

If you have a pre-sandybridge CPU or an ARMv8 sbc, you can use mongodb44

If you'd like to stay in the V5.0 branch, you can use mongodb50

JstKddng commented on 2022-08-03 23:25 (UTC)

The mongo utility will be removed in future releases. Switching to mongosh is recommended.

Latest Comments

« First ‹ Previous 1 .. 7 8 9 10 11 12 13 14 Next › Last »

jamespharvey20 commented on 2019-03-26 21:42 (UTC) (edited on 2019-03-26 23:19 (UTC) by jamespharvey20)

I wouldn't use 4.0.7-1. It doesn't require wiredtiger commit db5942dc, as upstream expects. See https://github.com/mongodb/mongo/commit/0a201aa5bff44f490b970727587b60066c3ce1a7

As separate packages, mongodb and wiredtiger almost always need to be upgraded at the same time.

I'm wondering if it makes continued sense for mongodb to have wiredtiger as a separate dependency. By default, it pulls in its dependencies' source by the specified commit in its mongodb git repo. Haivng it use the system wiredtiger is from when they were in community.

Some if its dependencies can be specified to use the system-installed packages, but can't, because they either require older versions than Arch has, or have their own in-repo patches they didn't submit upstream. Like, asio, icu, boost, and strangely even mongo-c.

Since if you're going to use mongodb, you have to have wiredtiger by one of these methods, and wiredtiger isn't used for anything other than mongodb, having them separate seems like it's just adding extra steps for users to build. (mongodb-3.4 does of course depend on wiredtiger, but that conflicts with this package, and I'm not sure it's safe for it to be given the commit that current stable mongodb requires anyway.)

EDIT: I'm now leaning toward keeping wiredtiger separate. Statically building it in-tree doesn't provide the files wiredtiger does, and users could be using its headers and libraries. Additionally, we'd have to look into the other wiredtiger configure options (leveldb, lz4, tcmalloc, builtin zlib) can/should be added when building within mongo. Probably not worth investing time in, easier for the 3 involved maintainers to just become maintainers of both packages.

jamespharvey20 commented on 2019-02-25 01:05 (UTC)

@chrbayer, I think there's either something off with your DNS configuration, or there's something off with MongoDB's DNS entries.

How do you have DNS setup? I use systemd-resolved, /etc/resolv/confis a symlink to /run/systemd/resolve/resolv.conf, and I'm using DNS server 8.8.8.8.

What are you using to build?

The failure you're having is in mongo/client/mongo_uri_test, specifically in its subtest srvRecordTest. I originally was wondering if they had just messed up their DNS records, but I just re-built 4.0.6-3, and check() passes, including on this test.

Starting with 4.0.6-2, check() is required to pass. Community 3.6.0-1 through 4.0.5-1, and AUR 4.0.6-1 included || warning "Tests failed" in check(), on the line that runs the unittests suite. This meant 3.6.0-1 through 4.0.6-1 ran the unittests suite, but if it errored, it would print a warning and continue. Because MongoDB's test suites are setup so when a single test fails, the rest are skipped, that seems to me like that suite may as well not have been run. In 3.6.0-1, this was changed because some tests required mlock(), which fails within systemd-nspawn, part of the devtools build process. So, in 4.0.6-2, I took a different approach of checking if it's running under systemd-nspawn, and if so, disable all the tests that use mlock(). So, I'm now not thinking they messed up their DNS records, but that this test was failing for you in the past, but it continued building the package. (Or, you're running through devtools, and it was failing on an earlier test and never getting to this one.)

Anyways, your error message looks like this test is attempting to resolve a DNS entry and failing. I found an upstream bugreport indicating these tests require working name resolution at: https://jira.mongodb.org/browse/SERVER-34117

I think it's trying to resolve _mongodb._tcp.test1.test.build.10gen.cc or test1.test.build.10gen.cc. I know enough about DNS to get by, but their records are confusing me a bit. Running dig <either .cc>, I only get back a SOA record with ns1.p09.dynect.net. or hostmaster.10gen.com.. It doesn't contain anything really useful, like an IP resolution, but I guess maybe it's still considered a valid response. Except in this case of testing a lookup but not wanting anyone to do something with it, I doubt only giving back an SOA record happens often.

If you're using a different DNS resolving method, it's possible there's a bug where only having an SOA record trips it up. Once I know what you're using, I'll try to reproduce.

chrbayer commented on 2019-02-23 07:39 (UTC) (edited on 2019-02-23 19:40 (UTC) by chrbayer)

Hi, I tried two times building the new version and both time it fails now. I have enough space. I have enough free space and I had no problems building version 4.0.5-1 and 4.0.6-1.

Now it fails in the check phase:

[cpp_unit_test:mongo_uri_test] 2019-02-22T23:19:18.552+0100 2019-02-23T00:19:18.552+0100 E -        [main] Throwing exception: Expected ::mongo::Status::OK() == (rs.getStatus()) (OK  == DNSHostNotFound Failed to look up service "_mongodb._tcp.test1.test.build.10gen.cc": Success) Failed on URI: mongodb+srv://test1.test.build.10gen.cc/ data on line: 652 @src/mongo/client/mongo_uri_test.cpp:845
[cpp_unit_test:mongo_uri_test] 2019-02-22T23:19:18.552+0100 2019-02-23T00:19:18.552+0100 I -        [main] FAIL: srvRecordTest  Expected ::mongo::Status::OK() == (rs.getStatus()) (OK  == DNSHostNotFound Failed to look up service "_mongodb._tcp.test1.test.build.10gen.cc": Success) Failed on URI: mongodb+srv://test1.test.build.10gen.cc/ data on line: 652 @src/mongo/client/mongo_uri_test.cpp:845 in test srvRecordTest

After disabling unit tests, it works again. Does someone else have the same problem?

jamespharvey20 commented on 2019-02-22 03:50 (UTC) (edited on 2019-08-10 02:47 (UTC) by jamespharvey20)

READ ME - Manual intervention potentially required upgrading to or past 4.0.6-2

If you never modified /etc/mongodb.conf, there is nothing you need to do, as pacman will install the new configuration file for you.

If pacman alerts you that a new configuration file is saved at /etc/mongodb.conf.pacnew, you must switch to it, or at least modify your existing one to enable forking.

Among other cleanups, 4.0.6-2 switches to:

  1. Upstream's systemd service file, which uses a systemd service type of forking, versus the old Arch-specific type of simple.

  2. Upstream's configuration file, which uses the YAML format introduced back in 2.6, versus the old Arch-specific configuration file using the 2.4 format.

If you had modified /etc/mongodb.conf, pacman will install the new one to /etc/mongodb.conf.pacnew. So, you will either need to: switch to the new one, and duplicate changes you made to the old one that you still need, considering the new file is now in the YAML format; or modify your existing one to enable forking. (Using the old 2.4 file format, adding fork: true should be what is needed.)

jamespharvey20 commented on 2019-02-15 09:58 (UTC) (edited on 2019-08-21 22:43 (UTC) by jamespharvey20)

READ ME - This is quite the package to build

If you use makepkg or an AUR helper you should have 260GB available just to build this. If you use devtools, you will only need 20GB available, because check() is skipped.

It takes a lot of time to build this. Using makepkg, a user reported it took 6.5 hours on an Intel i7. 32 Xeon cores with a high-end NVMe takes an hour.

How much memory you need to build this is untested, but I'd guess having a low amount of memory could cause compilation errors.

If you have compilation problems, please use makepkg, or extra-x86_64-build from devtools, as AUR helpers are not officially supported.

Alternatively, there is the mongodb-bin package, which converts the pre-compiled Ubuntu package into one for Arch. Note Ubuntu's package may use different compilation options.

jamespharvey20 commented on 2019-02-15 02:27 (UTC) (edited on 2019-02-15 02:28 (UTC) by jamespharvey20)

@karcher: You ran out of space. You need at least 165GB available to build this, and it can take a really long time. 32 Xeon cores take about an hour.

@dabz: PKGBUILD as-is builds fine for me using extra-x86_64-build from package "devtools", with plenty of memory (64G) and hard drive space (165G+) available. I'm wondering if that error could be from running out of disk space. I'm going to be submitting a -2 version today, but it won't have any changes that will affect that.

djorborn commented on 2019-02-14 20:29 (UTC)

If you have trouble with building this, try https://aur.archlinux.org/packages/mongodb-bin/ it worked for me no problems after this had a build error.

dabz commented on 2019-02-14 10:55 (UTC)

I got this exception while upgrading & building to 4.0.6: Exception IOError: (2, 'No such file or directory', 'build/scons/sconsign.tmp') in <bound method dblite.__del__ of <SCons.dblite.dblite object at 0x7f32eff2aad0>> ignored

I don't really have time right now to investigate, is it just me having issues with the upgrade?

karcher commented on 2019-02-14 09:54 (UTC)

The update to the latest version is failing with this error:

Linking build/opt/mongo/db/commands/mr_test
Compiling build/opt/mongo/db/storage/mmap_v1/record_store_v1_capped_test.o
Linking build/opt/mongo/db/storage/mmap_v1/record_store_v1_capped_test
Compiling build/opt/mongo/util/concurrency/ticketholder_test.o
Linking build/opt/mongo/util/concurrency/ticketholder_test
Compiling build/opt/mongo/s/commands/append_at_cluster_time_test.o
Linking build/opt/mongo/s/commands/append_at_cluster_time_test
Compiling build/opt/mongo/db/query/interval_test.o
Linking build/opt/mongo/db/query/interval_test
Compiling build/opt/mongo/db/logical_clock_test_fixture.o
Generating library build/opt/mongo/db/liblogical_clock_test_fixture.a
Skipping ranlib for thin archive build/opt/mongo/db/liblogical_clock_test_fixture.a
Compiling build/opt/mongo/db/logical_clock_test.o
Linking build/opt/mongo/db/logical_clock_test
/bin/ld.gold: fatal error: build/opt/mongo/db/logical_clock_test: No space left on device
collect2: error: ld returned 1 exit status
scons: *** [build/opt/mongo/db/logical_clock_test] Error 1
scons: building terminated because of errors.
build/opt/mongo/db/logical_clock_test failed: Error 1
==> ERROR: A failure occurred in check().
    Aborting...
Error making: mongodb

It took 4h:15m:19s to come to this error and the created folder mongodb-src-r4.0.6 within the cache folder of yay has a size of 38.9 GiB.