<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:49:40 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-38682] Make writes to documents performed as part of chunk migrations visible in a change stream</title>
                <link>https://jira.mongodb.org/browse/SERVER-38682</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;This task is to allow a client connected directly to a shard server to open a change stream that observes migration-related document events, such as the local insertion or deletion of documents on a shard executed as part of the chunk migration and orphan cleanup processes.&lt;/p&gt;</description>
                <environment></environment>
        <key id="656297">SERVER-38682</key>
            <summary>Make writes to documents performed as part of chunk migrations visible in a change stream</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="evan.nixon@mongodb.com">Evan Nixon</assignee>
                                    <reporter username="evan.nixon@mongodb.com">Evan Nixon</reporter>
                        <labels>
                            <label>FTS</label>
                    </labels>
                <created>Tue, 18 Dec 2018 00:11:41 +0000</created>
                <updated>Sun, 29 Oct 2023 22:25:37 +0000</updated>
                            <resolved>Wed, 22 May 2019 23:56:26 +0000</resolved>
                                                    <fixVersion>4.1.12</fixVersion>
                                    <component>Querying</component>
                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>9</watches>
                                                                                                                <comments>
                            <comment id="2257265" author="xgen-internal-githook" created="Wed, 22 May 2019 23:50:32 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Evan Nixon&apos;, &apos;email&apos;: &apos;evan.nixon@10gen.com&apos;, &apos;username&apos;: &apos;navenoxin&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-38682&quot; title=&quot;Make writes to documents performed as part of chunk migrations visible in a change stream&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-38682&quot;&gt;&lt;del&gt;SERVER-38682&lt;/del&gt;&lt;/a&gt; Add option to show  writes to documents performed as part of chunk migrations in change streams&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/8cf664042e2cb74c12beaf37ef1a3fbe12d90b73&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/8cf664042e2cb74c12beaf37ef1a3fbe12d90b73&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2253998" author="evan.nixon" created="Tue, 21 May 2019 13:35:10 +0000"  >&lt;p&gt;A quick summary of the approach we are now discussing for this ticket:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Add undocumented option `showMigrationEvents`, false by default. When true, show migration events. This option is not supported for use by applications.&lt;/li&gt;
	&lt;li&gt;Consider it an error when option `showMigrationEvents` is set for change streams opened from mongos.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="2104793" author="evan.nixon" created="Thu, 3 Jan 2019 20:58:36 +0000"  >&lt;p&gt;Sorry to get back to this slowly and thank you for your clarifying questions and description update.&lt;/p&gt;

&lt;p&gt;I do believe that that accurately describe our use case. I think this is a workable issue for maintaining eventually consistent secondary structures (I think secondary structures should resolve to consistency on orphaned document cleanup).&lt;/p&gt;</comment>
                            <comment id="2095824" author="schwerin" created="Wed, 19 Dec 2018 15:15:13 +0000"  >&lt;p&gt;OK. Last clarification, below. If you&apos;re onboard, I&apos;ll update the description and maybe the summary to be a little more precise.&lt;/p&gt;

&lt;p&gt;Migration-related document insert events that in the oplog are speculative, and so would be in a simple implementation in changestreams as well. That is, documents in a chunk get inserted into the recipient before we know that the chunk migration will commit, so you&apos;ll see inserts sometimes that don&apos;t correspond to migrations that complete. In most cases, aborted migrations get cleaned up and so there will be corresponding delete events on the recipient. For maintaining eventually consistent indexes / secondary structures, this should be workable, and I think matches your use case. Does it?&lt;/p&gt;</comment>
                            <comment id="2095415" author="evan.nixon" created="Wed, 19 Dec 2018 05:16:15 +0000"  >&lt;p&gt;Sure thing, thanks &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=schwerin&quot; class=&quot;user-hover&quot; rel=&quot;schwerin&quot;&gt;schwerin&lt;/a&gt;. &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kevin.rosendahl&quot; class=&quot;user-hover&quot; rel=&quot;kevin.rosendahl&quot;&gt;kevin.rosendahl&lt;/a&gt; I think this accurately describes what we talked about as well:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;What chunk migration event do you wish to represent in the change stream? For example, do you want to see the chunk commit event or the individual document migration events?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Ideally we would see the individual document migration events.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;How do you wish to observe these changes? Should it be possible to expose them in the same stream that shows regular crud operations?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Ideally the events would look the same as and expose themselves in the same stream as regular crud operations.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Do you want this feature available for general use, in which case it would be exposed through a router, or for internal use by processes monitoring specific shards, in which case it would be exposed only through the monitored shard?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;We would only like this to be exposed through the monitored shard.&lt;/p&gt;</comment>
                            <comment id="2094314" author="schwerin" created="Tue, 18 Dec 2018 14:35:15 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=evan.nixon&quot; class=&quot;user-hover&quot; rel=&quot;evan.nixon&quot;&gt;evan.nixon&lt;/a&gt;, could you clarify this ticket, by answering the following questions?&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;What chunk migration event do you wish to represent in the change stream? For example, do you want to see the chunk commit event or the individual document migration events?&lt;/li&gt;
	&lt;li&gt;How do you wish to observe these changes? Should it be possible to expose them in the same stream that shows regular crud operations?&lt;/li&gt;
	&lt;li&gt;Do you want this feature available for general use, in which case it would be exposed through a router, or for internal use by processes monitoring specific shards, in which case it would be exposed only through the monitored shard?&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6.0</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 18 Dec 2018 14:35:15 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 38 weeks ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-1347</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>
                            4 years, 38 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>schwerin@mongodb.com</customfieldvalue>
            <customfieldvalue>evan.nixon@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|hugolj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr7kxb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="2790">Query 2019-03-25</customfieldvalue>
    <customfieldvalue id="2791">Query 2019-04-08</customfieldvalue>
    <customfieldvalue id="2792">Query 2019-04-22</customfieldvalue>
    <customfieldvalue id="2841">Query 2019-05-06</customfieldvalue>
    <customfieldvalue id="2842">Query 2019-05-20</customfieldvalue>
    <customfieldvalue id="2843">Query 2019-06-03</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|hugauv:</customfieldvalue>

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