<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:47:48 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-38045] Dump session catalog using GDB scripting</title>
                <link>https://jira.mongodb.org/browse/SERVER-38045</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Dumping lock manager will show idle transactions that are holding locks. It will be very helpful to also dump the sessions and their transaction participants to show the logical session id and transaction number that is holding the resources. &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-37406&quot; title=&quot;A stashed Locker should keep information about the owning transaction&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-37406&quot;&gt;&lt;del&gt;SERVER-37406&lt;/del&gt;&lt;/a&gt; will keep that information in the locker. However, dumping the session catalog is able to print more information, like buffered transaction operations and has no performance impact on production system.&lt;/p&gt;

&lt;p&gt;One solution is to implement a global function in C++ to dump session catalog. The concern is that it only works on live process and not on core dump. It runs on a live process so that other threads can also run to change the state as mentioned in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-28437&quot; title=&quot;Hang analyzer GDB module mongo_lock.py should use a memory based mechanism to discover the locks&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-28437&quot;&gt;&lt;del&gt;SERVER-28437&lt;/del&gt;&lt;/a&gt;. A better but harder solution is to examine the memory using GDB scripting, which avoids all those problems.&lt;/p&gt;</description>
                <environment></environment>
        <key id="631533">SERVER-38045</key>
            <summary>Dump session catalog using GDB scripting</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</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="william.schultz@mongodb.com">William Schultz</assignee>
                                    <reporter username="siyuan.zhou@mongodb.com">Siyuan Zhou</reporter>
                        <labels>
                    </labels>
                <created>Thu, 8 Nov 2018 23:50:17 +0000</created>
                <updated>Sun, 29 Oct 2023 22:26:41 +0000</updated>
                            <resolved>Tue, 11 Dec 2018 20:23:14 +0000</resolved>
                                                    <fixVersion>4.1.7</fixVersion>
                                    <component>Replication</component>
                    <component>Testing Infrastructure</component>
                                        <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="2098908" author="xgen-internal-githook" created="Fri, 21 Dec 2018 21:15:52 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;will62794&apos;, &apos;email&apos;: &apos;william.schultz@mongodb.com&apos;, &apos;name&apos;: &apos;William Schultz&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-38045&quot; title=&quot;Dump session catalog using GDB scripting&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-38045&quot;&gt;&lt;del&gt;SERVER-38045&lt;/del&gt;&lt;/a&gt; Remove dump sessions command from hang analyzer&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/fd29722a1460fe09daefc2ce74b6aa7b49168bc9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/fd29722a1460fe09daefc2ce74b6aa7b49168bc9&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2098800" author="xgen-internal-githook" created="Fri, 21 Dec 2018 19:38:18 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;will62794&apos;, &apos;email&apos;: &apos;william.schultz@mongodb.com&apos;, &apos;name&apos;: &apos;William Schultz&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-38045&quot; title=&quot;Dump session catalog using GDB scripting&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-38045&quot;&gt;&lt;del&gt;SERVER-38045&lt;/del&gt;&lt;/a&gt; Disable dumping of the SessionCatalog in the hang analyzer&lt;/p&gt;

