[SERVER-17977] Removal / Upgrade fails on Debian / Ubuntu in combination with WiredTiger storage engine Created: 10/Apr/15 Updated: 23/Apr/15 Resolved: 23/Apr/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Packaging |
| Affects Version/s: | 3.0.1, 3.0.2 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Ronald Feicht | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | build-planning | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Operating System: | ALL | ||||||||
| Steps To Reproduce: | Install MongoDB 3.0.1 change to WiredTiger storage engine - which means you have to switch to the yaml style configuration.
will result in the following error:
|
||||||||
| Participants: | |||||||||
| Description |
|
First off, installing mongodb-org (3.0.1) worked without errors on
and
Since I wanted to test the WiredTiger engine I had to change the configuration file format to yaml:
Now, the start script /etc/init.d/mongod fails because the PID it saves to
is wrong - that PID does not exist.
Luckily, I was able to get a screenshot of what goes wrong:
When using a yaml style config file and the WiredTiger storage engine the MongoDB init script starts a process whose PID is written to /var/run/mongod.pid. This process then starts the real mongod and terminates itself so that the PID inside /var/run/mongod.pid is now defunct. An easy workaround is to edit the init script and paste these two lines into /etc/init.d/mongod:
We now save the correct PID to file and starting / stopping works - but it is not a pretty solution, just a workaround hack which needs to be improved. |
| Comments |
| Comment by Ronald Feicht [ 13/Apr/15 ] |
|
Yes, removing the 'fork:true' solves the issue. Thank you very much. You might want to consider changing what is written on this page |
| Comment by Ernie Hershey [ 10/Apr/15 ] |
|
scsynergy - I believe the problem is the "fork: true" in your new configuration file, which the init script and upstart configuration expect to be false, as it is in the configuration file distributed with the packages. If you take that out or set "fork: false" does it work better? |