<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:43:18 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-80346] validate doesn&apos;t validate BSONColumn&apos;s binary format</title>
                <link>https://jira.mongodb.org/browse/SERVER-80346</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;We do basic validation on time-series collections but we don&apos;t check the binary format itself to see if it&apos;s corrupted. Validate merely checks for BinDataType 7.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2424594">SERVER-80346</key>
            <summary>validate doesn&apos;t validate BSONColumn&apos;s binary format</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="damian.wasilewicz@mongodb.com">Damian Wasilewicz</assignee>
                                    <reporter username="matt.kneiser@mongodb.com">Matt Kneiser</reporter>
                        <labels>
                    </labels>
                <created>Wed, 23 Aug 2023 17:09:42 +0000</created>
                <updated>Sun, 29 Oct 2023 21:17:11 +0000</updated>
                            <resolved>Wed, 20 Sep 2023 22:33:16 +0000</resolved>
                                                    <fixVersion>7.2.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="5719620" author="xgen-internal-githook" created="Wed, 20 Sep 2023 21:48:25 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Damian Wasilewicz&apos;, &apos;email&apos;: &apos;33820523+DamianWasilewicz@users.noreply.github.com&apos;, &apos;username&apos;: &apos;DamianWasilewicz&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-80346&quot; title=&quot;validate doesn&amp;#39;t validate BSONColumn&amp;#39;s binary format&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-80346&quot;&gt;&lt;del&gt;SERVER-80346&lt;/del&gt;&lt;/a&gt; Move BSONColumn decompression behind checkBSONConformance option for the validate command&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/4faea7104090dcbbd5196dade68cf23e1e591240&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/4faea7104090dcbbd5196dade68cf23e1e591240&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5688105" author="JIRAUSER1253424" created="Thu, 7 Sep 2023 20:39:06 +0000"  >&lt;p&gt;Giving it another look, we actually decompress the BSONColumns in time-series buckets documents by default when running a validate command (&lt;a href=&quot;https://github.com/mongodb/mongo/blob/e08aa6a50695d3a118fbfb9d63eaa30dcf69c7d7/src/mongo/db/catalog/validate_adaptor.cpp#L342&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;, &lt;a href=&quot;https://github.com/mongodb/mongo/blob/e08aa6a50695d3a118fbfb9d63eaa30dcf69c7d7/src/mongo/db/catalog/validate_adaptor.cpp#L419&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;). We might want to use this ticket to put it behind the full:true option, adding more comments, and handle the exception better when it fails.&lt;/p&gt;</comment>
                            <comment id="5663435" author="JIRAUSER1253424" created="Mon, 28 Aug 2023 15:08:43 +0000"  >&lt;p&gt;We perform &lt;a href=&quot;https://github.com/mongodb/mongo/blob/aa46f2af8012d46a4083a3376098d4ba9507a23e/src/mongo/db/catalog/validate_adaptor.cpp#L681&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;BSON structural validation&lt;/a&gt; before &lt;a href=&quot;https://github.com/mongodb/mongo/blob/aa46f2af8012d46a4083a3376098d4ba9507a23e/src/mongo/db/catalog/validate_adaptor.cpp#L771&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;validating the time-series specific properties&lt;/a&gt;. For the BSONColumn format, there isn&apos;t much we can do other than &lt;a href=&quot;https://github.com/mongodb/mongo/blob/aa46f2af8012d46a4083a3376098d4ba9507a23e/src/mongo/bson/bson_validate.cpp#L326&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;trying to decompress it and see if an exception is thrown&lt;/a&gt;. This is also relatively expensive compared to other structural checks so we put it behind &lt;tt&gt;checkBSONConformance: true&lt;/tt&gt; or &lt;tt&gt;full:true&lt;/tt&gt; for the validate command.&lt;/p&gt;

&lt;p&gt;I think now that BSON bucket documents are always compressed, we might want to consider including this check by default when running the validate command.&lt;/p&gt;

&lt;p&gt;cc &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=damian.wasilewicz%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;damian.wasilewicz@mongodb.com&quot;&gt;damian.wasilewicz@mongodb.com&lt;/a&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="5654677" author="JIRAUSER1263310" created="Wed, 23 Aug 2023 19:45:10 +0000"  >&lt;p&gt;Upon further inspection it looks like there&apos;s actual validation of most items in the data field:&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/blob/9a06b60e5e97c57463219452b3769d56f466a12b/src/mongo/db/catalog/validate_adaptor.cpp#L337-L361&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;timestamps&lt;/a&gt; &amp;amp; &lt;a href=&quot;https://github.com/mongodb/mongo/blob/9a06b60e5e97c57463219452b3769d56f466a12b/src/mongo/db/catalog/validate_adaptor.cpp#L414-L419&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;min/max&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I&apos;m going to keep this ticket open for any gaps or improvements desired.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2446221">SERVER-81206</issuekey>
        </issuelink>
                            </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_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="26007"><![CDATA[Storage Execution NAMER]]></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>Mon, 28 Aug 2023 15:08:43 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        20 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_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></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>
                            20 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>damian.wasilewicz@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>matt.kneiser@mongodb.com</customfieldvalue>
            <customfieldvalue>yuhong.zhang@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i2nizj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0ve53:</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_22250" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Special Downgrade Instructions Required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="23343"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="7560">Execution NAMR Team 2023-09-18</customfieldvalue>
    <customfieldvalue id="7561">Execution NAMR Team 2023-10-02</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|i2n54v:</customfieldvalue>

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