<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 02:59:34 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[SERVER-2305] Mongo locks should be purged (or at least ignored) when the server is started cold (while not currently running)</title>
                <link>https://jira.mongodb.org/browse/SERVER-2305</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;A server had a failure in the middle of the night that caused a hard-reboot (nothing to do with Mongo) but then after boot the MongoDB service never started up again (turning the 1-minute of downtime into most of the night until a human would intervene.)&lt;/p&gt;

&lt;p&gt;The issue was that the Mongo server would not start up unless all locks are cleared, this was in the log:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;
	&lt;ul&gt;
		&lt;li&gt;
		&lt;ul&gt;
			&lt;li&gt;
			&lt;ul&gt;
				&lt;li&gt;
				&lt;ul&gt;
					&lt;li&gt;
					&lt;ul&gt;
						&lt;li&gt;
						&lt;ul&gt;
							&lt;li&gt;
							&lt;ul&gt;
								&lt;li&gt;
								&lt;ul&gt;
									&lt;li&gt;
									&lt;ul&gt;
										&lt;li&gt;
										&lt;ul&gt;
											&lt;li&gt;
											&lt;ul&gt;
												&lt;li&gt;
												&lt;ul&gt;
													&lt;li&gt;
													&lt;ul&gt;
														&lt;li&gt;&lt;p&gt;old lock file: /data/db/mongod.lock.  probably means unclean shutdown&lt;br/&gt;
recommend removing file and running --repair&lt;br/&gt;
see: &lt;a href=&quot;http://dochub.mongodb.org/core/repair&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://dochub.mongodb.org/core/repair&lt;/a&gt; for more information&lt;br/&gt;
*************&lt;/p&gt;&lt;/li&gt;
													&lt;/ul&gt;
													&lt;/li&gt;
												&lt;/ul&gt;
												&lt;/li&gt;
											&lt;/ul&gt;
											&lt;/li&gt;
										&lt;/ul&gt;
										&lt;/li&gt;
									&lt;/ul&gt;
									&lt;/li&gt;
								&lt;/ul&gt;
								&lt;/li&gt;
							&lt;/ul&gt;
							&lt;/li&gt;
						&lt;/ul&gt;
						&lt;/li&gt;
					&lt;/ul&gt;
					&lt;/li&gt;
				&lt;/ul&gt;
				&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This seems great if you are restarting and really bad for a fresh-start when Mongo is not currently running. My startup script now has a clause for:&lt;br/&gt;
mv  /data/db/mongod.lock  /data/db/mongod.lock.old&lt;/p&gt;

&lt;p&gt;But this is a hack - the Mongo server should just ignore the locks and start-up if there is no server currently active.&lt;/p&gt;</description>
                <environment></environment>
        <key id="14110">SERVER-2305</key>
            <summary>Mongo locks should be purged (or at least ignored) when the server is started cold (while not currently running)</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="phpmoadmin">phpMoAdmin</reporter>
                        <labels>
                    </labels>
                <created>Wed, 29 Dec 2010 15:08:31 +0000</created>
                <updated>Wed, 29 Dec 2010 16:09:17 +0000</updated>
                            <resolved>Wed, 29 Dec 2010 15:10:17 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="21914" author="eliot" created="Wed, 29 Dec 2010 16:09:17 +0000"  >&lt;p&gt;repair can take seconds to days depending on data size and setup, so its not something that we can always do all the time.&lt;br/&gt;
in your case if the db is small, the doing it all the time should be fine&lt;/p&gt;</comment>
                            <comment id="21911" author="phpmoadmin" created="Wed, 29 Dec 2010 16:03:11 +0000"  >&lt;p&gt;So my hack to mv the lock file should be replaced with:&lt;br/&gt;
mongod --repair&lt;/p&gt;

&lt;p&gt;Is that right? Is there any harm in always running this before Mongo-start (instead of specifically when a crash occurred)?&lt;/p&gt;

&lt;p&gt;Also, when 1.8 becomes a production-stable version and I upgrade, at that point I would simply remove that --repair line from the startup script, right?&lt;/p&gt;

&lt;p&gt;Is there a reason why this would not be backported to the current stable 1.6.5? It seems simple (at least in theory) to add to the mongod startup:&lt;br/&gt;
if (locked) {&lt;br/&gt;
    mongod.repair();&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;Clearly my issue is user-error, but it is not really obvious that Mongo won&apos;t start up again after an unclean shutdown - I would bet that the majority of users will experience the server failing to restart at least once before learning that they need to do the --repair first.&lt;/p&gt;</comment>
                            <comment id="21908" author="eliot" created="Wed, 29 Dec 2010 15:10:17 +0000"  >&lt;p&gt;This is actually exactly what is supposed to happen.&lt;/p&gt;

&lt;p&gt;After a crash, you have to run --repair, which is why it won&apos;t start up with a lock file.&lt;/p&gt;

&lt;p&gt;With single server durability in 1.8, --repair won&apos;e be needed so this will be automatic.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 29 Dec 2010 15:10:17 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        13 years, 8 weeks ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ian@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            13 years, 8 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>eliot</customfieldvalue>
            <customfieldvalue>phpmoadmin</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrp973:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrihvr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>21549</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrllvb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>