<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:41:15 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-79544] Make the task activator handle errors more intelligently</title>
                <link>https://jira.mongodb.org/browse/SERVER-79544</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;It seems like the configure task endpoint is pretty consistently timing out for this particular patch/task when it tries to activate the tasks generated for it.&lt;/p&gt;

&lt;p&gt;Here&apos;s the exact endpoint being hit&lt;/p&gt;

&lt;p&gt;This patch is large, with a pretty large number of generated tasks within it. All of the tasks under the &lt;span class=&quot;error&quot;&gt;&amp;#91;JSTEST AFFECTED&amp;#93;&lt;/span&gt; variants are attempting to be activated.&lt;/p&gt;

&lt;p&gt;Is there anything that can be done in order to allow for this call to succeed? Should this endpoint be batched instead on the client side so that we try to activate only a certain number of tasks within each network call? Are there any guidelines or best practices around how many tasks we should be activating at a single time?&#160;&lt;/p&gt;

&lt;p&gt;------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;/p&gt;

&lt;p&gt;AC:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;del&gt;Update the task activation code in the mongo codebase to batch how many tasks get activated at a time&lt;/del&gt;
	&lt;ul&gt;
		&lt;li&gt;&lt;del&gt;Experiment with different batch sizes&lt;/del&gt;&lt;/li&gt;
		&lt;li&gt;&lt;del&gt;The patch I linked in this ticket would be a good base to begin experiments on&lt;/del&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Have the task activator handle errors more intelligently
	&lt;ul&gt;
		&lt;li&gt;We can&apos;t batch much more on the client side but we can at least activate as many tasks as possible&lt;/li&gt;
		&lt;li&gt;We should also throw a more user friendly logging message when some tasks were unable to be activated&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="2392251">SERVER-79544</key>
            <summary>Make the task activator handle errors more intelligently</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</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="13201">Fixed</resolution>
                                        <assignee username="jeff.zambory@mongodb.com">Jeffrey Zambory</assignee>
                                    <reporter username="memento@mongodb.com">Memento Slack Bot</reporter>
                        <labels>
                    </labels>
                <created>Fri, 14 Jul 2023 17:15:24 +0000</created>
                <updated>Sun, 29 Oct 2023 21:18:11 +0000</updated>
                            <resolved>Wed, 2 Aug 2023 18:46:02 +0000</resolved>
                                                    <fixVersion>7.1.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="5606586" author="xgen-internal-githook" created="Wed, 2 Aug 2023 04:14:09 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Zambory&apos;, &apos;email&apos;: &apos;jeff.zambory@mongodb.com&apos;, &apos;username&apos;: &apos;&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-79544&quot; title=&quot;Make the task activator handle errors more intelligently&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-79544&quot;&gt;&lt;del&gt;SERVER-79544&lt;/del&gt;&lt;/a&gt;: Make the task activator handle errors more intelligently&lt;br/&gt;
Branch: minh.luu-no_compile_sys-perf&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/e01e49ad9a3ea7756ab5ed7720c67640379ee0d7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/e01e49ad9a3ea7756ab5ed7720c67640379ee0d7&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5605784" author="xgen-internal-githook" created="Tue, 1 Aug 2023 18:48:03 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Zambory&apos;, &apos;email&apos;: &apos;jeff.zambory@mongodb.com&apos;, &apos;username&apos;: &apos;&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-79544&quot; title=&quot;Make the task activator handle errors more intelligently&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-79544&quot;&gt;&lt;del&gt;SERVER-79544&lt;/del&gt;&lt;/a&gt;: Make the task activator handle errors more intelligently&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/e01e49ad9a3ea7756ab5ed7720c67640379ee0d7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/e01e49ad9a3ea7756ab5ed7720c67640379ee0d7&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5583426" author="jeff.zambory" created="Fri, 21 Jul 2023 17:39:01 +0000"  >&lt;p&gt;Gotcha, thanks &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kimberly.tao%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;kimberly.tao@mongodb.com&quot;&gt;kimberly.tao@mongodb.com&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;Moving this over to DAG: to make us batch how many tasks get activated at a time.&#160;&lt;/p&gt;</comment>
                            <comment id="5577488" author="kimberly.tao" created="Wed, 19 Jul 2023 16:51:35 +0000"  >&lt;p&gt;1. The main limit is the 60 second server timeout on all requests. I don&apos;t think we have a hard correlation between # tasks to activate and time to run (due to configuration-specific concerns like # dependencies that the tasks have), but activating ~1000 at a time should be feasible within 60 seconds. You can experiment with the particular batch sizes to see what&apos;s reasonable, or maybe try activating individual build variants rather than individual tasks.&lt;br/&gt;
2. Assuming we want to activate N tasks in the patch, I wouldn&apos;t expect batching the requests to change the time taken to activate N tasks that drastically, because it shouldn&apos;t change the total number of documents that need to be updated in total. This is just a best guess though, so experimental verification seems like a reasonable approach here as well.&lt;/p&gt;</comment>
                            <comment id="5575341" author="jeff.zambory" created="Tue, 18 Jul 2023 20:42:28 +0000"  >&lt;p&gt;That would likely be doable but I would like to learn more about how this might affect things. If we begin batching calls, we might wind up with some patches that are in a half activated state if some later calls fail. Which isn&apos;t the worst thing in the world but is definitely a weird state to be in.&lt;/p&gt;

&lt;p&gt;Some questions:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;What would be a good batching size to use here? How many tasks can we expect to activate in a &quot;timely&quot; manner at a time?&lt;/li&gt;
	&lt;li&gt;How would batching like this impact the overall runtime of the activation task? Is multiple round of batch calls going to cause the task to take on average a longer time?&lt;/li&gt;
&lt;/ol&gt;
</comment>
                            <comment id="5571140" author="kimberly.tao" created="Mon, 17 Jul 2023 16:01:29 +0000"  >&lt;p&gt;Is it a sufficient workaround to submit configure requests in batches rather than in one big request (as described in the thread)? This likely is not that easily fixable since it&apos;s a performance issue with patch configuration.&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>6.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 14 Jul 2023 17:22:55 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        27 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_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></customfieldvalue>

                        </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>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            27 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>jeff.zambory@mongodb.com</customfieldvalue>
            <customfieldvalue>kimberly.tao@mongodb.com</customfieldvalue>
            <customfieldvalue>memento@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i2hzjj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i21ahi:</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_22250" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Special Downgrade Instructions Required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="23343"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="7383">DAG 2023-08-07</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10555" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>
                        </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|i2hlov:</customfieldvalue>

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