<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:34:43 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-33839] Log a warning if a transaction commits with only a single write operation</title>
                <link>https://jira.mongodb.org/browse/SERVER-33839</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description></description>
                <environment></environment>
        <key id="510169">SERVER-33839</key>
            <summary>Log a warning if a transaction commits with only a single write operation</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="backlog-server-repl">Backlog - Replication Team</assignee>
                                    <reporter username="spencer@mongodb.com">Spencer Brody</reporter>
                        <labels>
                    </labels>
                <created>Mon, 12 Mar 2018 22:06:16 +0000</created>
                <updated>Tue, 6 Dec 2022 03:35:34 +0000</updated>
                            <resolved>Fri, 16 Mar 2018 21:15:54 +0000</resolved>
                                                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>8</watches>
                                                                                                                <comments>
                            <comment id="1837264" author="spencer" created="Fri, 16 Mar 2018 21:15:54 +0000"  >&lt;p&gt;Filed &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33949&quot; title=&quot;Add metrics to serverStatus to learn how many document writes most transactions do&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33949&quot;&gt;&lt;del&gt;SERVER-33949&lt;/del&gt;&lt;/a&gt; for the change to serverStatus.  Closing this as &quot;Won&apos;t Fix&quot; since it sounds like this isn&apos;t something we actually want to do.&lt;/p&gt;</comment>
                            <comment id="1832795" author="bruce.lucas@10gen.com" created="Tue, 13 Mar 2018 21:14:12 +0000"  >&lt;p&gt;This sounds like a good metric to have in serverStatus. We should also have a more general discussion about what other transaction-related metrics we need (&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33715&quot; title=&quot;Add transaction metrics to FTDC&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33715&quot;&gt;&lt;del&gt;SERVER-33715&lt;/del&gt;&lt;/a&gt;).&lt;/p&gt;</comment>
                            <comment id="1832471" author="asya" created="Tue, 13 Mar 2018 18:04:53 +0000"  >&lt;p&gt;There are legitimate cases for single document transactions.  &lt;/p&gt;

&lt;p&gt;Original ask was more akin single write affecting single document (ie an operation that would already be transactional). &lt;/p&gt;</comment>
                            <comment id="1832332" author="alyson.cabral" created="Tue, 13 Mar 2018 16:42:35 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=milkie&quot; class=&quot;user-hover&quot; rel=&quot;milkie&quot;&gt;milkie&lt;/a&gt; thanks for explaining that! &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=spencer&quot; class=&quot;user-hover&quot; rel=&quot;spencer&quot;&gt;spencer&lt;/a&gt; I like that idea even better. Should we update the ticket name and description to match that approach?&lt;/p&gt;</comment>
                            <comment id="1832241" author="spencer" created="Tue, 13 Mar 2018 15:52:52 +0000"  >&lt;p&gt;Maybe the better thing to do is add a metric to serverStatus reporting how many single-document transactions run.  Perhaps we could have a breakdown of size of transactions run: 1 document modified, 2 documents modified, 3-5 documents, 5-10 documents, 10-50 documents, or 50+ documents - something like that?&lt;/p&gt;

&lt;p&gt;Then atlas/cloud manager could surface a warning if the count of single-document transactions goes up.&lt;/p&gt;</comment>
                            <comment id="1831874" author="milkie" created="Tue, 13 Mar 2018 12:53:57 +0000"  >&lt;p&gt;Our logging style currently does an fsync for every log message, which means if there are a lot of log messages, it can slow down the operation of mongod, as well as overwhelm the log device with IO requests.&lt;br/&gt;
We have other existing warnings on the system (typically for deprecated things) where we log every once in a while rather than for every operation; we could do something similar here to mitigate the effects.&lt;/p&gt;</comment>
                            <comment id="1831868" author="alyson.cabral" created="Tue, 13 Mar 2018 12:42:59 +0000"  >&lt;p&gt;What&apos;s the cost exactly? Are we worried about cluttering up the system log for admins?&lt;/p&gt;

&lt;p&gt;I&apos;m not super worried about the server needing to surface a prompt to the users as Atlas/the monitoring agent can take on that responsibility if we give them the information to act on. &lt;/p&gt;</comment>
                            <comment id="1831852" author="milkie" created="Tue, 13 Mar 2018 12:30:20 +0000"  >&lt;p&gt;As Spencer has described the work for this ticket, it won&apos;t be to prompt the user; instead, a message will appear in the system log each time such a transaction runs, and it will be random chance whether an administrator notices such messages accumulating in the log (and the work to correlate the message to a particular query might not be that easy either, as we cannot put the query data into the message due to redaction concerns).  I just don&apos;t feel that the cost of putting such a warning into the system log will be outweighed by the potential benefits.&lt;/p&gt;</comment>
                            <comment id="1831833" author="alyson.cabral" created="Tue, 13 Mar 2018 12:05:26 +0000"  >&lt;p&gt;I&apos;m for having this warning message as I want transactions to be as easy to correctly use as possible and a major part of that is being opinionated about usage. The warning should be to prompt the user to consider the resource/perf cost on an operation that may not need transactions, particularly for people migrating from other databases. It&apos;s a huge risk that people will misuse transactions and we&apos;ll be very opinionated in the field.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=spencer&quot; class=&quot;user-hover&quot; rel=&quot;spencer&quot;&gt;spencer&lt;/a&gt; I do have a question here, what does one operation mean in this context (i.e does this imply one document, would multiple operations to the same document be included or excluded)?&lt;/p&gt;</comment>
                            <comment id="1831822" author="milkie" created="Tue, 13 Mar 2018 11:52:05 +0000"  >&lt;p&gt;This sounds inadvisable. There are valid use cases for single operation transactions. What purpose would the warning serve?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="512774">SERVER-33949</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_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25128"><![CDATA[Replication]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 13 Mar 2018 11:52:05 +0000</customfieldvalue>

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


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-718</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>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 47 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>alyson.cabral@mongodb.com</customfieldvalue>
            <customfieldvalue>asya.kamsky@mongodb.com</customfieldvalue>
            <customfieldvalue>backlog-server-repl</customfieldvalue>
            <customfieldvalue>bruce.lucas@mongodb.com</customfieldvalue>
            <customfieldvalue>milkie@mongodb.com</customfieldvalue>
            <customfieldvalue>spencer@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htsgtj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htjtgn:</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_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|hts30f:</customfieldvalue>

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