<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:36:10 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>[GODRIVER-1328] Loosen strictness of date parsing in the driver</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-1328</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;p&gt;Currently, it seems that the Go driver is quite strict in enforcing RFC3339 format for its dates, but the docs mention that dates conform to the more looser superset of ISO8601.&lt;/p&gt;

&lt;p&gt;The Python driver seems to be more lenient with this and allows valid ISO8601, but is strict in its output and will give back RFC3339.&lt;/p&gt;

&lt;p&gt;This is currently affecting a customer for Atlas Data Lake, who is using ISO8601 date format that is in conflict with RFC3339, and is causing errors when using the Go driver to parse their JSON.&lt;/p&gt;</description>
                <environment></environment>
        <key id="953795">GODRIVER-1328</key>
            <summary>Loosen strictness of date parsing in the driver</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="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="divjot.arora@mongodb.com">Divjot Arora</assignee>
                                    <reporter username="may.hoque@mongodb.com">May Hoque</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Oct 2019 17:30:13 +0000</created>
                <updated>Sat, 28 Oct 2023 11:38:32 +0000</updated>
                            <resolved>Tue, 8 Oct 2019 19:40:57 +0000</resolved>
                                                    <fixVersion>1.2.0</fixVersion>
                                    <component>JSON &amp;amp; ExtJSON</component>
                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="2464489" author="divjot.arora" created="Thu, 3 Oct 2019 21:01:52 +0000"  >&lt;p&gt;PR:&#160;&lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/pull/187&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/pull/187&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2448615" author="david.golden" created="Wed, 2 Oct 2019 20:41:14 +0000"  >&lt;p&gt;That should be straightforward to address.  If the time.Parse call with rfc339Milli fails, we can try parsing &quot;2006-01-02T15:04:05.999Z0700&quot; as a fallback.&lt;/p&gt;</comment>
                            <comment id="2448490" author="craiggwilson" created="Wed, 2 Oct 2019 20:24:56 +0000"  >&lt;p&gt;They are using this format, which is apparently exported from Studio 3T: &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;2019-06-04T14:54:31.416+0000&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;. Note that the only issue with this is that it has 0000 instead of 00:00.&lt;/p&gt;</comment>
                            <comment id="2448021" author="behackett" created="Wed, 2 Oct 2019 19:05:41 +0000"  >&lt;p&gt;Note that the Python driver&apos;s loose parsing of dates basically evolved to support all the different formats mongoexport has generated over the last 10 years, rather than strictly following the RFC section David points to (the Python driver is probably even more loose than the RFC requires). It is probably not the best guide.&lt;/p&gt;</comment>
                            <comment id="2447968" author="david.golden" created="Wed, 2 Oct 2019 18:56:46 +0000"  >&lt;p&gt;Some context on the spec:&lt;/p&gt;

&lt;p&gt;ISO 8601 is a &lt;b&gt;huge&lt;/b&gt; family of formats.  The normative part of the Extended JSON spec says&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;ISO-8601 Internet Date/Time Format as decribed in RFC-3339 &lt;span class=&quot;error&quot;&gt;&amp;#91;4&amp;#93;&lt;/span&gt; with maximum time precision of milliseconds &lt;span class=&quot;error&quot;&gt;&amp;#91;5&amp;#93;&lt;/span&gt; as a string&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Where footnote 4 links to here: &lt;a href=&quot;https://tools.ietf.org/html/rfc3339#section-5.6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://tools.ietf.org/html/rfc3339#section-5.6&lt;/a&gt; &amp;#8211; that&apos;s intended to be a lowest-common-denominator set of allowed date formats because mandating all of ISO 8601 isn&apos;t necessarily feasible across all drivers.  (You can read in the RFC about some of the problems with ISO 8601.)&lt;/p&gt;

&lt;p&gt;What specifically are they using that isn&apos;t compatible with RFC-3339?&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                        <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_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hvjci7:</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>