0

I have a Mongo service with which multiple hosts are interacting. The host on which the Mongo service is running is quite special -- it has 3TB of RAM. However, that host also throws intermittent Bus Error responses. If a Bus Error occurs within the Mongo service process, the service is halted and all celery (Python) processes that are interacting with the resource are served Connection Refused responses.

Is there a way to allow the Mongo service to somehow recover from a Bus Error? Can sharding help with this problem? Is there some other potential solution to the Bus Error that can be made at the application configuration level? I'd be grateful for any suggestions others can offer on this question!

I built Mongo from source on RedHat so I can use any recent version if that helps. The currently installed version is 3.6.4.

6
  • 1
    Bus errors originate from some process trying to address RAM that is not there (cannot be addressed). I guess you should look into HW/SW compatibility. Commented May 15, 2018 at 21:21
  • @dezso is it not possible to solve this problem at the application level? I can't affect the hardware in this case, but can configure the mongo application...
    – duhaime
    Commented May 15, 2018 at 21:40
  • 1
    Well, as it sounds MongoDB cannot handle (address) the memory properly. This is hardly something you can fix by tweaking settings (but I am saying this without actually knowing MongoDB). I'd suggest opening an issue with the developers, they might have a better idea than anyone here. Commented May 16, 2018 at 8:05
  • @duhaime, Could you update the "Bus" error?. Is it come from software level or hardware label. Did you check through "smartmontools" in linux environment? Commented May 22, 2018 at 7:50
  • @MdHaidarAliKhan I believe this bus error comes from the hardware level, but I'd like to catch the exception at the application layer...
    – duhaime
    Commented May 22, 2018 at 15:23

2 Answers 2

0

Handling Bus Error in Mongo Service

As per MongoDB documentation here It would also be helpful to run smartctl (part of smartmontools) to check for SMART hardware errors:

sudo  smartctl -a /dev/sdb

Even you can run the Linux fsck utility is used to check and repair Linux filesystems (ext2, ext3, ext4, etc.).

Depending on when was the last time a file system was checked, the system runs the fsck during boot time to check whether the filesystem is in consistent state. System administrator could also run it manually when there is a problem with the filesystems.

Make sure to execute the fsck on an unmounted file systems to avoid any data corruption issues.

For your further ref here and here

0

Bus error is most frequently an indication of a program bug, in this case MongoDB itself, or, rarely, a hardware issue. As such, the first thing to try would be upgrading to the latest stable version. If the problem persists, there is not much you can do about it apart from submitting a bug report to Mongo.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.