<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 22:37:55 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>[COMPASS-4944] Fail gracefully instead of &quot;Invalid UTF-8 string in BSON document&quot;</title>
                <link>https://jira.mongodb.org/browse/COMPASS-4944</link>
                <project id="13182" key="COMPASS">Compass </project>
                    <description>&lt;h3&gt;&lt;a name=&quot;ProblemStatement%2FRationale&quot;&gt;&lt;/a&gt;&lt;b&gt;Problem Statement/Rationale&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;&lt;font color=&quot;#505f79&quot;&gt;Compass will not display any results that would include a document containing an invalid UTF-8 string, and in place of the results displays the error &quot;Invalid UTF-8 string in BSON document&quot;. This is also true of exporting: Compass will not allow a set of documents to be exported if one of them contains an invalid UTF-8 string (provides the same error).&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font color=&quot;#505f79&quot;&gt;This is in contrast to Compass v1.26.1 which did display/export these documents, but substituted the replacement character&#160;&#65533; for any invalid bytes.&lt;/font&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;StepstoReproduce&quot;&gt;&lt;/a&gt;&lt;b&gt;Steps to Reproduce&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;1. Create a document in MongoDB that contains a string field with invalid UTF-8 bytes. (I do not know how to actually perform this step but it seems to be possible).&lt;/p&gt;

&lt;p&gt;3. View the document in Compass, and also attempt to export the collection that contains this document.&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;ExpectedResults&quot;&gt;&lt;/a&gt;&lt;b&gt;Expected Results&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;&lt;font color=&quot;#505f79&quot;&gt;I expect the behavior to be the same as it is in v1.26.1. The document can be viewed in Compass, with invalid chars replaced by&#160;&#65533;. The document can be exported using the &quot;Export Collection&quot; tool.&lt;/font&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;ActualResults&quot;&gt;&lt;/a&gt;&lt;b&gt;Actual Results&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;The document is not viewable in Compass and displays the error &quot;Invalid UTF-8 string in BSON document&quot;. Clicking &quot;Export Collection&quot; (even if not viewing the document at the time, but exporting the full collection) and saving to a file gives the same error: &quot;Invalid UTF-8 string in BSON document&quot;.&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;AdditionalNotes&quot;&gt;&lt;/a&gt;&lt;b&gt;Additional Notes&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;The errors occurred on both v1.27.1 and v1.28.1.&lt;/p&gt;</description>
                <environment>Windows for sure, but I think all.</environment>
        <key id="1816616">COMPASS-4944</key>
            <summary>Fail gracefully instead of &quot;Invalid UTF-8 string in BSON document&quot;</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="1" iconUrl="https://jira.mongodb.org/images/icons/statuses/open.png" description="">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="jake@convictional.com">Jake Strang</reporter>
                        <labels>
                    </labels>
                <created>Tue, 13 Jul 2021 18:24:01 +0000</created>
                <updated>Tue, 3 Oct 2023 19:20:40 +0000</updated>
                                            <version>1.27.1</version>
                    <version>1.34.2</version>
                                    <fixVersion>1.32.6</fixVersion>
                                    <component>CRUD</component>
                    <component>Document Validation</component>
                    <component>Import/Export</component>
                        <due></due>
                            <votes>2</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="4861108" author="xgen-internal-githook" created="Wed, 28 Sep 2022 10:13:59 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Le Roux Bodenstein&apos;, &apos;email&apos;: &apos;lerouxb@gmail.com&apos;, &apos;username&apos;: &apos;lerouxb&apos;}
