<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:24:47 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-30723] Add a query knob that controls whether JSON Schema ignores or errors on unknown keywords</title>
                <link>https://jira.mongodb.org/browse/SERVER-30723</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;According to the &lt;a href=&quot;https://tools.ietf.org/html/draft-zyp-json-schema-04#section-5.6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;JSON Schema Core Spec &#167;5.6&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Implementations SHOULD ignore keywords they do not support.&lt;/p&gt;&lt;/blockquote&gt;</description>
                <environment></environment>
        <key id="417675">SERVER-30723</key>
            <summary>Add a query knob that controls whether JSON Schema ignores or errors on unknown keywords</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="13201">Fixed</resolution>
                                        <assignee username="nicholas.zolnierz@mongodb.com">Nicholas Zolnierz</assignee>
                                    <reporter username="nicholas.zolnierz@mongodb.com">Nicholas Zolnierz</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Aug 2017 19:16:01 +0000</created>
                <updated>Mon, 30 Oct 2023 23:14:12 +0000</updated>
                            <resolved>Tue, 12 Sep 2017 19:26:54 +0000</resolved>
                                                    <fixVersion>3.6.0-rc0</fixVersion>
                                    <component>Querying</component>
                                        <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="1671121" author="ramon.fernandez" created="Tue, 12 Sep 2017 20:11:36 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: u&apos;nzolnierzmdb&apos;, &apos;name&apos;: u&apos;Nick Zolnierz&apos;, &apos;email&apos;: u&apos;nicholas.zolnierz@mongodb.com&apos;}
&lt;p&gt;Message:&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-30723&quot; title=&quot;Add a query knob that controls whether JSON Schema ignores or errors on unknown keywords&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-30723&quot;&gt;&lt;del&gt;SERVER-30723&lt;/del&gt;&lt;/a&gt;: Add a query knob that controls whether JSON Schema ignores or errors on unknown keywords&lt;br/&gt;
Branch:master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/ce71ccd92747972654c92fe9438df9c633188f93&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/ce71ccd92747972654c92fe9438df9c633188f93&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1655579" author="asya" created="Wed, 23 Aug 2017 22:12:52 +0000"  >&lt;p&gt;I think it&apos;s more consistent with direction we are trying to move to not to silently ignore unknown words/options/commands. &lt;/p&gt;

&lt;p&gt;However I can see some users wanting to be able to have us ignore keywords which are not part of the known set. &lt;/p&gt;</comment>
                            <comment id="1654388" author="david.storch" created="Tue, 22 Aug 2017 21:14:40 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=asya&quot; class=&quot;user-hover&quot; rel=&quot;asya&quot;&gt;asya&lt;/a&gt;, are you saying that the default behavior is to reject unknown keywords, but that there will be something like &lt;tt&gt;internalQueryAcceptUnknownJSONSchemaKeywords&lt;/tt&gt; which can be toggled to &lt;tt&gt;true&lt;/tt&gt;? If we care about supporting non-standard keywords, why wouldn&apos;t we take the spec&apos;s advice and just &lt;em&gt;always&lt;/em&gt; ignore them?&lt;/p&gt;</comment>
                            <comment id="1653101" author="kyle.suarez" created="Mon, 21 Aug 2017 18:20:05 +0000"  >&lt;p&gt;Throwing this back into Needs Triage so we can consider the query knob approach.&lt;/p&gt;</comment>
                            <comment id="1653100" author="asya" created="Mon, 21 Aug 2017 18:18:51 +0000"  >&lt;p&gt;Given our users already have jsonSchema documents I would prefer we provide an option (internal query knob?) that would allow ignoring rather than throwing an error on unrecognized keywords.&lt;/p&gt;</comment>
                            <comment id="1653094" author="asya" created="Mon, 21 Aug 2017 18:10:00 +0000"  >&lt;p&gt;We do have users/customers who current use JSON schema documents on the application side to make sure the format of the documents is &quot;correct&quot;.&lt;/p&gt;

&lt;p&gt;Looking at the files I have I need to know if we are talking about failing on keywords that are completely non-standard (their own extension) and ignoring existing &quot;real&quot; keywords that we don&apos;t implement?&lt;/p&gt;</comment>
                            <comment id="1652843" author="david.storch" created="Mon, 21 Aug 2017 14:19:36 +0000"  >&lt;p&gt;There are good arguments in both directions. In order for us to decide what behavior we want, I think we need to know how many users we expect to have pre-existing schemas with non-standard keywords. &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=asya&quot; class=&quot;user-hover&quot; rel=&quot;asya&quot;&gt;asya&lt;/a&gt; would you be able to research this for us? Is it important for non-standard schemas to be accepted by MongoDB&apos;s implementation?&lt;/p&gt;</comment>
                            <comment id="1651728" author="kyle.suarez" created="Fri, 18 Aug 2017 18:26:42 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=david.storch&quot; class=&quot;user-hover&quot; rel=&quot;david.storch&quot;&gt;david.storch&lt;/a&gt;, there&apos;s an argument to ignoring unrecognized keywords, since products like Hackolade use many non-standard keywords, and ignoring these would allow you to do a drop-in replacement. However, I think overall it&apos;s a better user experience to error. I&apos;d rather get an explicit message telling me that this keyword isn&apos;t recognized, rather than silently accepting it and not doing anything, confusing the user if they expected something to happen.&lt;/p&gt;</comment>
                            <comment id="1651411" author="david.storch" created="Fri, 18 Aug 2017 14:27:40 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kyle.suarez&quot; class=&quot;user-hover&quot; rel=&quot;kyle.suarez&quot;&gt;kyle.suarez&lt;/a&gt; &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=nicholas.zolnierz&quot; class=&quot;user-hover&quot; rel=&quot;nicholas.zolnierz&quot;&gt;nicholas.zolnierz&lt;/a&gt;, I feel like this is unfriendly behavior and not consistent with our preference for other components of MongoDB. Typically we try to fail user queries that specify an option or operator which we do not know about. Since the spec uses the qualifier &quot;SHOULD&quot;, I think we can keep the current behavior and still be spec compliant. We should definitely ignore valid JSON Schema keywords which our implementation does not support, but I think that any keyword which is not mentioned whatsoever in draft 4 should result in an error. Do you agree?&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.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>Fri, 18 Aug 2017 14:27:40 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        6 years, 22 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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-679</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>
                            6 years, 22 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>david.storch@mongodb.com</customfieldvalue>
            <customfieldvalue>kyle.suarez@mongodb.com</customfieldvalue>
            <customfieldvalue>nicholas.zolnierz@mongodb.com</customfieldvalue>
            <customfieldvalue>ramon.fernandez@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htd73z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hra1e7:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1896">Query 2017-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|htct6v:</customfieldvalue>

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