<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:09:00 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>[DOCS-13896] Investigate changes in SERVER-51074: VectorClock is not gossiped correctly on newly started sessions</title>
                <link>https://jira.mongodb.org/browse/DOCS-13896</link>
                <project id="10380" key="DOCS">Documentation</project>
                    <description>&lt;h2&gt;&lt;a name=&quot;Description&quot;&gt;&lt;/a&gt;Description&lt;/h2&gt;

    &lt;div class=&quot;panel&quot; style=&quot;background-color: #c2d2c2;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width: 1px;background-color: #239eb0;&quot;&gt;&lt;b&gt;Downstream Change Summary&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #c2d2c2;&quot;&gt;
&lt;p&gt;    This changes adds the following two timestamp fields to the currentOp output:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&quot;command.$configTime&quot;&lt;/li&gt;
	&lt;li&gt;&quot;command.$topologyTime&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;h2&gt;&lt;a name=&quot;DescriptionofLinkedTicket&quot;&gt;&lt;/a&gt;Description of Linked Ticket&lt;/h2&gt;
&lt;p&gt;    In order to gossip the different components of the vector clock, we attach them to both commands requests and their replies before to send them over the wire. This is done by calling the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/9a2d87bdd45c5a89af147308e03121b0e4ef9a83/src/mongo/db/vector_clock.cpp#L332-L353&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;VectorClock::gossipOut()&lt;/a&gt; function.&lt;/p&gt;

&lt;p&gt;This function &lt;a href=&quot;https://github.com/mongodb/mongo/blob/9a2d87bdd45c5a89af147308e03121b0e4ef9a83/src/mongo/db/vector_clock.cpp#L338-L345&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;inspects the tags of the current session&lt;/a&gt; to decide which components of the vector clock will be gossiped. If no session is found &lt;a href=&quot;https://github.com/mongodb/mongo/blob/9a2d87bdd45c5a89af147308e03121b0e4ef9a83/src/mongo/db/vector_clock.cpp#L334&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;the default tags (passed to the function) &lt;/a&gt;will be used for this decision.&lt;/p&gt;

&lt;p&gt;Now the problem is that a session can exists but it can be still in the early &lt;a href=&quot;https://github.com/mongodb/mongo/blob/9a2d87bdd45c5a89af147308e03121b0e4ef9a83/src/mongo/transport/session.h#L86&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;kPending state&lt;/a&gt;, in such a case it won&apos;t have any of the other tags.&lt;/p&gt;

&lt;p&gt;This case it is not considered by the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/9a2d87bdd45c5a89af147308e03121b0e4ef9a83/src/mongo/db/vector_clock.cpp#L332-L353&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;VectorClock::gossipOut()&lt;/a&gt; function. In fact if a session in a pending state is found we always threat the communication as external and the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/9a2d87bdd45c5a89af147308e03121b0e4ef9a83/src/mongo/db/vector_clock.cpp#L334&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;the default tags (passed to the function)&lt;/a&gt; will be ignored.&lt;/p&gt;

&lt;p&gt;This results in the VectorClock components not being gossiped on all the newly started sessions.&lt;/p&gt;


&lt;h2&gt;&lt;a name=&quot;Scopeofchanges&quot;&gt;&lt;/a&gt;Scope of changes&lt;/h2&gt;

&lt;h2&gt;&lt;a name=&quot;ImpacttoOtherDocs&quot;&gt;&lt;/a&gt;Impact to Other Docs&lt;/h2&gt;

&lt;h2&gt;&lt;a name=&quot;MVP%28WorkandDate%29&quot;&gt;&lt;/a&gt;MVP (Work and Date)&lt;/h2&gt;

&lt;h2&gt;&lt;a name=&quot;Resources%28ScopeorDesignDocs%2CInvision%2Cetc.%29&quot;&gt;&lt;/a&gt;Resources (Scope or Design Docs, Invision, etc.)&lt;/h2&gt;
</description>
                <environment></environment>
        <key id="1486774">DOCS-13896</key>
            <summary>Investigate changes in SERVER-51074: VectorClock is not gossiped correctly on newly started sessions</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="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="ian.fogelman@mongodb.com">Ian Fogelman</assignee>
                                    <reporter username="backlog-server-pm">Backlog - Core Eng Program Management Team</reporter>
                        <labels>
                    </labels>
                <created>Thu, 24 Sep 2020 10:24:28 +0000</created>
                <updated>Mon, 13 Nov 2023 18:02:41 +0000</updated>
                            <resolved>Wed, 25 Aug 2021 17:19:22 +0000</resolved>
                                                    <fixVersion>4.8.0</fixVersion>
                    <fixVersion>Server_Docs_20231030</fixVersion>
                    <fixVersion>Server_Docs_20231106</fixVersion>
                    <fixVersion>Server_Docs_20231105</fixVersion>
                    <fixVersion>Server_Docs_20231113</fixVersion>
                                    <component>manual</component>
                    <component>Server</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="4022110" author="xgen-internal-githook" created="Wed, 25 Aug 2021 16:10:22 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;ian fogelman&apos;, &apos;email&apos;: &apos;ian.fogelman@mongodb.com&apos;, &apos;username&apos;: &apos;ianf-mongodb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-13896&quot; title=&quot;Investigate changes in SERVER-51074: VectorClock is not gossiped correctly on newly started sessions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-13896&quot;&gt;&lt;del&gt;DOCS-13896&lt;/del&gt;&lt;/a&gt; Added configTime and topologyTime with timestamp fields to Sharded cluster tab&lt;br/&gt;