&lt;p&gt;Message: feat(connection-form): Add enableUtf8Validation option to advanced url options &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4944&quot; title=&quot;Fail gracefully instead of &amp;quot;Invalid UTF-8 string in BSON document&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4944&quot;&gt;COMPASS-4944&lt;/a&gt; (#3284)&lt;/p&gt;

&lt;p&gt;Add enableUtf8Validation option to advanced url options&lt;br/&gt;
Branch: update-compass-shell-to-shared-config&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4789062" author="xgen-internal-githook" created="Tue, 30 Aug 2022 17:01:24 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Le Roux Bodenstein&apos;, &apos;email&apos;: &apos;lerouxb@gmail.com&apos;, &apos;username&apos;: &apos;lerouxb&apos;}
&lt;p&gt;Message: feat(connection-form): Add enableUtf8Validation option to advanced url options &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4944&quot; title=&quot;Fail gracefully instead of &amp;quot;Invalid UTF-8 string in BSON document&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4944&quot;&gt;COMPASS-4944&lt;/a&gt; (#3284)&lt;/p&gt;

&lt;p&gt;Add enableUtf8Validation option to advanced url options&lt;br/&gt;
Branch: compass-settings&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4714064" author="xgen-internal-githook" created="Fri, 29 Jul 2022 12:23:58 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Le Roux Bodenstein&apos;, &apos;email&apos;: &apos;lerouxb@gmail.com&apos;, &apos;username&apos;: &apos;lerouxb&apos;}
&lt;p&gt;Message: feat(connection-form): Add enableUtf8Validation option to advanced url options &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4944&quot; title=&quot;Fail gracefully instead of &amp;quot;Invalid UTF-8 string in BSON document&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4944&quot;&gt;COMPASS-4944&lt;/a&gt; (#3284)&lt;/p&gt;

&lt;p&gt;Add enableUtf8Validation option to advanced url options&lt;br/&gt;
Branch: remove-rc-from-evergreen&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4708324" author="xgen-internal-githook" created="Wed, 27 Jul 2022 13:04:44 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Le Roux Bodenstein&apos;, &apos;email&apos;: &apos;lerouxb@gmail.com&apos;, &apos;username&apos;: &apos;lerouxb&apos;}
&lt;p&gt;Message: feat(connection-form): Add enableUtf8Validation option to advanced url options &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4944&quot; title=&quot;Fail gracefully instead of &amp;quot;Invalid UTF-8 string in BSON document&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4944&quot;&gt;COMPASS-4944&lt;/a&gt; (#3284)&lt;/p&gt;

&lt;p&gt;Add enableUtf8Validation option to advanced url options&lt;br/&gt;
Branch: macos-arm-build&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4707339" author="xgen-internal-githook" created="Tue, 26 Jul 2022 22:27:00 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Le Roux Bodenstein&apos;, &apos;email&apos;: &apos;lerouxb@gmail.com&apos;, &apos;username&apos;: &apos;lerouxb&apos;}
&lt;p&gt;Message: feat(connection-form): Add enableUtf8Validation option to advanced url options &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4944&quot; title=&quot;Fail gracefully instead of &amp;quot;Invalid UTF-8 string in BSON document&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4944&quot;&gt;COMPASS-4944&lt;/a&gt; (#3284)&lt;/p&gt;

&lt;p&gt;Add enableUtf8Validation option to advanced url options&lt;br/&gt;
Branch: &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-5678&quot; title=&quot;Update query history to open as a popover on the query bar&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-5678&quot;&gt;&lt;del&gt;COMPASS-5678&lt;/del&gt;&lt;/a&gt;-query-history-as-popover&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4706687" author="xgen-internal-githook" created="Tue, 26 Jul 2022 19:19:58 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Le Roux Bodenstein&apos;, &apos;email&apos;: &apos;lerouxb@gmail.com&apos;, &apos;username&apos;: &apos;lerouxb&apos;}
&lt;p&gt;Message: feat(connection-form): Add enableUtf8Validation option to advanced url options &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4944&quot; title=&quot;Fail gracefully instead of &amp;quot;Invalid UTF-8 string in BSON document&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4944&quot;&gt;COMPASS-4944&lt;/a&gt; (#3284)&lt;/p&gt;

&lt;p&gt;Add enableUtf8Validation option to advanced url options&lt;br/&gt;
Branch: &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-5672&quot; title=&quot;Update CRUD toolbar to Leafy Green&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-5672&quot;&gt;&lt;del&gt;COMPASS-5672&lt;/del&gt;&lt;/a&gt;-update-crud-toolbar-to-lg&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4705264" author="xgen-internal-githook" created="Tue, 26 Jul 2022 13:44:28 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Le Roux Bodenstein&apos;, &apos;email&apos;: &apos;lerouxb@gmail.com&apos;, &apos;username&apos;: &apos;lerouxb&apos;}
&lt;p&gt;Message: feat(connection-form): Add enableUtf8Validation option to advanced url options &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4944&quot; title=&quot;Fail gracefully instead of &amp;quot;Invalid UTF-8 string in BSON document&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4944&quot;&gt;COMPASS-4944&lt;/a&gt; (#3284)&lt;/p&gt;

&lt;p&gt;Add enableUtf8Validation option to advanced url options&lt;br/&gt;
Branch: remote&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4704890" author="xgen-internal-githook" created="Tue, 26 Jul 2022 11:10:23 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Le Roux Bodenstein&apos;, &apos;email&apos;: &apos;lerouxb@gmail.com&apos;, &apos;username&apos;: &apos;lerouxb&apos;}
&lt;p&gt;Message: feat(connection-form): Add enableUtf8Validation option to advanced url options &lt;a href=&quot;https://jira.mongodb.org/browse/COMPASS-4944&quot; title=&quot;Fail gracefully instead of &amp;quot;Invalid UTF-8 string in BSON document&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;COMPASS-4944&quot;&gt;COMPASS-4944&lt;/a&gt; (#3284)&lt;/p&gt;

