<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:01:54 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-3039] distributed lock needs to be checked periodically </title>
                <link>https://jira.mongodb.org/browse/SERVER-3039</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;If processes using the distributed lock take longer than a few minutes to complete, it is possible that the config servers could go unresponsive during the process, come back up, and be queried by other processes before the still-running process has a chance to ping again, leading to an incorrect forcing.  Think the easiest way to avoid this is to re-acquire the distributed lock every 5-7 mins or so in long-running processes (1/2 the timeout time)?&lt;/p&gt;</description>
                <environment></environment>
        <key id="16617">SERVER-3039</key>
            <summary>distributed lock needs to be checked periodically </summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="backlog-server-sharding">[DO NOT USE] Backlog - Sharding Team</assignee>
                                    <reporter username="greg_10gen">Greg Studer</reporter>
                        <labels>
                    </labels>
                <created>Wed, 4 May 2011 16:02:07 +0000</created>
                <updated>Tue, 6 Dec 2022 05:44:01 +0000</updated>
                            <resolved>Fri, 31 May 2019 18:21:39 +0000</resolved>
                                    <version>1.9.0</version>
                                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="2267240" author="ratika.gandhi" created="Fri, 31 May 2019 18:21:39 +0000"  >&lt;p&gt;We have largely moved away from Distributed locks&lt;/p&gt;</comment>
                            <comment id="570907" author="greg_10gen" created="Fri, 2 May 2014 17:24:27 +0000"  >&lt;p&gt;This has become less of an issue since 2.4, where we re-check the distributed lock state after the long-running migration data transfer.  All other metadata operations should take much less time than 30 secs.&lt;/p&gt;</comment>
                            <comment id="33326" author="greg_10gen" created="Wed, 18 May 2011 16:12:59 +0000"  >&lt;p&gt;Another case - lock pinging fails, but this does not impact the acquisition of a dist lock - it&apos;s separate.  We need to disallow if last lock ping failed, or some similar logic.&lt;/p&gt;</comment>
                            <comment id="32265" author="auto" created="Thu, 12 May 2011 14:39:25 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;login&apos;: u&apos;gregstuder&apos;, u&apos;name&apos;: u&apos;gregs&apos;, u&apos;email&apos;: u&apos;greg@10gen.com&apos;}
&lt;p&gt;Message: don&apos;t remember pings on errors or successful dist_locking &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-3039&quot; title=&quot;distributed lock needs to be checked periodically &quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-3039&quot;&gt;&lt;del&gt;SERVER-3039&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/fcbcbdac954522f7af2cd804bf06ef1701ad9b42&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/fcbcbdac954522f7af2cd804bf06ef1701ad9b42&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="31604" author="greg_10gen" created="Mon, 9 May 2011 14:58:36 +0000"  >&lt;p&gt;agreed - was thinkiing the simplest way of implementing this was just an additional method in dist_lock_try (retry()) you&apos;d call periodically to check that - right now it actually sort of does this, in that if we can&apos;t read and write to every config server, the retry() call fails, but it doesn&apos;t explicitly check the lock pings.  Think that might be unnecessary? - if our config servers are up and we&apos;re able to read and write from config.locks, writing to config.lockpings should always get through too - if not it&apos;s a program error.&lt;/p&gt;</comment>
                            <comment id="31598" author="eliot" created="Mon, 9 May 2011 14:45:28 +0000"  >&lt;p&gt;One option is that of the lock pinger can&apos;t ping, we try and abort.&lt;br/&gt;
That might be the safest.&lt;/p&gt;</comment>
                            <comment id="31596" author="greg_10gen" created="Mon, 9 May 2011 14:42:35 +0000"  >&lt;p&gt;Thinking about that, but seems like the issue there is that there could be network segmentation so one mongos process does not see the config server go down, while the other process does - the lock pinger would throw errors, but nothing would stop any operations.  The solution above should work, assuming that the ping on the lock is checked, b/c it the check can ensure that there is a new ping entry which will protect the lock for another 15 minutes, and if not abort (though any network error should also reset the last detected lock ping time - which currently is not the case.)&lt;/p&gt;</comment>
                            <comment id="31543" author="eliot" created="Mon, 9 May 2011 05:56:02 +0000"  >&lt;p&gt;Wouldn&apos;t that solution have the same race condition?&lt;/p&gt;

&lt;p&gt;Maybe after a network failure, we disallow take overs for 5 minutes?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25141"><![CDATA[Sharding]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 9 May 2011 05:56:02 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 36 weeks, 5 days 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>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            4 years, 36 weeks, 5 days 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>backlog-server-sharding</customfieldvalue>
            <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>eliot</customfieldvalue>
            <customfieldvalue>greg_10gen</customfieldvalue>
            <customfieldvalue>ratika.gandhi@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrp0g7:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>105405</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|hszutj:</customfieldvalue>

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