<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:53:38 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-61909] Hang inserting or deleting document with large number of index entries</title>
                <link>https://jira.mongodb.org/browse/SERVER-61909</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Inserting a document that creates a large number of index entries can create a large amount of dirty data in a single transaction, causing it to be canceled and retried indefinitely, resulting in a hang.&lt;/p&gt;

&lt;p&gt;For example on a node with a 256 MB cache, create a text index then insert a document with a large string to be indexed, or equivalently a lot of terms to be indexed:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;function repro() {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    db.c.drop()&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    printjson(db.c.createIndex({x: &quot;text&quot;}))&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    &lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    doc = {x: []}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    for (var j = 0; j &amp;lt; 50000; j++)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;        doc.x.push(&quot;&quot; + Math.random() + Math.random())&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    for (var i = 0; i &amp;lt; 20; i++) {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;        start = new Date()&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;        db.c.insert(doc)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;        print(new Date() - start, &quot;ms&quot;)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;This will hang after a few documents, with high cache pressure, and the following emited repeatedly in the log:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{&quot;t&quot;:\{&quot;$date&quot;:&quot;2021-12-03T11:43:20.820-05:00&quot;},&quot;s&quot;:&quot;I&quot;, &quot;c&quot;:&quot;STORAGE&quot;, &quot;id&quot;:22430, &quot;ctx&quot;:&quot;conn21&quot;,&quot;msg&quot;:&quot;WiredTiger message&quot;,&quot;attr&quot;:\{&quot;message&quot;:&quot;oldest pinned transaction ID rolled back for eviction&quot;}}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;
&lt;p&gt;This will effectively make the server inoperational due to cache pressure. If it occurs on the secondaries they will stall because it will prevent completion of the current batch.&lt;/p&gt;

&lt;p&gt;This is a regression as these inserts complete successfully (even if somewhat slowly) in 4.2.&lt;/p&gt;

&lt;p&gt;I think this is related to &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-61454&quot; title=&quot;Change retry policy when txns are rolled back for eviction&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-61454&quot;&gt;&lt;del&gt;SERVER-61454&lt;/del&gt;&lt;/a&gt;, but I&apos;m opening this as a distinct ticket because&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;This is a somewhat different use case as the issue can be reliably created with single inserts.&lt;/li&gt;
	&lt;li&gt;I don&apos;t think the change described in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-61454&quot; title=&quot;Change retry policy when txns are rolled back for eviction&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-61454&quot;&gt;&lt;del&gt;SERVER-61454&lt;/del&gt;&lt;/a&gt; would apply here, as the insert is the only transaction running so delaying retries would have no effect, and the issue is not related to CPU resource starvation as far as I can tell.&lt;/li&gt;
	&lt;li&gt;It&apos;s not clear to me where the appropriate fix would lie - query layer, retry behavior, storage engine behavior.&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="1942264">SERVER-61909</key>
            <summary>Hang inserting or deleting document with large number of index entries</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="yujin.kang@mongodb.com">Yujin Kang Park</assignee>
                                    <reporter username="bruce.lucas@mongodb.com">Bruce Lucas</reporter>
                        <labels>
                    </labels>
                <created>Fri, 3 Dec 2021 17:10:06 +0000</created>
                <updated>Sun, 29 Oct 2023 21:45:20 +0000</updated>
                            <resolved>Tue, 22 Nov 2022 10:08:16 +0000</resolved>
                                                    <fixVersion>6.2.0-rc3</fixVersion>
                    <fixVersion>6.3.0-rc0</fixVersion>
                    <fixVersion>6.0.5</fixVersion>
                    <fixVersion>5.0.16</fixVersion>
                                                        <votes>0</votes>
                                    <watches>31</watches>
                                                                                                                <comments>
                            <comment id="5283969" author="xgen-internal-githook" created="Mon, 20 Mar 2023 09:04:48 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Yu Jin Kang Park&apos;, &apos;email&apos;: &apos;yujin.kang@mongodb.com&apos;, &apos;username&apos;: &apos;ykangpark&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-61909&quot; title=&quot;Hang inserting or deleting document with large number of index entries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-61909&quot;&gt;&lt;del&gt;SERVER-61909&lt;/del&gt;&lt;/a&gt; Abort operation if it cannot ever fit in WT cache&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 9ddbd3512044ca6508cb72d9a321391d45c18140)&lt;br/&gt;
Branch: v5.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/07cdae59ad2a613acc3a77e9491fa56ddcb78df3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/07cdae59ad2a613acc3a77e9491fa56ddcb78df3&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5170192" author="xgen-internal-githook" created="Mon, 6 Feb 2023 11:17:29 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Yu Jin Kang Park&apos;, &apos;email&apos;: &apos;yujin.kang@mongodb.com&apos;, &apos;username&apos;: &apos;ykangpark&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-61909&quot; title=&quot;Hang inserting or deleting document with large number of index entries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-61909&quot;&gt;&lt;del&gt;SERVER-61909&lt;/del&gt;&lt;/a&gt; Abort operation if it cannot ever fit in WT cache&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 9ddbd3512044ca6508cb72d9a321391d45c18140)&lt;br/&gt;
Branch: v6.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/05c9f930eaaae18b8abb7058aacc93fe0549aadf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/05c9f930eaaae18b8abb7058aacc93fe0549aadf&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5048526" author="xgen-internal-githook" created="Mon, 12 Dec 2022 18:22:31 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Yu Jin Kang Park&apos;, &apos;email&apos;: &apos;yujin.kang@mongodb.com&apos;, &apos;username&apos;: &apos;ykangpark&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-61909&quot; title=&quot;Hang inserting or deleting document with large number of index entries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-61909&quot;&gt;&lt;del&gt;SERVER-61909&lt;/del&gt;&lt;/a&gt; Fix transaction_too_large_for_cache.js to requires_fcv_62&lt;br/&gt;
Branch: v6.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5f3ed635a7232f47bdcc877ff75a0c5895f0625c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5f3ed635a7232f47bdcc877ff75a0c5895f0625c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5025224" author="xgen-internal-githook" created="Fri, 2 Dec 2022 14:46:34 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Yu Jin Kang Park&apos;, &apos;email&apos;: &apos;yujin.kang@mongodb.com&apos;, &apos;username&apos;: &apos;ykangpark&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-61909&quot; title=&quot;Hang inserting or deleting document with large number of index entries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-61909&quot;&gt;&lt;del&gt;SERVER-61909&lt;/del&gt;&lt;/a&gt; Abort operation if it cannot ever fit in WT cache&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 9ddbd3512044ca6508cb72d9a321391d45c18140)&lt;br/&gt;
Branch: v6.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/9ca8158531bf786e374275598cde7e972910827e&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/9ca8158531bf786e374275598cde7e972910827e&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4999964" author="JIRAUSER1265133" created="Tue, 22 Nov 2022 11:06:16 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-61909&quot; title=&quot;Hang inserting or deleting document with large number of index entries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-61909&quot;&gt;&lt;del&gt;SERVER-61909&lt;/del&gt;&lt;/a&gt; has been completed, and a non-retryable TransactionTooLargeForCache error been introduced. This error is thrown when a transaction rolls back and is found to be using a large portion (75% by default) of the total dirty cache. Since the dirty cache limit is 20% of the total cache, this means that the largest transactions may only occupy 15% of the total size of the storage engine cache. &lt;/p&gt;