&lt;p&gt;The recent change to utilize the abseil hash map for stdx::unordered_map breaks the logic used to unpack a LogicalSessionIdMap inside the mongod-dump-sessions GDB command. This commit disabled the command until a suitable workaround is found.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/23128892c8d73cb159b881cb00f2404d6ad67b2b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/23128892c8d73cb159b881cb00f2404d6ad67b2b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2097909" author="xgen-internal-githook" created="Thu, 20 Dec 2018 23:39:17 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;will62794&apos;, &apos;email&apos;: &apos;william.schultz@mongodb.com&apos;, &apos;name&apos;: &apos;William Schultz&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-38045&quot; title=&quot;Dump session catalog using GDB scripting&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-38045&quot;&gt;&lt;del&gt;SERVER-38045&lt;/del&gt;&lt;/a&gt; Only print fields from the Session if they exist&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/d504699a4baac29cb2877a9029a32fa0378df9a6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/d504699a4baac29cb2877a9029a32fa0378df9a6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2095955" author="xgen-internal-githook" created="Wed, 19 Dec 2018 16:33:16 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;will62794&apos;, &apos;email&apos;: &apos;william.schultz@mongodb.com&apos;, &apos;name&apos;: &apos;William Schultz&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-38045&quot; title=&quot;Dump session catalog using GDB scripting&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-38045&quot;&gt;&lt;del&gt;SERVER-38045&lt;/del&gt;&lt;/a&gt; Print &apos;_killsRequested&apos; variable instead of &apos;_killRequested&apos; when dumping SessionCatalog in GDB&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/265493e4c9a7b576cf51a25017148c0bea6d4b93&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/265493e4c9a7b576cf51a25017148c0bea6d4b93&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2087542" author="xgen-internal-githook" created="Tue, 11 Dec 2018 20:21:03 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;William Schultz&apos;, &apos;email&apos;: &apos;william.schultz@mongodb.com&apos;, &apos;username&apos;: &apos;will62794&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-38045&quot; title=&quot;Dump session catalog using GDB scripting&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-38045&quot;&gt;&lt;del&gt;SERVER-38045&lt;/del&gt;&lt;/a&gt; Add GDB tools for dumping the SessionCatalog in the hang analyzer&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/35da9daad146b3e497ff7c41ab56d563dd0c36e7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/35da9daad146b3e497ff7c41ab56d563dd0c36e7&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2062366" author="judah.schvimer" created="Wed, 14 Nov 2018 21:17:18 +0000"  >&lt;p&gt;From &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=max.hirschhorn&quot; class=&quot;user-hover&quot; rel=&quot;max.hirschhorn&quot;&gt;max.hirschhorn&lt;/a&gt;, this should be implemented as a custom gdb command and then added to the list of gdb commands hang_analyzer.py runs. The implementer should talk to &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=max.hirschhorn&quot; class=&quot;user-hover&quot; rel=&quot;max.hirschhorn&quot;&gt;max.hirschhorn&lt;/a&gt;, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jonathan.abrahams&quot; class=&quot;user-hover&quot; rel=&quot;jonathan.abrahams&quot;&gt;jonathan.abrahams&lt;/a&gt;, or &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=mark.benvenuto&quot; class=&quot;user-hover&quot; rel=&quot;mark.benvenuto&quot;&gt;mark.benvenuto&lt;/a&gt; for how to integrate with the hang analyzer.&lt;/p&gt;</comment>
                            <comment id="2056742" author="siyuan.zhou@10gen.com" created="Fri, 9 Nov 2018 00:33:03 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=william.schultz&quot; class=&quot;user-hover&quot; rel=&quot;william.schultz&quot;&gt;william.schultz&lt;/a&gt; wrote a GDB script to &lt;a href=&quot;https://gist.github.com/will62794/250880a40f718bb447b6c2ed25dac5e9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;print out the decorations&lt;/a&gt; and we have &lt;a href=&quot;https://github.com/mongodb/mongo/blob/aff889b39301472bd2143967938a3dba468dfc63/buildscripts/gdb/mongo_printers.py#L193&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;pretty printer for decorations&lt;/a&gt;. They can be a good starting point.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="367140">SERVER-28437</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="638251">SERVER-38249</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="590038">SERVER-36727</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="612231">SERVER-37406</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="679589">SERVER-39245</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="658031">SERVER-38706</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="660348">SERVER-38757</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="872856">SERVER-42371</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="664880">SERVER-38823</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="710195">SERVER-39969</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>7.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="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>Wed, 14 Nov 2018 21:17:18 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 7 weeks, 5 days 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>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 7 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
            <customfieldvalue>siyuan.zhou@mongodb.com</customfieldvalue>
            <customfieldvalue>william.schultz@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|huchlj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htz9dz:</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="2606">Repl 2018-12-03</customfieldvalue>
    <customfieldvalue id="2607">Repl 2018-12-17</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|huc3uv:</customfieldvalue>

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