<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:50:14 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-60595] Resmoke hooks such as ContinuousTenantMigration may not pause even after being paused</title>
                <link>https://jira.mongodb.org/browse/SERVER-60595</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The implementation of ContinuousTenantMigration suggests that &lt;a href=&quot;https://github.com/mongodb/mongo/blob/c0bcf6b7c497d3b8b314e7e1929c2dc4f1df6b8d/buildscripts/resmokelib/testing/hooks/tenant_migration.py#L68-L70&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;when we pause after test&lt;/a&gt;, we expect the hook to be in a state in which no migrations are going on. This can be violated.&lt;/p&gt;

&lt;p&gt;Suppose this sequence of events takes place:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;The tenant migrations thread is started, and it pauses &lt;a href=&quot;https://github.com/mongodb/mongo/blob/c0bcf6b7c497d3b8b314e7e1929c2dc4f1df6b8d/buildscripts/resmokelib/testing/hooks/tenant_migration.py#L283-L284&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt; before &lt;tt&gt;self._is_idle_evt.clear()&lt;/tt&gt;. It has already checked to make sure a tenant migration is permitted.&lt;/li&gt;
	&lt;li&gt;The main resmoke thread of execution is done with the test and &lt;a href=&quot;https://github.com/mongodb/mongo/blob/c0bcf6b7c497d3b8b314e7e1929c2dc4f1df6b8d/buildscripts/resmokelib/testing/hooks/tenant_migration.py#L68-L70&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;attempts&lt;/a&gt; to &lt;a href=&quot;https://github.com/mongodb/mongo/blob/c0bcf6b7c497d3b8b314e7e1929c2dc4f1df6b8d/buildscripts/resmokelib/testing/hooks/tenant_migration.py#L331-L336&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;pause the thread&lt;/a&gt;. Marking the test as finished in &lt;tt&gt;pause()&lt;/tt&gt; is irrelevant now, since the tenant migrations thread has already run past the &lt;tt&gt;wait_for_tenant_migration_permitted()&lt;/tt&gt;.&lt;/li&gt;
	&lt;li&gt;Since the tenant migrations thread has not performed &lt;tt&gt;self._is_idle_evt.clear()&lt;/tt&gt; yet, this &lt;a href=&quot;https://github.com/mongodb/mongo/blob/c0bcf6b7c497d3b8b314e7e1929c2dc4f1df6b8d/buildscripts/resmokelib/testing/hooks/tenant_migration.py#L336&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;check in &lt;tt&gt;pause()&lt;/tt&gt;&lt;/a&gt; succeeds, and we think we have finished pausing the tenant migrations thread.&lt;/li&gt;
	&lt;li&gt;However, the tenant migrations thread is free to proceed and does not know it should pause.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;There is a sequence of steps in which &lt;tt&gt;stop()&lt;/tt&gt; comes into play once all tests have been completed, which prevents the tenant migration thread from ever terminating.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1895120">SERVER-60595</key>
            <summary>Resmoke hooks such as ContinuousTenantMigration may not pause even after being paused</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="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="backlog-server-repl">Backlog - Replication Team</assignee>
                                    <reporter username="vishnu.kaushik@mongodb.com">Vishnu Kaushik</reporter>
                        <labels>
                    </labels>
                <created>Mon, 11 Oct 2021 14:57:08 +0000</created>
                <updated>Tue, 6 Dec 2022 00:53:01 +0000</updated>
                                                                                                <votes>0</votes>
                                    <watches>10</watches>
                                                                                                                <comments>
                            <comment id="4119776" author="vishnu.kaushik" created="Tue, 12 Oct 2021 19:11:39 +0000"  >&lt;p&gt;I attached the reproducer (it&apos;s the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/52174ffab806e33d77ccb255ddc0d6c8023acc8d/buildscripts/resmokelib/testing/hooks/tenant_migration.py#L1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;current tenant_migrations.py&lt;/a&gt; with some sleeps / waits where necessary, as well as a log file from a severe failed run, in which the tenant migrations thread is never able to complete.&lt;/p&gt;

&lt;p&gt;It may take 5 - 6 runs to reproduce the issue in its most severe form. However, the reproducer should reliably make the call to &lt;tt&gt;pause()&lt;/tt&gt; return and then have a tenant migration run immediately after.&lt;/p&gt;</comment>
                            <comment id="4116608" author="judah.schvimer" created="Mon, 11 Oct 2021 19:09:49 +0000"  >&lt;p&gt;Vishnu found this by code inspection.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="340109" name="server50959repro.log" size="2182554" author="vishnu.kaushik@mongodb.com" created="Tue, 12 Oct 2021 19:08:52 +0000"/>
                            <attachment id="340108" name="tmrepro.py" size="33095" author="vishnu.kaushik@mongodb.com" created="Tue, 12 Oct 2021 19:07:56 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25128"><![CDATA[Replication]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 11 Oct 2021 19:09:49 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 17 weeks, 1 day 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>
                            2 years, 17 weeks, 1 day ago
                        </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-repl</customfieldvalue>
            <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
            <customfieldvalue>vishnu.kaushik@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i05647:</customfieldvalue>

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

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

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