ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    MongoDB 3.6 Update Issues

    IT Discussion
    mongodb mongodb 3.6
    3
    8
    1.3k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • scottalanmillerS
      scottalanmiller
      last edited by

      If you have recently moved to Fedora 28 or Ubuntu 18.04 from an early version and were running MongoDB 3.2 or MongoDB 3.4 you might have discovered that you cannot simply update to MongoDB 3.6, there is a fundamental database incompatibility to be addressed. If you already updated your system, this might prove to be rather difficult to fix as you have already changed your infrastructure.

      Of course you could revert to an earlier database backup, but you probably would like to avoid doing that. So what to do?

      Well let's leverage the wonders of cloud computing. If you, like me, use a cloud provider (I use Vultr) then this might be easier than you think, and not at all stressful. This is actually super easy.

      Step One: Package the File to Process

      On your new Fedora 28, Ubuntu 18.04, or other system running MongoDB 3.6 find the directory with your database files. The easiest way to locate this is to look it up in your MongoDB configuration file.

      For me on Fedora 28 this is located at /etc/mongod.conf and it ends up pointing to /var/lib/mongodb.

      So this makes things easy. We can just...

      cd /var/lib
      tar -czvf mongodb.tgz mongodb/
      

      Build a Temporary Processing Server

      Now we have a compressed tar file with our data. If you are like me, the compression is about 2:1. Not bad at all. Why did we need to do this? Because we need to transfer this data to a system with MongoDB 3.4 in order to do the conversion. So next, go to your cloud host and fire up Fedora 27 or Ubuntu 16.04 or a system that runs MongoDB 3.4 Doesn't have to be anything fancy. I used Fedora 27 on Vultr. Only took a few minutes.

      Once it has built, you can simply do a MongoDB install on your new machine. For Fedora, this would be:

      dnf -y install mongodb-server
      

      Copy Over Our File

      Then using SCP or a similar tool, simply copy the file from your production server to this new processing server. Plop that file into /var/lib and then on the new server:

      cd /var/lib
      tar -xzvf mongodb.tgz
      

      Start MongoDB 3.4

      Once it is done, you can fire up the MongoDB 3.4 server.

      systemctl start mongod
      

      Convert the File

      Now log into the instance:

      mongo
      

      And once you are in the MongoDB interface, you can run this simple command that only takes a second (or less.)

      db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
      quit()
      

      Package it Up Again

      Once done we can remove the unneeded copy and repackage what we just converted.

      rm mongodb.tgz
      tar -czvf mongodb.tgz mongodb/
      

      Copy the file back and restart MongoDB 3.6

      Copy the file back over to the /var/lib location on the production MongoDB 3.6 server. Unpackage it, and we are ready to rock:

      cd /var/lib
      tar -xzvf mongodb.tgz
      systemctl start mongod
      

      Now you can log into your cloud host and shut down the server that you built for ten minutes. Only cost you a few sense but made the whole conversion quite painless.

      1 Reply Last reply Reply Quote 2
      • JaredBuschJ
        JaredBusch
        last edited by

        What a fucked up pain in the ass.

        The Mongo team failed bad here.

        scottalanmillerS 1 Reply Last reply Reply Quote 0
        • black3dynamiteB
          black3dynamite
          last edited by

          Is this an issue when using the packages from Fedora and Ubuntu repo or from MongoDB repo or both?

          JaredBuschJ scottalanmillerS 2 Replies Last reply Reply Quote 0
          • JaredBuschJ
            JaredBusch @black3dynamite
            last edited by

            @black3dynamite the issue seems to be any existing 3.4 that upgrades to 3.6

            1 Reply Last reply Reply Quote 0
            • scottalanmillerS
              scottalanmiller @JaredBusch
              last edited by

              @jaredbusch said in MongoDB 3.6 Update Issues:

              What a fucked up pain in the ass.

              The Mongo team failed bad here.

              They did, this is super weird. And is SO easy to fix, how can 3.6 not have the ability to fix this built in?

              1 Reply Last reply Reply Quote 0
              • scottalanmillerS
                scottalanmiller @black3dynamite
                last edited by

                @black3dynamite said in MongoDB 3.6 Update Issues:

                Is this an issue when using the packages from Fedora and Ubuntu repo or from MongoDB repo or both?

                Fedora and Ubuntu repos will cause this issue. If you just do your normal 27 -> 28, or 16.04 -> 18.04, or 17.10 -> 18.04 updates, it gets you. No warnings (within the system.) This will be a big problem for people who get MongoDB installed as part of an app in the background and don't know that they are running it!

                black3dynamiteB 1 Reply Last reply Reply Quote 0
                • black3dynamiteB
                  black3dynamite @scottalanmiller
                  last edited by black3dynamite

                  @scottalanmiller said in MongoDB 3.6 Update Issues:

                  @black3dynamite said in MongoDB 3.6 Update Issues:

                  Is this an issue when using the packages from Fedora and Ubuntu repo or from MongoDB repo or both?

                  Fedora and Ubuntu repos will cause this issue. If you just do your normal 27 -> 28, or 16.04 -> 18.04, or 17.10 -> 18.04 updates, it gets you. No warnings (within the system.) This will be a big problem for people who get MongoDB installed as part of an app in the background and don't know that they are running it!

                  Wiki.js

                  scottalanmillerS 1 Reply Last reply Reply Quote 0
                  • scottalanmillerS
                    scottalanmiller @black3dynamite
                    last edited by

                    @black3dynamite said in MongoDB 3.6 Update Issues:

                    @scottalanmiller said in MongoDB 3.6 Update Issues:

                    @black3dynamite said in MongoDB 3.6 Update Issues:

                    Is this an issue when using the packages from Fedora and Ubuntu repo or from MongoDB repo or both?

                    Fedora and Ubuntu repos will cause this issue. If you just do your normal 27 -> 28, or 16.04 -> 18.04, or 17.10 -> 18.04 updates, it gets you. No warnings (within the system.) This will be a big problem for people who get MongoDB installed as part of an app in the background and don't know that they are running it!

                    Wiki.js

                    That, too, would be affected. Yes. But only in the 1.x series. Once they go to 2.0, they are dumping MongoDB.

                    1 Reply Last reply Reply Quote 0
                    • 1 / 1
                    • First post
                      Last post