Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mongo Exception

I recently had some storage issues on my PC so I changed the mongo.conf file to reduce the size of the journal. These are the lines which I put in.

mmapv1:
    smallFiles: true

However, every time when I try to run mongo with the new changes I get this error(without the change it works just fine). Can you tell me what's the problem?


2016-02-11T22:32:14.002+0000 I FTDC [ftdc] Unclean full-time diagnostic data capture shutdown detected, found interim file, some metrics may have been lost. OK

2016-02-11T22:32:14.023+0000 W FTDC [ftdc] Uncaught exception in 'UnknownError Caught std::exception of type boost::filesystem::filesystem_error: boost::filesystem::file_size: No such file or directory: "/data/db/diagnostic.data/metrics.interim.temp"' in full-time diagnostic data capture subsystem. Shutting down the full-time diagnostic data capture subsystem.

like image 328
user134 Avatar asked Feb 11 '16 23:02

user134


3 Answers

I would try deleting the directory /data/db/diagnostic.data.

You can also disable the diagnostic data collection by starting mongo with the option:

setParameter:
    diagnosticDataCollectionEnabled: false
like image 64
helmy Avatar answered Nov 17 '22 04:11

helmy


I had the same problem after MongoDb failed when HD was fulled upto 100%. Here is the log:

2016-10-03T10:13:42.017+0000 I CONTROL  [initandlisten] MongoDB starting : pid=12630 port=27017 dbpath=/var/lib/mongo 64-bit host=drft006
2016-10-03T10:13:42.018+0000 I CONTROL  [initandlisten] db version v3.2.9
2016-10-03T10:13:42.018+0000 I CONTROL  [initandlisten] git version: 22ec9e93b40c85fc7cae7d56e7d6a02fd811088c
2016-10-03T10:13:42.018+0000 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
2016-10-03T10:13:42.018+0000 I CONTROL  [initandlisten] allocator: tcmalloc
2016-10-03T10:13:42.018+0000 I CONTROL  [initandlisten] modules: none
2016-10-03T10:13:42.018+0000 I CONTROL  [initandlisten] build environment:
2016-10-03T10:13:42.018+0000 I CONTROL  [initandlisten]     distmod: rhel62
2016-10-03T10:13:42.018+0000 I CONTROL  [initandlisten]     distarch: x86_64
2016-10-03T10:13:42.018+0000 I CONTROL  [initandlisten]     target_arch: x86_64
2016-10-03T10:13:42.018+0000 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { port: 27017, unixDomainSocket: { filePermissions: 511 } }, processManagement: { fork: true, pidFilePath: "/var/run/mongodb/mongod.pid" }, security: { authorization: "enabled" }, storage: { dbPath: "/var/lib/mongo", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2016-10-03T10:13:42.045+0000 I -        [initandlisten] Detected data files in /var/lib/mongo created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2016-10-03T10:13:42.045+0000 W -        [initandlisten] Detected unclean shutdown - /var/lib/mongo/mongod.lock is not empty.
2016-10-03T10:13:42.045+0000 W STORAGE  [initandlisten] Recovering data from the last clean checkpoint.
2016-10-03T10:13:42.045+0000 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=93G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2016-10-03T10:13:42.465+0000 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/var/lib/mongo/diagnostic.data'
2016-10-03T10:13:42.465+0000 I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
2016-10-03T10:13:42.467+0000 I NETWORK  [initandlisten] waiting for connections on port 27017
2016-10-03T10:13:43.012+0000 I FTDC     [ftdc] Unclean full-time diagnostic data capture shutdown detected, found interim file, some metrics may have been lost. OK
2016-10-03T10:13:43.045+0000 W FTDC     [ftdc] Uncaught exception in 'UnknownError: Caught std::exception of type boost::filesystem::filesystem_error: boost::filesystem::file_size: No such file or directory: "/var/lib/mongo/diagnostic.data/metrics.interim.temp"' in full-time diagnostic data capture subsystem. Shutting down the full-time diagnostic data capture subsystem.

I kill-ed mongod and cleared the contents of the diagnostic folders:

> rm -f  /var/lib/mongo/diagnostic.data/*

After the restart of mongo log showed:

2016-10-03T10:17:46.745+0000 I CONTROL  [initandlisten] MongoDB starting : pid=12803 port=27017 dbpath=/var/lib/mongo 64-bit host=drft006
2016-10-03T10:17:46.745+0000 I CONTROL  [initandlisten] db version v3.2.9
2016-10-03T10:17:46.745+0000 I CONTROL  [initandlisten] git version: 22ec9e93b40c85fc7cae7d56e7d6a02fd811088c
2016-10-03T10:17:46.745+0000 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
2016-10-03T10:17:46.745+0000 I CONTROL  [initandlisten] allocator: tcmalloc
2016-10-03T10:17:46.745+0000 I CONTROL  [initandlisten] modules: none
2016-10-03T10:17:46.745+0000 I CONTROL  [initandlisten] build environment:
2016-10-03T10:17:46.745+0000 I CONTROL  [initandlisten]     distmod: rhel62
2016-10-03T10:17:46.745+0000 I CONTROL  [initandlisten]     distarch: x86_64
2016-10-03T10:17:46.745+0000 I CONTROL  [initandlisten]     target_arch: x86_64
2016-10-03T10:17:46.745+0000 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { port: 27017, unixDomainSocket: { filePermissions: 511 } }, processManagement: { fork: true, pidFilePath: "/var/run/mongodb/mongod.pid" }, security: { authorization: "enabled" }, storage: { dbPath: "/var/lib/mongo", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2016-10-03T10:17:46.772+0000 I -        [initandlisten] Detected data files in /var/lib/mongo created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2016-10-03T10:17:46.772+0000 W -        [initandlisten] Detected unclean shutdown - /var/lib/mongo/mongod.lock is not empty.
2016-10-03T10:17:46.772+0000 W STORAGE  [initandlisten] Recovering data from the last clean checkpoint.
2016-10-03T10:17:46.772+0000 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=93G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2016-10-03T10:17:47.128+0000 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/var/lib/mongo/diagnostic.data'
2016-10-03T10:17:47.128+0000 I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
2016-10-03T10:17:47.129+0000 I NETWORK  [initandlisten] waiting for connections on port 27017

and mongo was ok.

like image 31
rlib Avatar answered Nov 17 '22 02:11

rlib


In case you are using nodejs, try to disable/remove debug mode in your server code.

Steps:

  1. rm -rf /{your_db_name}/diagnostic.data/
  2. remove or comment out mongoose.set('debug', true);
  3. restart mongo and node server
like image 2
Tatarin Avatar answered Nov 17 '22 03:11

Tatarin