<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:09:27 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-45679] Add serverStatus metric that reveals impact of arrays</title>
                <link>https://jira.mongodb.org/browse/SERVER-45679</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;ol&gt;
	&lt;li&gt;Large arrays within documents have performance costs that are currently indirectly inferred from the behavior of wiredTiger&apos;s cache page management.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Since BSON does not encode array size (in elements), this could be a counter like &quot;array elements visited&quot; or (if that is deemed too expensive), it could be a counter that increments by the total byte size of each array (which is included in the BSON) when it is iterated through for any reason.&lt;/p&gt;

&lt;p&gt;Combined with opcounters and scannedObjects (docsExamined), either of these would dramatically improve the ability to diagnose array iteration as impacting the system.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1107651">SERVER-45679</key>
            <summary>Add serverStatus metric that reveals impact of arrays</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="backlog-query-execution">Backlog - Query Execution</assignee>
                                    <reporter username="eric.sedor@mongodb.com">Eric Sedor</reporter>
                        <labels>
                            <label>qexec-team</label>
                    </labels>
                <created>Tue, 21 Jan 2020 21:07:49 +0000</created>
                <updated>Tue, 6 Dec 2022 02:37:55 +0000</updated>
                                            <version>4.3.2</version>
                                                    <component>Diagnostics</component>
                    <component>Querying</component>
                                        <votes>1</votes>
                                    <watches>18</watches>
                                                                                                                <comments>
                            <comment id="3953288" author="asya" created="Tue, 20 Jul 2021 18:39:04 +0000"  >&lt;p&gt;What about increasing average document size which I think is available?  Increasing oplog entry size (over time)?   Is the number of keys updated available in diagnostics (I know it&apos;s in the logs but not sure there are counters) - large arrays are particularly bad when they are indexed and an update changes position of every element (pulling from the middle, shifting all by deleting from the front, etc)...&lt;/p&gt;</comment>
                            <comment id="2771824" author="eric.sedor" created="Thu, 30 Jan 2020 01:06:07 +0000"  >&lt;p&gt;Elaborating on an aspect of an offline conversation with Asya, an open question we should answer is around specific circumstances we should or shouldn&apos;t measure. I would think (ideally):&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Array elements visited during update operations&lt;/li&gt;
	&lt;li&gt;Array elements visited during positional projections&lt;/li&gt;
	&lt;li&gt;Array elements visited during $unwind (for a single operation should be the sum of array elements of documents in the pipeline when $unwind is reached)&lt;/li&gt;
	&lt;li&gt;Array elements added during update operations&lt;/li&gt;
	&lt;li&gt;Array elements removed during update operations&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;But again, counting each element may be too extensive and perhaps incrementing a counter of bytes by the size of an array to be traversed would reveal an upper bound of possibility. Which in some way may be interesting in and of itself because it would proactively count the worst-case.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bruce.lucas&quot; class=&quot;user-hover&quot; rel=&quot;bruce.lucas&quot;&gt;bruce.lucas&lt;/a&gt;/&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=dmitry.agranat&quot; class=&quot;user-hover&quot; rel=&quot;dmitry.agranat&quot;&gt;dmitry.agranat&lt;/a&gt; can you add to or comment on this list?&lt;/p&gt;</comment>
                            <comment id="2763245" author="bruce.lucas@10gen.com" created="Fri, 24 Jan 2020 20:24:14 +0000"  >&lt;p&gt;I think a metric specifically about arrays would help us detect the anti-pattern of large arrays, and/or the related anti-pattern of indefinitely growing arrays.&lt;/p&gt;

&lt;p&gt;Large documents per se are not so much of an anti-pattern, I think, but as they can be involved in performance problems, it might be useful to add a metric related to document size.&lt;/p&gt;</comment>
                            <comment id="2762655" author="asya" created="Fri, 24 Jan 2020 18:05:44 +0000"  >&lt;p&gt;&amp;gt; Large arrays within documents have performance costs that are currently indirectly inferred from the behavior of wiredTiger&apos;s cache page management.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=eric.sedor&quot; class=&quot;user-hover&quot; rel=&quot;eric.sedor&quot;&gt;eric.sedor&lt;/a&gt; is this different than large documents without arrays?  In other words, is this specifically about some array related behavior?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <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_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25125"><![CDATA[Query Execution]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[5002K00000pFfaOQAS]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 24 Jan 2020 18:05:44 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 29 weeks, 1 day 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_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>
                            2 years, 29 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>asya.kamsky@mongodb.com</customfieldvalue>
            <customfieldvalue>backlog-query-execution</customfieldvalue>
            <customfieldvalue>bruce.lucas@mongodb.com</customfieldvalue>
            <customfieldvalue>eric.sedor@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hwjzsv:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr2hif:</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_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                    <customfieldvalue><![CDATA[dmitry.agranat@mongodb.com]]></customfieldvalue>
    

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hwjm27:</customfieldvalue>

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