<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:13:18 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[DOCS-15586] [Server] Improve NaN-handling for expireAfterSeconds TTL index parameter</title>
                <link>https://jira.mongodb.org/browse/DOCS-15586</link>
                <project id="10380" key="DOCS">Documentation</project>
                    <description>&lt;p&gt;From:  Investigate changes in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68477&quot; title=&quot;Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68477&quot;&gt;&lt;del&gt;SERVER-68477&lt;/del&gt;&lt;/a&gt;: &lt;/p&gt;

&lt;hr /&gt;

    &lt;div class=&quot;panel&quot; style=&quot;background-color: #c2d2c2;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width: 1px;background-color: #239eb0;&quot;&gt;&lt;b&gt;Original Downstream Change Summary&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #c2d2c2;&quot;&gt;
&lt;p&gt;    This is a good opportunity to review/clarify &lt;tt&gt;expireAfterSeconds&lt;/tt&gt; in the docs:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://www.mongodb.com/docs/v5.0/tutorial/expire-data/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.mongodb.com/docs/v5.0/tutorial/expire-data/&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://www.mongodb.com/docs/v5.0/reference/method/db.collection.createIndex/#options-for-all-index-types&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.mongodb.com/docs/v5.0/reference/method/db.collection.createIndex/#options-for-all-index-types&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://www.mongodb.com/docs/v6.0/reference/command/collMod/#index-options&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.mongodb.com/docs/v6.0/reference/command/collMod/#index-options&lt;/a&gt;
&lt;h2&gt;&lt;a name=&quot;DescriptionofLinkedTicket&quot;&gt;&lt;/a&gt;Description of Linked Ticket&lt;/h2&gt;
&lt;p&gt;    &#8203;&#8203;&lt;div class=&quot;panel&quot; style=&quot;background-color: #eeeeee;border-color: #cccccc;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-color: #cccccc;background-color: #6cb33f;&quot;&gt;&lt;b&gt;Issue Status as of Aug 11, 2022&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;
&lt;b&gt;ISSUE DESCRIPTION AND IMPACT&lt;/b&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;In MongoDB 4.4 and earlier, TTL indexes with an &lt;tt&gt;expireAfterSeconds&lt;/tt&gt; value of &lt;tt&gt;NaN&lt;/tt&gt; (not-a-number) were functional as indexes for queries but did not expire any documents. When such a config is in place, the following error is logged by MongoDB 4.2 and 4.4 primary replica set nodes:&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;2022-08-05T21:00:00.000+0000 E  INDEX    [TTLMonitor] Error processing ttl index: { v: 2, key: { created: 1 }, name: &quot;created_1&quot;, ns: &quot;dbname.collname&quot;, expireAfterSeconds: nan.0, background: true } -- DurationOverflow: Cannot negate the minimum duration&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;In MongoDB 5.0 and 6.0, as part of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-56676&quot; title=&quot;improve handling of large/NaN values for expireAfterSeconds TTL index option&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-56676&quot;&gt;&lt;del&gt;SERVER-56676&lt;/del&gt;&lt;/a&gt;, TTL indexes began treating &lt;tt&gt;NaN&lt;/tt&gt; as 0, and the &lt;tt&gt;listIndexes&lt;/tt&gt; command necessary for initial syncs and &lt;tt&gt;mongodump&lt;/tt&gt; backups began returning 0 instead of &lt;tt&gt;NaN&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Because of this change in unspecified behavior, when a TTL index with this improper configuration exists, the following can trigger the sudden expiration of TTL-indexed documents in a collection:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;On MongoDB 4.4, when:
	&lt;ul&gt;
		&lt;li&gt;upgrading to MongoDB 5.0&lt;/li&gt;
		&lt;li&gt;initially syncing from a 5.0 or 6.0 node&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;On MongoDB 4.2, when initially syncing from a 5.0 or 6.0 node&lt;/li&gt;
	&lt;li&gt;On MongoDB 5.0 or 6.0
	&lt;ul&gt;
		&lt;li&gt;When restoring from a mongodump of a 4.2 or 4.4 collection that has a TTL configured with &lt;tt&gt;expireAfterSeconds: NaN&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;When initially syncing from a version 4.2 or 4.4 node that has a TTL configured with &lt;tt&gt;expireAfterSeconds: NaN&lt;/tt&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;WORKAROUNDS AND REMEDIATION&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;In general, avoid this issue by avoiding &lt;tt&gt;expireAfterSeconds: NaN&lt;/tt&gt; as a configuration and correct this config anywhere it exists.&lt;/p&gt;

