<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:22:43 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-50459] Include &quot;source&quot; field in error responses from mongos</title>
                <link>https://jira.mongodb.org/browse/SERVER-50459</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;When a mongos returns an error from a remote node there is no indication of where the error originated. This is requested by drivers, so that they can determine if the mongos is malfunctioning versus a mongod instance. This would also be helpful for debugging and administration purposes. Right now, when errors such as InterruptedAtShutdown are sent from a mongod node through mongos drivers will follow the sdam spec and disconnect from mongos when this isn&apos;t necessary.&lt;/p&gt;

&lt;p&gt;This ticket suggests creating a &quot;source&quot; field (or similarly named) for error responses that encodes this information.&lt;/p&gt;
</description>
                <environment></environment>
        <key id="1449124">SERVER-50459</key>
            <summary>Include &quot;source&quot; field in error responses from mongos</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</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-servicearch">Backlog - Service Architecture</assignee>
                                    <reporter username="lamont.nelson@mongodb.com">Lamont Nelson</reporter>
                        <labels>
                            <label>sa-remove-fv-backlog-22</label>
                    </labels>
                <created>Fri, 21 Aug 2020 18:29:16 +0000</created>
                <updated>Mon, 8 Jan 2024 15:23:18 +0000</updated>
                                                                                                <votes>3</votes>
                                    <watches>24</watches>
                                                                                                                <comments>
                            <comment id="3362232" author="jason.carey" created="Thu, 27 Aug 2020 15:06:59 +0000"  >&lt;p&gt;Bringing in another conversation I&apos;d had with &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=divjot.arora&quot; class=&quot;user-hover&quot; rel=&quot;divjot.arora&quot;&gt;divjot.arora&lt;/a&gt; about a possible option 3, which may be more palatable for backport:&lt;/p&gt;

&lt;p&gt;If:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;You see an error headed to a client that would cause an SDAM change or connection pool effect
	&lt;ul&gt;
		&lt;li&gt;Beyond the top level, we should also look for write errors and write concern errors&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;You are not shutting down&lt;br/&gt;
Then:&lt;/li&gt;
	&lt;li&gt;If that error is retryable, rewrite that error to be one of those listed in the &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.rst#other-transient-errors&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Other Transient Errors&lt;/a&gt; section of the sdam spec.  That will cause the underlying read or write to be retried, but without sdam or connection pool implications.&lt;/li&gt;
	&lt;li&gt;If that error is not retryable, rewrite that error to be something not mentioned in any of the sdam or retryability specs&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;And specifically for rewriting retrayble errors, I&apos;d go out of my way to only encode extra information in the message string.  The thing we&apos;d be aiming for there is to make sure that a driver would have no reason to regard the error as anomalous and to ensure that we get normal retry behavior.  Non-retryable errors we could be more flexible with, as we don&apos;t need the drivers to do anything beyond logging/reporting them as usual.&lt;/p&gt;

&lt;p&gt;The guess being that if you ever do see an error that would cause an sdam or connection pool change and you are not shutting down, that you must have received one of those errors remotely.  At least on a mongos (which doesn&apos;t have replication state changes).&lt;/p&gt;</comment>
                            <comment id="3361535" author="billy.donahue" created="Thu, 27 Aug 2020 02:30:33 +0000"  >&lt;p&gt;Lamont, that&apos;s kind of TBD depending on how we do with &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-50550&quot; title=&quot;Add source connection metadata to translated connection-relevant error codes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-50550&quot;&gt;SERVER-50550&lt;/a&gt;, which proposes adding metadata to whatever basic response comes out of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-50549&quot; title=&quot;Transform connection-related error codes in proxied commands&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-50549&quot;&gt;&lt;del&gt;SERVER-50549&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="3361422" author="lamont.nelson" created="Thu, 27 Aug 2020 00:27:23 +0000"  >&lt;p&gt;I&apos;m glad to see this was worked out. I was originally mentioning the hostname for the use case of debugging and thinking of &apos;status&apos; as a document containing multiple fields, but I&apos;m still curious about the trust model that we assume. For #2 above, will the original error information still be available as a sub-document or will this information only be encoded in the message string?&lt;/p&gt;</comment>
                            <comment id="3360869" author="billy.donahue" created="Wed, 26 Aug 2020 19:11:56 +0000"  >&lt;p&gt;The implementation of proposal (2) &quot;Overwrite proxied errors&quot; is &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-50549&quot; title=&quot;Transform connection-related error codes in proxied commands&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-50549&quot;&gt;&lt;del&gt;SERVER-50549&lt;/del&gt;&lt;/a&gt;, which I&apos;ll be starting work on.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="1453277">SERVER-50549</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1628382">DRIVERS-1571</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25132"><![CDATA[Service Arch]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[5002K00000nnUXNQA2, 5002K00000sdvetQAA]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 21 Aug 2020 18:50:47 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 23 weeks, 6 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/SERVER-50549'>SERVER-50549</a></s>]]></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>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            3 years, 23 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-servicearch</customfieldvalue>
            <customfieldvalue>billy.donahue@mongodb.com</customfieldvalue>
            <customfieldvalue>lamont.nelson@mongodb.com</customfieldvalue>
            <customfieldvalue>mira.carey@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hy1ktr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hxo6mn:</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_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|hy1733:</customfieldvalue>

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