&lt;p&gt;Add enableUtf8Validation option to advanced url options&lt;br/&gt;
Branch: main&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb-js/compass/commit/06b12f867dc64bba51eb97d8cc3766d8e7b4d13c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4701368" author="JIRAUSER1261456" created="Mon, 25 Jul 2022 11:36:50 +0000"  >&lt;p&gt;We&apos;re planning on exposing the option in the Advanced tab on the connection screen, but two relatively recent changes already made it possible to work around this:&lt;/p&gt;

&lt;p&gt;The driver now has an option enableUtf8Validation which defaults to true. You can pass ?enableUtf8Validation=false to a connection string which disables the validation and then you won&apos;t see the error.&lt;/p&gt;

&lt;p&gt;Since we redid the connection form compass won&apos;t strip the option from connection URIs, so you can edit the connection string manually and add the option there.&lt;/p&gt;

&lt;p&gt;I just tested this locally by hacking the driver to allow me to insert bad UTF8 and confirmed that I get the same error when trying to view that document. This was on mongodb://localhost:27017. Then I connected with mongodb://127.0.0.1:27017/?enableUtf8Validation=false&quot; and I can see the broken document rather than the error.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;FYI mongosh has the same behaviour:&lt;/p&gt;

&lt;p&gt;&#160;&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;   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;% mongosh &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot;mongodb://127.0.0.1:27017/&quot;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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;   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;.....&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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;   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;&amp;gt; db.test.find()&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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-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;BSONError: Invalid UTF-&lt;/span&gt;&lt;span style=&quot;color: #009900; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;8&lt;/span&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; string in BSON document &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;
&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;   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;% mongosh &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot;mongodb://127.0.0.1:27017/?enableUtf8Validation=false&quot;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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;   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;.....&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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;   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;&amp;gt; db.test.find()&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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;   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;[&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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;   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;  {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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;   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;    _id: ObjectId(&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot;62de7aaa15cab26cc822bb15&quot;&lt;/span&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;),&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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;   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;    specialKeyWithBadUtf8: &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&apos;&#65533;&apos;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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;   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;  }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&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-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;] &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;&#160;&lt;/p&gt;</comment>
                            <comment id="4627493" author="JIRAUSER1269802" created="Mon, 20 Jun 2022 18:18:59 +0000"  >&lt;p&gt;I would consider this critical and this issue needs addressed.&#160; You have data unable to be read simply because it&apos;s not valid Unicode - yet, clearly it&apos;s being stored as just bytes.&#160; We have to be able to access our data.&#160;&#160;&lt;/p&gt;</comment>
                            <comment id="4626582" author="JIRAUSER1256529" created="Mon, 20 Jun 2022 09:48:41 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=patrick%40txnlab.dev&quot; class=&quot;user-hover&quot; rel=&quot;patrick@txnlab.dev&quot;&gt;patrick@txnlab.dev&lt;/a&gt; Yes, this is something that should not be happening in the first place. I could imagine that some drivers for languages in which the native &quot;string&quot; type is a sequence-of-bytes type rather than sequence-of-characters type (e.g. C/C++) don&#8217;t perform this extra validation step on insert.&lt;/p&gt;</comment>
                            <comment id="4625831" author="JIRAUSER1269802" created="Sun, 19 Jun 2022 02:51:37 +0000"  >&lt;p&gt;Shouldn&apos;t the drivers prevent invalid data from being inserted in the first place?&#160; I&apos;m now suddenly seeing this same behavior and frankly, find it kind of unacceptable.&#160; I can&apos;t even &apos;find&apos; the bad record.&lt;/p&gt;</comment>
                            <comment id="3939526" author="massimiliano.marcon" created="Wed, 14 Jul 2021 15:10:18 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jake%40convictional.com&quot; class=&quot;user-hover&quot; rel=&quot;jake@convictional.com&quot;&gt;jake@convictional.com&lt;/a&gt; as you suspected, Compass 1.27+ uses the most recent versions of the Node.js driver and BSON library, which tend to be more spec compliant than earlier versions of the same libraries.&lt;/p&gt;

