<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:02:51 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-11460] Use transaction terminology for Change Streams full_document behavior </title>
                <link>https://jira.mongodb.org/browse/DOCS-11460</link>
                <project id="10380" key="DOCS">Documentation</project>
                    <description>&lt;p&gt;Clarify the transaction isolation level used with the full_document option in MongoDB 4.0 and later. &lt;/p&gt;

&lt;p&gt;This would indicate that the full document lookup is done in a new transaction &lt;span class=&quot;error&quot;&gt;&amp;#91;context&amp;#93;&lt;/span&gt; using local read-committed isolation (+ writeConcern:majority), so it will always return the latest committed (and durable) version of the document. &lt;a href=&quot;https://docs.mongodb.com/manual/changeStreams/#lookup-full-document-for-update-operations&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;We do explain this today&lt;/a&gt;, but IMO it could be more clear in a transactional context for 4.0+ (mostly about language and terminology).  &lt;/p&gt;

&lt;p&gt;I think that the average user will naturally expect full_document to operate on the same snapshot as the actual update (a single transaction operating in repeatable-read/snapshot isolation for the write and read, as a typical trigger would), so we probably can&apos;t be &lt;b&gt;too&lt;/b&gt; clear on this. &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="511918">DOCS-11460</key>
            <summary>Use transaction terminology for Change Streams full_document behavior </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="12300">Won&apos;t Do</resolution>
                                        <assignee username="kay.kim@mongodb.com">Kay Kim</assignee>
                                    <reporter username="matt.lord">Matt Lord</reporter>
                        <labels>
                    </labels>
                <created>Thu, 15 Mar 2018 16:57:16 +0000</created>
                <updated>Mon, 30 Oct 2023 21:00:40 +0000</updated>
                                            <version>4.0 Core Server</version>
                                    <fixVersion>Server_Docs_20231030</fixVersion>
                                    <component>change stream</component>
                    <component>manual</component>
                    <component>Server</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="4940607" author="edu.bot" created="Mon, 31 Oct 2022 16:08:02 +0000"  >&lt;p&gt;Hello! This ticket has been closed due to inactivity. If you believe this ticket is still important, please reopen it and leave a comment to explain why. Thank you!&lt;/p&gt;</comment>
                            <comment id="1835449" author="charlie.swanson" created="Thu, 15 Mar 2018 19:19:34 +0000"  >&lt;p&gt;Ok - this argument makes sense. I would just push to clearly separate when we are referring to &quot;what most people think of as a transaction&quot; and &quot;A MongoDB Transaction&quot;. I think you&apos;ve convinced me that someone unfamiliar with MongoDB would find it easier to reason about the update lookup if we mentioned it was a separate operation or transaction. However, if we use the same or similar terms to the MongoDB terms we risk confusing someone who is only familiar with MongoDB.&lt;/p&gt;</comment>
                            <comment id="1835191" author="matt.lord" created="Thu, 15 Mar 2018 17:22:20 +0000"  >&lt;p&gt;There&apos;s a difference between:&lt;br/&gt;
 1. What makes sense to someone deeply embedded in the MongoDB space&lt;br/&gt;
 2. What makes sense to someone familiar with databases in general  &lt;/p&gt;

&lt;p&gt;IMO, we are trying to attract #2 by adding support for transactions. We&apos;re going after the larger database market, which consists of database users. Transactions are a basic feature that many database users just expect &amp;#8211; you don&apos;t do anything outside of a transaction (context), otherwise it&apos;s &quot;chaos&quot;. I don&apos;t expect #1 to really require much of anything in the way of docs, but #2 certainly does.&lt;/p&gt;

&lt;p&gt;It&apos;s of course up to you, I&apos;m just trying to provide the viewpoint an average database user would have when examining MongoDB as a potential database choice, or the Change Streams feature as a viable Change-Data-Capture implementation. They don&apos;t need to know the internal implementation details &amp;#8211; e.g. &quot;&lt;/p&gt;
{level: &quot;majority&quot;, afterClusterTime: &amp;lt;time of change&amp;gt;}
&lt;p&gt;&quot; &amp;#8211; they just need to understand how the feature works in language they understand. &lt;/p&gt;</comment>
                            <comment id="1835177" author="charlie.swanson" created="Thu, 15 Mar 2018 17:15:26 +0000"  >&lt;p&gt;I would encourage any clarification that would make it more obvious, but your proposed wording is weird to me. Change streams are not run in a &quot;transaction&quot; or &quot;context&quot;. You are not allowed to open a change stream within a transaction in the 4.0+ sense, and I&apos;m not sure &quot;context&quot; is a meaningful word. The most specific I&apos;d know how to be is that each update lookup is performed with &lt;tt&gt;readConcern: {level: &quot;majority&quot;, afterClusterTime: &amp;lt;time of change&amp;gt;&lt;/tt&gt;}. It will definitely not be the exact version of the document after being updated - that should be made as clear as possible.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 15 Mar 2018 17:15:26 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 14 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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>DOCSP-1769</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>false</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, 14 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>charlie.swanson@mongodb.com</customfieldvalue>
            <customfieldvalue>edu.bot</customfieldvalue>
            <customfieldvalue>kay.kim@mongodb.com</customfieldvalue>
            <customfieldvalue>matt.lord</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htsrh3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htk3br:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1324">KANBAN BUCKET</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|htsdof:</customfieldvalue>

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