Mongodb ARM64 support explanation from Michael Hudson-Doyle.

1) MongoDB uses JS for two things:

   i) The 'mongo' shell that people use for interactive use and admin
      tasks etc.  This is perhaps not used so much in production, but
      it's something that most people use when first learning about
      mongo, e.g. it's the very first command in the getting started
      doc:

          http://docs.mongodb.org/manual/tutorial/getting-started/

   ii) A few server side scripting functions -- writing queries in js
       and the map/reduce stuff.  These are considered a bit esoteric
       and most people probably don't actually use them but of course
       some do.

2) MongoDB 2.4 (the version in trusty) ships with two javascript
   engines: spidermonkey and v8.  There is some license incompatibility
   with spidermonkey such that mongo said we'd be breaking the law if we
   distributed binaries built with it.  The version of v8 that is used
   by mongodb 2.4 does not work on arm64.

3) MongoDB 2.6 removed the spidermonkey js engine.

4) Soon after 2.6 was released, mongodb did the work to add another js
   engine: one for a version of v8 that does work on arm64.

5) Unfortunately, this version of v8 handles OOM by calling abort() --
   which is not a problem for the shell really but a very bad thing for
   the server side scripting functions, as a single query using too much
   RAM shouldn't cause the database daemon to abort.

6) MongoDB 2.6 is the version in utopic.  For some reason, it is built
   for arm64 but with scripting disabled, which means that the shell
   just segfaults on startup.  This is clearly not ideal.

7) I built packages in a PPA:

     https://launchpad.net/~mongodb-arm64/+archive/ubuntu/ppa

   that backport the support for the newer v8 js engine (and because
   this newer v8 version isn't packaged yet, it has the new version of
   v8 in a 20 megabyte distro patch).

Many thanks Michael for such a clear explanation.

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to mongodb in Ubuntu.
https://bugs.launchpad.net/bugs/1381967

Title:
  mongodb shell crash on arm64

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mongodb/+bug/1381967/+subscriptions

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to