Branch: v5.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/docs/commit/64931392330a259e278f95c1edc93742f10d4a8f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/docs/commit/64931392330a259e278f95c1edc93742f10d4a8f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4022109" author="xgen-internal-githook" created="Wed, 25 Aug 2021 16:10:12 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;ian fogelman&apos;, &apos;email&apos;: &apos;ian.fogelman@mongodb.com&apos;, &apos;username&apos;: &apos;ianf-mongodb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-13896&quot; title=&quot;Investigate changes in SERVER-51074: VectorClock is not gossiped correctly on newly started sessions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-13896&quot;&gt;&lt;del&gt;DOCS-13896&lt;/del&gt;&lt;/a&gt; Added configTime and topologyTime with timestamp fields to Sharded cluster tab&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/docs/commit/a0456e8961f8605bc3ade53a1c87da74e82bfb28&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/docs/commit/a0456e8961f8605bc3ade53a1c87da74e82bfb28&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3975873" author="tommaso.tocci" created="Mon, 2 Aug 2021 16:37:10 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=ian.fogelman&quot; class=&quot;user-hover&quot; rel=&quot;ian.fogelman&quot;&gt;ian.fogelman&lt;/a&gt; those fields will be only present in $currentOp results of a sharded cluster. Are you sure you are sending the $currentOp aggregation to a sharded cluster rather than a resplica set / standalone mongod ?&lt;/p&gt;</comment>
                            <comment id="3975747" author="JIRAUSER1260683" created="Mon, 2 Aug 2021 15:56:44 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=tommaso.tocci&quot; class=&quot;user-hover&quot; rel=&quot;tommaso.tocci&quot;&gt;tommaso.tocci&lt;/a&gt; , I tried the aggregation pipeline version of currentOps, I am still not seeing the additional time stamps referenced. Here is my latest attempt, see attached &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/attachment/327986/327986_CurrentOpAgg.json&quot; title=&quot;CurrentOpAgg.json attached to DOCS-13896&quot;&gt;CurrentOpAgg.json&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.mongodb.org/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; for output:&lt;/p&gt;

&lt;p&gt;pipeline = &lt;a href=&quot;file://{ &amp;quot;$currentOp&amp;quot; : {}}&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;\\{ &quot;$currentOp&quot; : {}}&lt;/a&gt; &lt;br/&gt;
 limited_aggregation = admin.aggregate( pipeline )&lt;br/&gt;
 print(dumps(limited_aggregation, indent=2))&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;The only timestamps I see are &quot;currentOpTime&quot;.&lt;/p&gt;</comment>
                            <comment id="3968322" author="tommaso.tocci" created="Wed, 28 Jul 2021 15:48:54 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=ian.fogelman&quot; class=&quot;user-hover&quot; rel=&quot;ian.fogelman&quot;&gt;ian.fogelman&lt;/a&gt; I&apos;m not sure how the currentOp helper is implemented in mongosh, so would you mind trying directly with the $currentOp aggregation stage?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                            <outwardlinks description="documents">
                                        <issuelink>
            <issuekey id="1482145">SERVER-51074</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="327986" name="CurrentOpAgg.json" size="4649" author="ian.fogelman@mongodb.com" created="Mon, 2 Aug 2021 15:55:34 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 27 Jul 2021 19:05:32 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 24 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_14876" key="com.atlassian.jira.plugin.system.customfieldtypes:userpicker">
                        <customfieldname>Docs Reviewer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>jeffrey.allen@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>DOCSP-9747</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_14873" key="com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker">
                        <customfieldname>External Reviewer</customfieldname>
                        <customfieldvalues>
                                    <customfieldvalue><![CDATA[tommaso.tocci@mongodb.com]]></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>emet.ozar@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            2 years, 24 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-pm</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>ian.fogelman@mongodb.com</customfieldvalue>
            <customfieldvalue>tommaso.tocci@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hy7z2f:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hykpmn:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="4883">ServerDocs2020: Mar30 -  Apr06</customfieldvalue>
    <customfieldvalue id="4909">ServerDocs2020: Apr6 -  Apr13</customfieldvalue>
    <customfieldvalue id="4925">ServerDocs2020: Apr13 -  Apr20</customfieldvalue>
    <customfieldvalue id="4949">ServerDocs2020: Apr20 -  Apr27</customfieldvalue>
    <customfieldvalue id="4977">ServerDocs2020: Apr27 -  May4</customfieldvalue>
    <customfieldvalue id="5002">ServerDocs2020: May4 -  May11</customfieldvalue>
    <customfieldvalue id="5045">ServerDocs2020: May11 -  May18</customfieldvalue>
    <customfieldvalue id="5061">ServerDocs2020: May18 -  May25</customfieldvalue>
    <customfieldvalue id="5099">ServerDocs2020: May25 -  Jun1</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10555" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.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_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hy7lbr:</customfieldvalue>

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