[SERVER-5186] When mongod --shutdown is issued, an incorrect message is logged Created: 02/Mar/12  Updated: 11/Jul/16  Resolved: 05/Mar/12

Status: Closed
Project: Core Server
Component/s: Logging
Affects Version/s: 2.0.3, 2.1.0
Fix Version/s: 2.1.1

Type: Bug Priority: Major - P3
Reporter: Michael A. Fiedler Assignee: Mathias Stearn
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

mongod on linux


Issue Links:
Depends
is depended on by SERVER-3549 Use --shutdown in init scripts Closed
Related
related to SERVER-5211 Refactor CmdLine::store Closed
Operating System: Linux
Participants:

 Description   

When using the --shutdown flag, mongod produces a log file like this:

Fri Mar  2 21:06:18 [initandlisten] MongoDB starting : pid=4750 port=27017 dbpath=/var/lib/mongo 64-bit host=localhost.localdomain
Fri Mar  2 21:06:18 [initandlisten] db version v2.0.2, pdfile version 4.5
Fri Mar  2 21:06:18 [initandlisten] git version: 514b122d308928517f5841888ceaa4246a7f18e3
Fri Mar  2 21:06:18 [initandlisten] build info: Linux bs-linux64.10gen.cc 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_41
Fri Mar  2 21:06:18 [initandlisten] options: { config: "/etc/mongod.conf", dbpath: "/var/lib/mongo", fork: "true", logappend: "true", logpath: "/var/log/mongo/mongod.log" }
Fri Mar  2 21:06:18 [initandlisten] journal dir=/var/lib/mongo/journal
Fri Mar  2 21:06:18 [initandlisten] recover : no journal files present, no recovery needed
Fri Mar  2 21:06:18 [initandlisten] waiting for connections on port 27017
Fri Mar  2 21:06:18 [websvr] admin web console waiting for connections on port 28017
 
***** SERVER RESTARTED *****
 
 
killing process with pid: 4750
Fri Mar  2 21:06:43 got kill or ctrl c or hup signal 15 (Terminated), will terminate after current cmd ends
Fri Mar  2 21:06:43 [interruptThread] now exiting
Fri Mar  2 21:06:43 dbexit: 
Fri Mar  2 21:06:43 [interruptThread] shutdown: going to close listening sockets...
Fri Mar  2 21:06:43 [interruptThread] closing listening socket: 6
Fri Mar  2 21:06:43 [interruptThread] closing listening socket: 7
Fri Mar  2 21:06:43 [interruptThread] closing listening socket: 8
Fri Mar  2 21:06:43 [interruptThread] removing socket file: /tmp/mongodb-27017.sock
Fri Mar  2 21:06:43 [interruptThread] shutdown: going to flush diaglog...
Fri Mar  2 21:06:43 [interruptThread] shutdown: going to close sockets...
Fri Mar  2 21:06:43 [interruptThread] shutdown: waiting for fs preallocator...
Fri Mar  2 21:06:43 [interruptThread] shutdown: lock for final commit...
Fri Mar  2 21:06:43 [interruptThread] shutdown: final commit...
Fri Mar  2 21:06:43 [interruptThread] shutdown: closing all files...
Fri Mar  2 21:06:43 [interruptThread] closeAllFiles() finished
Fri Mar  2 21:06:43 [interruptThread] journalCleanup...
Fri Mar  2 21:06:43 [interruptThread] removeJournalFiles
Fri Mar  2 21:06:43 [interruptThread] shutdown: removing fs lock...
Fri Mar  2 21:06:43 dbexit: really exiting now

whereas when using another method, such as kill or db. shutdownServer() does not produce this:

Fri Mar  2 22:39:06 [initandlisten] MongoDB starting : pid=5296 port=27017 dbpath=/var/lib/mongo 64-bit host=localhost.localdomain
Fri Mar  2 22:39:06 [initandlisten] db version v2.0.2, pdfile version 4.5
Fri Mar  2 22:39:06 [initandlisten] git version: 514b122d308928517f5841888ceaa4246a7f18e3
Fri Mar  2 22:39:06 [initandlisten] build info: Linux bs-linux64.10gen.cc 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_41
Fri Mar  2 22:39:06 [initandlisten] options: { config: "/etc/mongod.conf", dbpath: "/var/lib/mongo", fork: "true", logappend: "true", logpath: "/var/log/mongo/mongod.log" }
Fri Mar  2 22:39:06 [initandlisten] journal dir=/var/lib/mongo/journal
Fri Mar  2 22:39:06 [initandlisten] recover : no journal files present, no recovery needed
Fri Mar  2 22:39:06 [websvr] admin web console waiting for connections on port 28017
Fri Mar  2 22:39:06 [initandlisten] waiting for connections on port 27017
Fri Mar  2 22:39:13 got kill or ctrl c or hup signal 15 (Terminated), will terminate after current cmd ends
Fri Mar  2 22:39:13 [interruptThread] now exiting
Fri Mar  2 22:39:13 dbexit: 
Fri Mar  2 22:39:13 [interruptThread] shutdown: going to close listening sockets...
Fri Mar  2 22:39:13 [interruptThread] closing listening socket: 6
Fri Mar  2 22:39:13 [interruptThread] closing listening socket: 7
Fri Mar  2 22:39:13 [interruptThread] closing listening socket: 8
Fri Mar  2 22:39:13 [interruptThread] removing socket file: /tmp/mongodb-27017.sock
Fri Mar  2 22:39:13 [interruptThread] shutdown: going to flush diaglog...
Fri Mar  2 22:39:13 [interruptThread] shutdown: going to close sockets...
Fri Mar  2 22:39:13 [interruptThread] shutdown: waiting for fs preallocator...
Fri Mar  2 22:39:13 [interruptThread] shutdown: lock for final commit...
Fri Mar  2 22:39:13 [interruptThread] shutdown: final commit...
Fri Mar  2 22:39:13 [interruptThread] shutdown: closing all files...
Fri Mar  2 22:39:13 [interruptThread] closeAllFiles() finished
Fri Mar  2 22:39:13 [interruptThread] journalCleanup...
Fri Mar  2 22:39:13 [interruptThread] removeJournalFiles
Fri Mar  2 22:39:13 [interruptThread] shutdown: removing fs lock...
Fri Mar  2 22:39:13 dbexit: really exiting now

The SERVER RESTARTED message is incorrect.



 Comments   
Comment by auto [ 19/Apr/12 ]

Author:

{u'login': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: Ignore --fork and --logpath when using --shutdown SERVER-5186 SERVER-5187
Branch: v2.0
https://github.com/mongodb/mongo/commit/d99695ccc20af5a56bd624bf6a3aa66c7493d592

Comment by Eliot Horowitz (Inactive) [ 19/Apr/12 ]

its a dupe

Comment by auto [ 05/Mar/12 ]

Author:

{u'login': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: Ignore --fork and --logpath when using --shutdown SERVER-5186 SERVER-5187
Branch: master
https://github.com/mongodb/mongo/commit/fa2e2ef95c5c934eef63fff4b98d5eb060c56539

Comment by Mathias Stearn [ 05/Mar/12 ]

Actually it looks like fork and logpath are handled in CmdLine::store() so for now it is much easier to blacklist flags that should be ignored with --shutdown. A better solution requires SERVER-5211

Comment by Mathias Stearn [ 05/Mar/12 ]

I'm thinking that when using --shutdown, we should ignore all options not directly related to the task of shutting down

This includes things like --logpath and --fork, but probably everything other than dbpath should also be ignored.

Generated at Thu Feb 08 03:08:09 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.