<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:21:09 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>[DRIVERS-275] Drivers should check encoded operation size on client side </title>
                <link>https://jira.mongodb.org/browse/DRIVERS-275</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;p&gt;While encoding operations to send to the server (OP_QUERY, OP_INSERT, ...) if the encoded operation exceeds a maximum number of bytes a driver &lt;b&gt;MUST NOT&lt;/b&gt; send the operation to the server and &lt;b&gt;MUST&lt;/b&gt; raise an error back to the application. For OP_INSERT the maximum size is ismaster.maxMessageSizeBytes. For all other operations the maximum size is ismaster.maxBsonObjectSize + 16k&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Why&lt;/b&gt;?&lt;/p&gt;

&lt;p&gt;Above a certain message size (tbd), instead of returning a useful error about oversize documents or messages the server just closes the socket. This makes debugging applications difficult since a socket being closed provides no information about what you did wrong.&lt;/p&gt;</description>
                <environment></environment>
        <key id="240213">DRIVERS-275</key>
            <summary>Drivers should check encoded operation size on client side </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="9">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="rathi.gnanasekaran">Rathi Gnanasekaran</reporter>
                        <labels>
                    </labels>
                <created>Thu, 19 Nov 2015 15:39:13 +0000</created>
                <updated>Wed, 22 Feb 2023 03:01:19 +0000</updated>
                            <resolved>Wed, 22 Feb 2023 03:01:19 +0000</resolved>
                                                                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="1675930" author="jmikola@gmail.com" created="Mon, 18 Sep 2017 20:59:16 +0000"  >&lt;p&gt;Validating PHPC since &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-589&quot; title=&quot;Driver should sanity check the size of the request document and fail fast&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-589&quot;&gt;&lt;del&gt;CDRIVER-589&lt;/del&gt;&lt;/a&gt; is resolved. Not relevant to PHPLIB.&lt;/p&gt;</comment>
                            <comment id="1098417" author="jmikola@gmail.com" created="Wed, 25 Nov 2015 16:46:14 +0000"  >&lt;p&gt;Validated for legacy PHP driver (bson.c checks max document and message size and raises exceptions accordingly). I expect PHPC and HHVM validation will depend on &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-589&quot; title=&quot;Driver should sanity check the size of the request document and fail fast&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-589&quot;&gt;&lt;del&gt;CDRIVER-589&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="1093430" author="jesse" created="Thu, 19 Nov 2015 19:38:56 +0000"  >&lt;p&gt;LGTM, I don&apos;t think it&apos;s important to know at what size the server hangs up.&lt;/p&gt;</comment>
                            <comment id="1093289" author="behackett" created="Thu, 19 Nov 2015 18:02:23 +0000"  >&lt;p&gt;We can adjust when drivers support OP_COMMAND, but we should solve this problem for MongoDB &amp;lt;= 3.2 as well. I&apos;ve updated the description with a mini spec.&lt;/p&gt;</comment>
                            <comment id="1093275" author="david.golden" created="Thu, 19 Nov 2015 17:50:49 +0000"  >&lt;p&gt;Won&apos;t this change anyway under OP_COMMAND?  My suggestion is that we get someone started writing a &quot;Server Commands Spec&quot; that covers both OP_COMMAND and legacy OP_QUERY (via &lt;tt&gt;some_db.$cmd&lt;/tt&gt;) as we&apos;ll need one in a few months anyway.&lt;/p&gt;

&lt;p&gt;In the meantime, I think the test is as simple as:&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;db.runCommand({x:LONG_STRING})&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;If x:LONG_STRING serializes to more than the max bson doc size + 16kb, then it should throw an exception.&lt;/p&gt;

&lt;p&gt;See &lt;a href=&quot;https://github.com/mongodb/mongo-perl-driver/commit/00e926e62d543dd1d8fca8e0d2c1f1d163b2c224&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this commit&lt;/a&gt; for the Perl driver.&lt;/p&gt;</comment>
                            <comment id="1093204" author="jesse" created="Thu, 19 Nov 2015 17:04:34 +0000"  >&lt;p&gt;This needs a mini-spec, we can&apos;t validate our drivers until we write down what&apos;s meant by this ticket. &lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="191400">CDRIVER-589</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="470735">CXX-1483</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="470736">GODRIVER-149</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="240779">DRIVERS-276</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                            <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_23952" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Driver Compliance</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<style type='text/css'>
         #scriptField, #scriptField *{
                border: 1px solid black;
            }

            #scriptField{
                border-collapse: collapse;
            }

            #scriptField td {
                text-align: center; /* Center-align text in table cells */
            }

            #scriptField td.key {
                text-align: left; /* Left-align text in the Key column */
            }

            #scriptField a {
                text-decoration: none; /* Remove underlines from links */
                border: none; /* Remove border from links */
            }
            
            /* Add green background color to cells with FixVersion */
            #scriptField td.hasFixVersion {
                background-color: #00FF00; /* Green color code */
            }

            /* Center-align the first row headers */
            #scriptField th {
                text-align: center;
            }
        </style>
<table id='scriptField'>
  <tr>
    <th>Key</th>
    <th>Status/Resolution</th>
    <th>FixVersion</th>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CDRIVER-589'>CDRIVER-589</a>
    </td>
    <td>Done</td>
    <td class='hasFixVersion'>1.7.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CXX-1483'>CXX-1483</a>
    </td>
    <td>Fixed</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/GODRIVER-149'>GODRIVER-149</a>
    </td>
    <td>Done</td>
    <td class=''></td>
  </tr>
</table>]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hseign:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>