&lt;p&gt;There is unfortunately not much we can do to force the driver into having the old behavior and we can&apos;t downgrade the driver as earlier versions would not work well with the new MongoDB 5.0 and with Atlas Serverless.&lt;/p&gt;

&lt;p&gt;I am not sure how a non-UTF-8 string ended up being stored in MongoDB. The workaround atm is to use a version of Compass pre-1.26 to export the data if that works well as you mentioned.&lt;/p&gt;</comment>
                            <comment id="3933286" author="JIRAUSER1261156" created="Wed, 14 Jul 2021 14:18:40 +0000"  >&lt;p&gt;Hi&#160;@Massimiliano Marcon, thanks for your reply.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The BSON spec says strings have to contain valid UTF-8 characters. So Compass (and the underlying driver) work as designed.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The BSON spec determines what makes a string valid but it doesn&apos;t prescribe how to handle invalid documents, so I don&apos;t think its accurate to say this behavior follows naturally from the BSON spec.&lt;/p&gt;

&lt;p&gt;It may be that this works as designed, but the design must have changed between v1.26.1 and v1.27.1. Since there&apos;s no mention of the change in the &lt;a href=&quot;https://jira.mongodb.org/projects/COMPASS/versions/30926&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;release notes&lt;/a&gt; it seems like it&apos;s probably an unintentional side effect (updated driver?) not a design change. Even if it is a design change then I don&apos;t think it&apos;s a good design change: a user that wants to export a collection with 100000 documents now cannot if one document contains one invalid string, whereas the way Compass handled it before (just allow it because why not?) worked perfectly well.&lt;/p&gt;</comment>
                            <comment id="3933174" author="massimiliano.marcon" created="Wed, 14 Jul 2021 13:47:04 +0000"  >&lt;p&gt;The BSON spec says strings have to contain valid UTF-8 characters. So Compass (and the underlying driver) work as designed.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                                                <inwardlinks description="is documented by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1932357">NODE-3784</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="423464" name="image (1).png" size="155418" author="felicia.hsieh@mongodb.com" created="Thu, 22 Dec 2022 17:59:12 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>15.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[5006R00001l8IIjQAM]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 14 Jul 2021 13:47:04 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 19 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_10257" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Documentation Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10250"><![CDATA[Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14266" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Documentation Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;Not sure where this would go, but this is an infrequent issue that comes up. Sometimes, somehow (almost certainly due to a driver bug or maybe someone using the wire protocol directly?) some bad utf8 can make it into a document. This is because the server doesn&apos;t validate utf8 and relies on the drivers to do that.&lt;/p&gt;

&lt;p&gt;As explained in the comments on this ticket, the node driver supports a connection url flag for disabling utf8 validation. This is not just for getting around these situations where you have bad data in the database but also because utf8 validation carries a small performance penalty.&lt;/p&gt;

&lt;p&gt;So you can just stick that param in a connection string and mongosh/compass (or whatever uses a driver that supports it)  should disable utf8 validation. Which gives you the slight performance increase and it means that you can then see the broken documents in their broken state.&lt;/p&gt;

&lt;p&gt;With this PR compass now also exposes this option in the Advanced Connection Options, Advanced tab. The URI Options&apos; &quot;Select key&quot; dropdown now has a new option under Miscellaneous Configuration for &quot;enableUtf8Validation&quot;. To you use it, select it and set the value false. (since it defaults to true).&lt;/p&gt;

&lt;p&gt;This kind of situation does happen from time to time and this workaround should probably be documented somewhere.&lt;/p&gt;</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>jessica.sigafoos@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            1 year, 19 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>anna.henningsen@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>jake@convictional.com</customfieldvalue>
            <customfieldvalue>leroux.bodenstein@mongodb.com</customfieldvalue>
            <customfieldvalue>massimiliano.marcon@mongodb.com</customfieldvalue>
            <customfieldvalue>patrick@txnlab.dev</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzrv4f:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr1nvh:a</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="6309">Iteration Fish</customfieldvalue>
    <customfieldvalue id="6327">Iteration Grouper</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10555" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzrhdj:</customfieldvalue>

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