&lt;p&gt;The following script for the &lt;tt&gt;mongosh&lt;/tt&gt; shell reports any TTL indexes with an &lt;tt&gt;expireAfterSeconds: NaN&lt;/tt&gt; configuration:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; Do not use the legacy &lt;tt&gt;mongo&lt;/tt&gt; shell for this operation.&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 getNaNIndexes() {&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;  const nan_idx = [];&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;  const dbs = db.adminCommand({ listDatabases: 1 }).databases;&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;  dbs.forEach((d) =&amp;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;    const listCollCursor = db&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;      .getSiblingDB(d.name)&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;      .runCommand({ listCollections: 1 }).cursor;&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;    const collDetails = {&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: listCollCursor.ns.split(&quot;.$cmd&quot;)[0],&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;      colls: listCollCursor.firstBatch.map((c) =&amp;gt; c.name),&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;&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;    collDetails.colls.forEach((c) =&amp;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;      db&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;        .getSiblingDB(collDetails.db)&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;        .getCollection(c)&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;        .getIndexes()&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;        .forEach((entry) =&amp;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;          if (Object.is(entry.expireAfterSeconds, NaN)) {&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;            nan_idx.push({ ns: `${collDetails.db}.${c}`, index: entry });&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;   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;   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;  return nan_idx;&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;getNaNIndexes();&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;Once identified, correct any TTL indexes with the &lt;tt&gt;expireAfterSeconds: NaN&lt;/tt&gt; configuration and establish an unambiguous, valid configuration with a specified behavior. The &lt;a href=&quot;https://www.mongodb.com/docs/manual/reference/command/collMod/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;collMod&lt;/a&gt; command allows you to modify the &lt;tt&gt;expireAfterSeconds&lt;/tt&gt; value for an existing index.&lt;/p&gt;

&lt;p&gt;MongoDB intends to help protect against this behavior change by:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;In this ticket, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68477&quot; title=&quot;Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68477&quot;&gt;&lt;del&gt;SERVER-68477&lt;/del&gt;&lt;/a&gt;, future MongoDB 5.0 and 6.0 versions will render badly configured TTL indexes ineffective, rather than applying a meaning of &lt;tt&gt;expireAfterSeconds: 0&lt;/tt&gt; to these indexes.&lt;/li&gt;
	&lt;li&gt;Releasing &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68522&quot; title=&quot;Prevent 5.0 binary from starting in FCV 4.4 with misconfigured TTL index&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68522&quot;&gt;&lt;del&gt;SERVER-68522&lt;/del&gt;&lt;/a&gt; in MongoDB 5.0.11. With this fix, MongoDB 5.0.11+ will refuse to start if a TTL index with &lt;tt&gt;expireAfterSeconds: NaN&lt;/tt&gt; exists, to ensure that the normal upgrade path from 4.4 is protected from this unexpected change in behavior. See &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68522&quot; title=&quot;Prevent 5.0 binary from starting in FCV 4.4 with misconfigured TTL index&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68522&quot;&gt;&lt;del&gt;SERVER-68522&lt;/del&gt;&lt;/a&gt; for additional details.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;h6&gt;&lt;a name=&quot;Originaldescription&quot;&gt;&lt;/a&gt;Original description&lt;/h6&gt;

&lt;p&gt;Currently listIndexes, and subsequently initial sync, do not properly handle NaN values for expireAfterSeconds. This can result in unexpected TTL behavior, especially when upgrading from MongoDB 4.4 to MongoDB 5.0 or when migrating earlier index definitions to MongoDB 5.0 or 6.0.&lt;/p&gt;
</description>
                <environment></environment>
        <key id="2125111">DOCS-15586</key>
            <summary>[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="dave.cuthbert@mongodb.com">Dave Cuthbert</assignee>
                                    <reporter username="backlog-server-pm">Backlog - Core Eng Program Management Team</reporter>
                        <labels>
                    </labels>
                <created>Tue, 30 Aug 2022 01:44:27 +0000</created>
                <updated>Mon, 13 Nov 2023 17:38:58 +0000</updated>
                            <resolved>Wed, 30 Nov 2022 06:25:35 +0000</resolved>
                                                    <fixVersion>6.0.2</fixVersion>
                    <fixVersion>6.2.0-rc0</fixVersion>
                    <fixVersion>6.1.0-rc1</fixVersion>
                    <fixVersion>5.0.14</fixVersion>
                    <fixVersion>Server_Docs_20231030</fixVersion>
                    <fixVersion>Server_Docs_20231106</fixVersion>
                    <fixVersion>Server_Docs_20231105</fixVersion>
                    <fixVersion>Server_Docs_20231113</fixVersion>
                                    <component>manual</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="5049622" author="xgen-internal-githook" created="Mon, 12 Dec 2022 23:05:29 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Dave Cuthbert&apos;, &apos;email&apos;: &apos;69165704+davemungo@users.noreply.github.com&apos;, &apos;username&apos;: &apos;davemungo&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; expireAfterSeconds  (#2136)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; expireAfterSeconds&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; expireAfterSeconds&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Upstream doc updated&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Staging updates&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;br/&gt;
Branch: indexes-refactor&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/docs-mongodb-internal/commit/057143944b60b77d6b48c6ee0fd6938e9432aebe&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/docs-mongodb-internal/commit/057143944b60b77d6b48c6ee0fd6938e9432aebe&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="5016847" author="xgen-internal-githook" created="Tue, 29 Nov 2022 21:54:27 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Dave Cuthbert&apos;, &apos;email&apos;: &apos;69165704+davemungo@users.noreply.github.com&apos;, &apos;username&apos;: &apos;davemungo&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; Backport (#2204)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; expireAfterSeconds  (#2136)&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; expireAfterSeconds&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; expireAfterSeconds&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Upstream doc updated&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Staging updates&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; BACKPORT&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; BACKPORT&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; BACKPORT&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; BACKPORT&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; BACKPORT&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; BACKPORT&lt;br/&gt;
Branch: v5.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/docs-mongodb-internal/commit/9ddbb9643caab9df8c45ec5c9ba655408e3a639c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/docs-mongodb-internal/commit/9ddbb9643caab9df8c45ec5c9ba655408e3a639c&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="5016829" author="xgen-internal-githook" created="Tue, 29 Nov 2022 21:53:52 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Dave Cuthbert&apos;, &apos;email&apos;: &apos;69165704+davemungo@users.noreply.github.com&apos;, &apos;username&apos;: &apos;davemungo&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; expireAfterSeconds  (#2136) (#2203)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; expireAfterSeconds&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; expireAfterSeconds&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Upstream doc updated&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Staging updates&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;br/&gt;
Branch: v6.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/docs-mongodb-internal/commit/17ec7d3dbd2c00de3a67f1564f20d2ee76346061&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/docs-mongodb-internal/commit/17ec7d3dbd2c00de3a67f1564f20d2ee76346061&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="5013269" author="xgen-internal-githook" created="Mon, 28 Nov 2022 22:36:46 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Dave Cuthbert&apos;, &apos;email&apos;: &apos;69165704+davemungo@users.noreply.github.com&apos;, &apos;username&apos;: &apos;davemungo&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; expireAfterSeconds  (#2136)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; expireAfterSeconds&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15586&quot; title=&quot;[Server] Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15586&quot;&gt;&lt;del&gt;DOCS-15586&lt;/del&gt;&lt;/a&gt; expireAfterSeconds&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Upstream doc updated&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Staging updates&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/docs-mongodb-internal/commit/057143944b60b77d6b48c6ee0fd6938e9432aebe&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/docs-mongodb-internal/commit/057143944b60b77d6b48c6ee0fd6938e9432aebe&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="4998429" author="eric.sedor" created="Mon, 21 Nov 2022 20:24:37 +0000"  >&lt;p&gt;Thanks for catching this, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=dave.cuthbert%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;dave.cuthbert@mongodb.com&quot;&gt;dave.cuthbert@mongodb.com&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;The missing phrase in my comment above was &quot;initial sync&quot;; that is present on &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68477&quot; title=&quot;Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68477&quot;&gt;&lt;del&gt;SERVER-68477&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;The &quot;exception&quot; addition in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68477&quot; title=&quot;Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68477&quot;&gt;&lt;del&gt;SERVER-68477&lt;/del&gt;&lt;/a&gt; should indeed have included 4.4 and I&apos;ve added that.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This exception refers to a &quot;non-standard&quot; &lt;b&gt;downgrade&lt;/b&gt; path where you start a new node on 4.2/4.4 and add it to an otherwise 5.0/6.0 replica set (rather than downgrading binaries in place on existing replica set nodes). Does that clarify? FWIW I would suggest against documenting this path in detail as it&apos;s not our recommended downgrade method even in the absence of bugs.&lt;/p&gt;
</comment>
                            <comment id="4994161" author="eric.sedor" created="Fri, 18 Nov 2022 20:19:49 +0000"  >&lt;p&gt;Commenting here at &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=dave.cuthbert%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;dave.cuthbert@mongodb.com&quot;&gt;dave.cuthbert@mongodb.com&lt;/a&gt;&apos;s request:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68477&quot; title=&quot;Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68477&quot;&gt;&lt;del&gt;SERVER-68477&lt;/del&gt;&lt;/a&gt; is the authoritative source of the current state of the system around this bug. The changes we made recently as part of STAR-3043 relate to quantifying the exact versions on which to expect different behaviors. Generally, where we said &quot;5.0 or 6.0&quot; before we knew when &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68477&quot; title=&quot;Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68477&quot;&gt;&lt;del&gt;SERVER-68477&lt;/del&gt;&lt;/a&gt;  would land,  we now say &quot;5.0.0-5.0.13 or 6.0.0-6.0.1&quot;. This is because of how &lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68477&quot; title=&quot;Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68477&quot;&gt;&lt;del&gt;SERVER-68477&lt;/del&gt;&lt;/a&gt; changed behavior in 5.0.14 and 6.0.2.&lt;/p&gt;

&lt;p&gt;The notable exception to this is that we also added the &quot;Now that this issue is addressed, the following case may still present concern...&quot; section in the updated green summary box on &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68477&quot; title=&quot;Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68477&quot;&gt;&lt;del&gt;SERVER-68477&lt;/del&gt;&lt;/a&gt;. This covers what happens when you a initial sync a 4.2 node from a 5.0.14+/6.0.2+ node.&lt;/p&gt;

&lt;p&gt;Hopefully this makes sense!&lt;/p&gt;</comment>
                            <comment id="4898582" author="edu.bot" created="Wed, 12 Oct 2022 17:06:02 +0000"  >&lt;p&gt;&lt;em&gt;Fix Version updated for upstream &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68477&quot; title=&quot;Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68477&quot;&gt;&lt;del&gt;SERVER-68477&lt;/del&gt;&lt;/a&gt;:&lt;/em&gt; &lt;br/&gt;
6.0.2, 6.1.0-rc1, 6.2.0-rc0, 5.0.14&lt;/p&gt;</comment>
                            <comment id="4818517" author="edu.bot" created="Mon, 12 Sep 2022 13:04:34 +0000"  >&lt;p&gt;&lt;em&gt;Fix Version updated for upstream &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68477&quot; title=&quot;Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68477&quot;&gt;&lt;del&gt;SERVER-68477&lt;/del&gt;&lt;/a&gt;:&lt;/em&gt; &lt;br/&gt;
6.0.2, 6.1.0-rc1, 6.2.0-rc0&lt;/p&gt;</comment>
                            <comment id="4791574" author="edu.bot" created="Wed, 31 Aug 2022 13:16:37 +0000"  >&lt;p&gt;&lt;em&gt;Fix Version updated for upstream &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68477&quot; title=&quot;Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68477&quot;&gt;&lt;del&gt;SERVER-68477&lt;/del&gt;&lt;/a&gt;:&lt;/em&gt; &lt;br/&gt;
6.1.0-rc1, 6.2.0-rc0&lt;/p&gt;</comment>
                            <comment id="4785822" author="edu.bot" created="Tue, 30 Aug 2022 01:44:32 +0000"  >&lt;p&gt;&lt;em&gt;Fix Version updated for upstream &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-68477&quot; title=&quot;Improve NaN-handling for expireAfterSeconds TTL index parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-68477&quot;&gt;&lt;del&gt;SERVER-68477&lt;/del&gt;&lt;/a&gt;:&lt;/em&gt; &lt;br/&gt;
6.2.0-rc0&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                        <issuelink>
            <issuekey id="2133866">DOCS-15623</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="2157767">DOCS-15676</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                            <outwardlinks description="documents">
                                        <issuelink>
            <issuekey id="2104134">SERVER-68477</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_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 30 Aug 2022 01:44:32 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 8 weeks, 2 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_14876" key="com.atlassian.jira.plugin.system.customfieldtypes:userpicker">
                        <customfieldname>Docs Reviewer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ashley.brown@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_17052" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Downstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>This is a good opportunity to review/clarify {{expireAfterSeconds}} in the docs:&lt;br/&gt;
* &lt;a href=&quot;https://www.mongodb.com/docs/v5.0/tutorial/expire-data/&quot;&gt;https://www.mongodb.com/docs/v5.0/tutorial/expire-data/&lt;/a&gt;&lt;br/&gt;
* &lt;a href=&quot;https://www.mongodb.com/docs/v5.0/reference/method/db.collection.createIndex/#options-for-all-index-types&quot;&gt;https://www.mongodb.com/docs/v5.0/reference/method/db.collection.createIndex/#options-for-all-index-types&lt;/a&gt;&lt;br/&gt;
* &lt;a href=&quot;https://www.mongodb.com/docs/v6.0/reference/command/collMod/#index-options&quot;&gt;https://www.mongodb.com/docs/v6.0/reference/command/collMod/#index-options&lt;/a&gt;</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>DOCSP-22091</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_14873" key="com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker">
                        <customfieldname>External Reviewer</customfieldname>
                        <customfieldvalues>
                                    <customfieldvalue><![CDATA[benety.goh@mongodb.com]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>emet.ozar@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            1 year, 8 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-pm</customfieldvalue>
            <customfieldvalue>dave.cuthbert@mongodb.com</customfieldvalue>
            <customfieldvalue>edu.bot</customfieldvalue>
            <customfieldvalue>eric.sedor@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i1895r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0r04g:</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_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i17vb3:</customfieldvalue>

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