<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:26:32 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-31281] TransactionReaper should use something other than lastWriteOpTimeTs for staleness</title>
                <link>https://jira.mongodb.org/browse/SERVER-31281</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The TransactionReaper mistakenly uses the time component of lastWriteOpTimeTs to notice transaction records over N minutes old (which we use to decide when transaction records are eligible for deletion due to a lack of a session record).&lt;/p&gt;

&lt;p&gt;We should flush an additional field to the transaction table which includes a wall clock time to compare against, as well as a redirecting the reaper to use that field for eligibility.&lt;/p&gt;</description>
                <environment></environment>
        <key id="433403">SERVER-31281</key>
            <summary>TransactionReaper should use something other than lastWriteOpTimeTs for staleness</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="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="kaloian.manassiev@mongodb.com">Kaloian Manassiev</assignee>
                                    <reporter username="randolph@mongodb.com">Randolph Tan</reporter>
                        <labels>
                    </labels>
                <created>Wed, 27 Sep 2017 00:26:30 +0000</created>
                <updated>Mon, 8 Jan 2024 15:23:08 +0000</updated>
                            <resolved>Thu, 26 Oct 2017 18:34:11 +0000</resolved>
                                    <version>3.5.13</version>
                                    <fixVersion>3.6.0-rc2</fixVersion>
                                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="1710403" author="xgen-internal-githook" created="Thu, 26 Oct 2017 18:32:26 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;kaloian.manassiev@mongodb.com&apos;, &apos;name&apos;: &apos;Kaloian Manassiev&apos;, &apos;username&apos;: &apos;kaloianm&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31281&quot; title=&quot;TransactionReaper should use something other than lastWriteOpTimeTs for staleness&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31281&quot;&gt;&lt;del&gt;SERVER-31281&lt;/del&gt;&lt;/a&gt; Use separate wallclock time to track the last use of a transaction&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/b5d1d9c4c0cfe0886cc65ef20327c51d79877a27&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/b5d1d9c4c0cfe0886cc65ef20327c51d79877a27&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1708587" author="xgen-internal-githook" created="Wed, 25 Oct 2017 15:39:44 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;judah@mongodb.com&apos;, &apos;name&apos;: &apos;Judah Schvimer&apos;, &apos;username&apos;: &apos;judahschvimer&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31281&quot; title=&quot;TransactionReaper should use something other than lastWriteOpTimeTs for staleness&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31281&quot;&gt;&lt;del&gt;SERVER-31281&lt;/del&gt;&lt;/a&gt; Use separate wallclock time to track the last use of a transaction&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit 0935d7067068b3cb62a802a8696dd39c8d7e1944.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/eadebad07fc0e7aa02d0b407f60af9bcf19fde16&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/eadebad07fc0e7aa02d0b407f60af9bcf19fde16&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1708468" author="kaloian.manassiev" created="Wed, 25 Oct 2017 14:23:01 +0000"  >&lt;p&gt;The backwards compatibility impact of this change is that unused sessions created in 3.6.0-RC0/RC1 won&apos;t be able to be cleaned up by a 3.6.0-RC2 instance or newer, due to a missing &lt;tt&gt;lastWriteDate&lt;/tt&gt; field.&lt;/p&gt;</comment>
                            <comment id="1708460" author="xgen-internal-githook" created="Wed, 25 Oct 2017 14:16:36 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;kaloian.manassiev@mongodb.com&apos;, &apos;name&apos;: &apos;Kaloian Manassiev&apos;, &apos;username&apos;: &apos;kaloianm&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31281&quot; title=&quot;TransactionReaper should use something other than lastWriteOpTimeTs for staleness&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31281&quot;&gt;&lt;del&gt;SERVER-31281&lt;/del&gt;&lt;/a&gt; Use separate wallclock time to track the last use of a transaction&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/0935d7067068b3cb62a802a8696dd39c8d7e1944&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/0935d7067068b3cb62a802a8696dd39c8d7e1944&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1705191" author="xgen-internal-githook" created="Fri, 20 Oct 2017 19:51:14 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;kaloian.manassiev@mongodb.com&apos;, &apos;name&apos;: &apos;Kaloian Manassiev&apos;, &apos;username&apos;: &apos;kaloianm&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31281&quot; title=&quot;TransactionReaper should use something other than lastWriteOpTimeTs for staleness&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31281&quot;&gt;&lt;del&gt;SERVER-31281&lt;/del&gt;&lt;/a&gt; Combine computeLatestTransactionTableRecords and fillWriterVectorsAndLastestSessionRecords&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/cb72da029c5ed5605977483524f803775e3b8953&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/cb72da029c5ed5605977483524f803775e3b8953&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1685684" author="jason.carey" created="Fri, 29 Sep 2017 21:02:11 +0000"  >&lt;p&gt;We can, but then we&apos;ll need another field that represents the wall clock time of the write&lt;/p&gt;</comment>
                            <comment id="1684308" author="kaloian.manassiev" created="Thu, 28 Sep 2017 15:13:00 +0000"  >&lt;p&gt;This is correct, the session cleanup code should not be looking into the &lt;tt&gt;config.transactions&lt;/tt&gt; collection at all. &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=mira.carey%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;mira.carey@mongodb.com&quot;&gt;mira.carey@mongodb.com&lt;/a&gt;, can we get rid of the part which checks the last write for a session? This value has no good wall clock meaning and cannot be used to gauge recency.&lt;/p&gt;</comment>
                            <comment id="1683676" author="schwerin" created="Wed, 27 Sep 2017 20:25:02 +0000"  >&lt;p&gt;Yeah, I think so. But what is the &quot;transaction reaper&quot;? I thought that cleanup was going to be driven by session expiration, handled by some component of the logical sessions system?&lt;/p&gt;</comment>
                            <comment id="1683148" author="renctan" created="Wed, 27 Sep 2017 14:55:06 +0000"  >&lt;p&gt;The field the reaper that the query is using is the oplog timestamp, which is directly co-related to the LogicalClock and not the wall clock time. Sounds like we might need a new field to store the wallclock time.&lt;/p&gt;</comment>
                            <comment id="1683007" author="schwerin" created="Wed, 27 Sep 2017 13:19:52 +0000"  >&lt;p&gt;Why? The logical clock cannot be safely used to measure the passage of wall time, and wall time is what determines when a transaction is old enough to real.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="449392">SERVER-31678</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="467687">SERVER-32159</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>10.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 27 Sep 2017 13:19:52 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        6 years, 15 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-31678'>SERVER-31678</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_14262" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>End date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 29 Sep 2017 00:00:00 +0000</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>
                            6 years, 15 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</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>schwerin@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>kaloian.manassiev@mongodb.com</customfieldvalue>
            <customfieldvalue>mira.carey@mongodb.com</customfieldvalue>
            <customfieldvalue>randolph@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htft6n:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|ht7lvr:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1927">Sharding 2017-10-23</customfieldvalue>
    <customfieldvalue id="1956">Sharding 2017-11-13</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_14261" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>Start date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 27 Sep 2017 00:00:00 +0000</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|htff9z:</customfieldvalue>

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