&lt;p&gt;Some more details can be found here:&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/mongo/blob/master/src/mongo/db/catalog/README.md#transactiontoolargeforcacheexception&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/mongo/blob/master/src/mongo/db/catalog/README.md#transactiontoolargeforcacheexception&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4997932" author="xgen-internal-githook" created="Mon, 21 Nov 2022 18:15:05 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Yu Jin Kang Park&apos;, &apos;email&apos;: &apos;yujin.kang@mongodb.com&apos;, &apos;username&apos;: &apos;ykangpark&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-61909&quot; title=&quot;Hang inserting or deleting document with large number of index entries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-61909&quot;&gt;&lt;del&gt;SERVER-61909&lt;/del&gt;&lt;/a&gt; Abort operation if it cannot ever fit in WT cache&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/9ddbd3512044ca6508cb72d9a321391d45c18140&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/9ddbd3512044ca6508cb72d9a321391d45c18140&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4934725" author="JIRAUSER1265133" created="Fri, 28 Oct 2022 09:15:14 +0000"  >&lt;p&gt;Adding dependency on &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68739&quot; title=&quot;Add WiredTiger session statistic without affecting slow op statistics&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68739&quot;&gt;&lt;del&gt;SERVER-68739&lt;/del&gt;&lt;/a&gt;, as session statistics are reset after each operation within a multi-document transaction, checking the txn bytes dirty statistic on WT_ROLLBACK would report only the txn bytes dirty for the last operation, not the whole transaction.&lt;/p&gt;</comment>
                            <comment id="4841561" author="josef.ahmad" created="Tue, 20 Sep 2022 13:38:45 +0000"  >&lt;p&gt;I&apos;m going to re-evaluate this ticket once &lt;a href=&quot;https://jira.mongodb.org/browse/WT-9879&quot; title=&quot;Fix overcounting of session txn dirty bytes statistic&quot; class=&quot;issue-link&quot; data-issue-key=&quot;WT-9879&quot;&gt;&lt;del&gt;WT-9879&lt;/del&gt;&lt;/a&gt; is implemented, which should resolve a source of over-reporting in the API introduced by &lt;a href=&quot;https://jira.mongodb.org/browse/WT-8848&quot; title=&quot;Add API to roll back and indicate that a transaction has exceeded a configurable limit of pinned dirty data&quot; class=&quot;issue-link&quot; data-issue-key=&quot;WT-8848&quot;&gt;&lt;del&gt;WT-8848&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="4360774" author="josef.ahmad" created="Thu, 17 Feb 2022 07:15:10 +0000"  >&lt;p&gt;I&apos;m making this ticket dependent on &lt;a href=&quot;https://jira.mongodb.org/browse/WT-8848&quot; title=&quot;Add API to roll back and indicate that a transaction has exceeded a configurable limit of pinned dirty data&quot; class=&quot;issue-link&quot; data-issue-key=&quot;WT-8848&quot;&gt;&lt;del&gt;WT-8848&lt;/del&gt;&lt;/a&gt;, which proposes a guard-rail on the maximum amount of dirty data that can be pinned by a transaction and a specific code for rolling back due to exceeding that limit. This specific WT code will inform the server that the operation just won&apos;t fit in cache - and there&apos;s no point in retrying it - and will allow the server to return an informative MongoDB error code to the client (ExceededMemoryLimit may be a candidate). On secondaries, we might consider retrying internally with a slightly higher dirty data ceiling to cater for asymmetrically sized replica sets.&lt;/p&gt;</comment>
                            <comment id="4238533" author="bruce.lucas@10gen.com" created="Thu, 9 Dec 2021 13:34:07 +0000"  >&lt;p&gt;This can also occur deleting such a document.&lt;/p&gt;</comment>
                            <comment id="4230029" author="milkie" created="Fri, 3 Dec 2021 17:57:41 +0000"  >&lt;p&gt;Ultimately, the project to permit uncommitted writes to be evicted will solve this.  I don&apos;t have good ideas on how to avoid this problem in the interim, other than turning off or tuning the oldest-transaction-rolled-back behavior.  The issue here is that because that rollback behavior is asynchronous and non-deterministic, it allows situations where the transaction manages to commit on a primary node but the equivalent replicated transactions on secondaries always get rolled back.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="2140689">WT-9879</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2166333">WT-10027</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2111696">SERVER-68739</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1984817">WT-8848</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="2130230">SERVER-69480</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2191832">COMPASS-6311</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2191835">TOOLS-3223</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                                                <inwardlinks description="is documented by">
                                        <issuelink>
            <issuekey id="2191827">DOCS-15751</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                            <outwardlinks description="causes">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2199420">SERVER-71750</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2199427">SERVER-71751</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1911455">WT-8290</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1903239">SERVER-60839</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1924291">SERVER-61454</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>11.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25041"><![CDATA[v6.2]]></customfieldvalue>
    <customfieldvalue key="23470"><![CDATA[v6.0]]></customfieldvalue>
    <customfieldvalue key="21777"><![CDATA[v5.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_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[5002K00000zdp3bQAA, 5002K00000zeUHHQA2, 5002K000011gIsxQAE, 5002K000012RLKkQAO, 5006R00001l9RQWQA2, 5006R00001lQSGDQA4, 5006R00001lSNxvQAG, 5006R00001qlyPCQAY, 5006R00001qlcYNQAY, 5006R00001tt4TLQAY]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 3 Dec 2021 17:57:41 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        46 weeks, 2 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/WT-8848'>WT-8848</a></s>, <s><a href='https://jira.mongodb.org/browse/WT-9879'>WT-9879</a></s>, <s><a href='https://jira.mongodb.org/browse/WT-10027'>WT-10027</a></s>, <s><a href='https://jira.mongodb.org/browse/SERVER-68739'>SERVER-68739</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_17052" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Downstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>A new TransactionTooLargeForCache error has been introduced. This indicates that the transaction was rolled back due to cache pressure, and is unlikely to complete even if retried due to the cache being insufficient.&lt;br/&gt;
&lt;br/&gt;
The threshold at which this error is triggered can be modified with the transactionTooLargeForCacheThreshold, and setting it to 1.0 disables this behaviour. Basically, if the transaction accounts for more than 75% (default) total cache use and is rolled back, it is assumed that it is unlikely to complete.&lt;br/&gt;
&lt;br/&gt;
If the conditions are met, it may now be the case that a TransactionTooLargeForCache is thrown instead of a TemporarilyUnavailable or WriteConflict. &lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/mongo/blob/master/src/mongo/db/catalog/README.md#transactiontoolargeforcacheexception&quot;&gt;https://github.com/10gen/mongo/blob/master/src/mongo/db/catalog/README.md#transactiontoolargeforcacheexception&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16942"><![CDATA[Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-2881</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>
                            46 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>164.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>bruce.lucas@mongodb.com</customfieldvalue>
            <customfieldvalue>milkie@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>josef.ahmad@mongodb.com</customfieldvalue>
            <customfieldvalue>yujin.kang@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0d63z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i04voo:</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="6332">Execution Team 2022-10-17</customfieldvalue>
    <customfieldvalue id="6333">Execution Team 2022-10-31</customfieldvalue>
    <customfieldvalue id="6492">Execution Team 2022-11-14</customfieldvalue>
    <customfieldvalue id="6579">Execution Team 2022-11-28</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_17051" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Teams Impacted</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16943"><![CDATA[Cloud]]></customfieldvalue>
    <customfieldvalue key="16944"><![CDATA[Docs]]></customfieldvalue>
    <customfieldvalue key="16945"><![CDATA[Drivers]]></customfieldvalue>
    <customfieldvalue key="20960"><![CDATA[DBX: DevTools (Compass, Shell, VS Code Ext)]]></customfieldvalue>
    <customfieldvalue key="16946"><![CDATA[Triage and Release]]></customfieldvalue>
    <customfieldvalue key="20958"><![CDATA[Atlas Data Federation and Data Lake]]></customfieldvalue>
    <customfieldvalue key="20959"><![CDATA[Charts]]></customfieldvalue>
    <customfieldvalue key="25043"><![CDATA[Migrator]]></customfieldvalue>
    <customfieldvalue key="20961"><![CDATA[SQL Engines (Atlas SQL + BIC)]]></customfieldvalue>
    <customfieldvalue key="24662"><![CDATA[TAR (DB Tools, Mongomirror, Mongosync)]]></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|i0cs9b:</customfieldvalue>

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