<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:14:12 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-7326] &quot;validate&quot; command should perform full index validation</title>
                <link>https://jira.mongodb.org/browse/SERVER-7326</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;If a user tries to use the validate command to validate an index, it sort of works, but it generates errors in the server log and incorrectly reports that the index has failed validation.&lt;/p&gt;

&lt;p&gt;By &quot;sort of works&quot;, I mean that it correctly lists the extents used by the index and correctly reports the datasize and last extent size.  It incorrectly reports the number of btree buckets as the number of records.  It also generates multiple errors logged on the server and incorrectly provides &quot;advice&quot; : &quot;ns corrupt, requires repair&quot;.&lt;/p&gt;

&lt;p&gt;It is easy to know that the specified collection is actually an index and to validate it as an index instead of as a normal collection.  The validate() command (without &lt;/p&gt;
{ full : true }
&lt;p&gt;) should return correct and useful information.&lt;/p&gt;

&lt;p&gt;The command &quot;db.indexName.validate(true)&quot; should validate that the index entries actually point to valid records.  We currently have no function that does this, and it is not done by &quot;db.collection.validate(true)&quot;, presumably because it would be an expensive operation.  This would be a very useful addition to the set of available diagnostic features.&lt;/p&gt;</description>
                <environment></environment>
        <key id="52896">SERVER-7326</key>
            <summary>&quot;validate&quot; command should perform full index validation</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</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="robert.guo@mongodb.com">Robert Guo</assignee>
                                    <reporter username="tad">Tad Marshall</reporter>
                        <labels>
                    </labels>
                <created>Thu, 11 Oct 2012 11:26:52 +0000</created>
                <updated>Mon, 5 Dec 2016 14:19:22 +0000</updated>
                            <resolved>Fri, 29 Apr 2016 20:42:05 +0000</resolved>
                                                    <fixVersion>3.3.6</fixVersion>
                                    <component>Admin</component>
                    <component>Index Maintenance</component>
                                        <votes>0</votes>
                                    <watches>13</watches>
                                                                                                                <comments>
                            <comment id="1250931" author="robert.guo" created="Fri, 29 Apr 2016 20:42:05 +0000"  >&lt;p&gt;Documentation Changes:&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;validate()&lt;/tt&gt; is documented on the page: &lt;a href=&quot;https://docs.mongodb.org/manual/reference/command/validate/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.mongodb.org/manual/reference/command/validate/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For the description of &lt;tt&gt;full: true&lt;/tt&gt;, we could expand it to something like &quot;new for 3.4: Provide cross validation between indexes and the data in the collection, as well as additional checks on indexes and data&quot;.&lt;/p&gt;

&lt;p&gt;The current description is: &quot;provides a more thorough scan of the data.&quot;&lt;/p&gt;</comment>
                            <comment id="1250909" author="robert.guo" created="Fri, 29 Apr 2016 20:31:27 +0000"  >&lt;p&gt;Most of the work for validate() has been done as part of this ticket and &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-23055&quot; title=&quot;Optimize perf and memory consumption of full index verification&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-23055&quot;&gt;&lt;del&gt;SERVER-23055&lt;/del&gt;&lt;/a&gt;. So I&apos;m going to mark it as resolved.&lt;/p&gt;

&lt;p&gt;The one piece remaining is &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jason.rassi&quot; class=&quot;user-hover&quot; rel=&quot;jason.rassi&quot;&gt;jason.rassi&lt;/a&gt;&apos;s comment about verifying index key ordering, which will be tracked in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-23740&quot; title=&quot;validate() should check index key ordering&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-23740&quot;&gt;&lt;del&gt;SERVER-23740&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="1236185" author="xgen-internal-githook" created="Thu, 14 Apr 2016 18:23:39 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;guoyr&apos;, u&apos;name&apos;: u&apos;Robert Guo&apos;, u&apos;email&apos;: u&apos;robert.guo@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-7326&quot; title=&quot;&amp;quot;validate&amp;quot; command should perform full index validation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-7326&quot;&gt;&lt;del&gt;SERVER-7326&lt;/del&gt;&lt;/a&gt; disable validation hook on fuzzer suites&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5025aae289bbf1c21972e420832c9e08f0c18815&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5025aae289bbf1c21972e420832c9e08f0c18815&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1235441" author="xgen-internal-githook" created="Thu, 14 Apr 2016 03:26:25 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;guoyr&apos;, u&apos;name&apos;: u&apos;Robert Guo&apos;, u&apos;email&apos;: u&apos;robert.guo@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-7326&quot; title=&quot;&amp;quot;validate&amp;quot; command should perform full index validation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-7326&quot;&gt;&lt;del&gt;SERVER-7326&lt;/del&gt;&lt;/a&gt; Add full validation of all index types&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/3fcc1b6160866a0a1874b9583a4cb129622cc6a2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/3fcc1b6160866a0a1874b9583a4cb129622cc6a2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="668235" author="rassi@10gen.com" created="Wed, 23 Jul 2014 00:45:46 +0000"  >&lt;p&gt;Converted ticket to feature request.&lt;/p&gt;

&lt;p&gt;The &quot;validate&quot; command should contain functionality to perform the following sanity checks for each index in a collection:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Verify that the indexed key data is in the correct sorted order.&lt;/li&gt;
	&lt;li&gt;Verify that for each index leaf, there exists a document at the respective diskloc, and the document contains the correct value for the indexed field(s).&lt;/li&gt;
	&lt;li&gt;Verify that for each document in the collection, an index lookup on each indexed value returns the correct diskloc of the document (and no duplicates are returned).&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="271534">SERVER-23050</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                                                <inwardlinks description="is documented by">
                                        <issuelink>
            <issuekey id="336377">DOCS-9572</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="88398">SERVER-10673</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="271536">SERVER-23051</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="271537">SERVER-23052</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="271539">SERVER-23054</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="271543">SERVER-23056</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="271545">SERVER-23057</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="279858">SERVER-23740</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="147554">SERVER-14584</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="218020">SERVER-19521</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="73325">SERVER-9488</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>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6.0</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>Wed, 4 Sep 2013 09:09:54 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        7 years, 41 weeks, 5 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/SERVER-23050'>SERVER-23050</a></s>]]></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-426</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>emily.hall</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            7 years, 41 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>rassi</customfieldvalue>
            <customfieldvalue>robert.guo@mongodb.com</customfieldvalue>
            <customfieldvalue>tad</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrnljj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrd68f:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4572</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="303">Query 2.7.8</customfieldvalue>
    <customfieldvalue id="872">TIG 10 (02/19/16)</customfieldvalue>
    <customfieldvalue id="873">TIG 11 (03/11/16)</customfieldvalue>
    <customfieldvalue id="903">TIG 12 (04/01/16)</customfieldvalue>
    <customfieldvalue id="905">TIG 13 (04/22/16)</customfieldvalue>
    <customfieldvalue id="906">TIG 14 (05/13/16)</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|hrjdpz:</customfieldvalue>

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