<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:13:32 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>[CDRIVER-1893] localThresholdMS calculated in microseconds</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-1893</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;This was discovered while reading the code. The topology scanner sets each server&apos;s round trip time in microseconds, then compares the round trip time to localThresholdMS, which is specified in milliseconds (default 15ms).&lt;/p&gt;

&lt;p&gt;In theory, this means that when the driver is doing secondary reads, it ignores a member that is even 15 &lt;b&gt;microseconds&lt;/b&gt; higher-latency than the nearest secondary.&lt;/p&gt;

&lt;p&gt;In practice, I believe the behavior is this: the driver always reads from the lowest-latency member matching the read preference, instead of the specified behavior of reading from the lowest-latency member and all members not more than 15ms higher-latency. But in many users&apos; replica sets, secondaries have similar latencies. Which secondary is lowest-latency varies from one scan to the next, so the driver accidentally distributes reads reasonably evenly.&lt;/p&gt;</description>
                <environment></environment>
        <key id="328519">CDRIVER-1893</key>
            <summary>localThresholdMS calculated in microseconds</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="jesse@mongodb.com">A. Jesse Jiryu Davis</assignee>
                                    <reporter username="jesse@mongodb.com">A. Jesse Jiryu Davis</reporter>
                        <labels>
                    </labels>
                <created>Tue, 1 Nov 2016 19:09:27 +0000</created>
                <updated>Mon, 7 Nov 2016 19:47:58 +0000</updated>
                            <resolved>Wed, 2 Nov 2016 15:02:23 +0000</resolved>
                                    <version>1.2.0</version>
                                    <fixVersion>1.5.0</fixVersion>
                                    <component>libmongoc</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="1423974" author="xgen-internal-githook" created="Wed, 2 Nov 2016 15:01:58 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1893&quot; title=&quot;localThresholdMS calculated in microseconds&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1893&quot;&gt;&lt;del&gt;CDRIVER-1893&lt;/del&gt;&lt;/a&gt; localThresholdMS calc&apos;ed in usec&lt;/p&gt;

&lt;p&gt;This was discovered while reading the code. The topology scanner sets each&lt;br/&gt;
server&apos;s round trip time in microseconds, then compares the round trip time to&lt;br/&gt;
localThresholdMS, which is specified in milliseconds (default 15ms).&lt;/p&gt;

&lt;p&gt;In theory, this means that when the driver is doing secondary reads, it ignores&lt;br/&gt;
a member that is even 15 microseconds higher-latency than the nearest&lt;br/&gt;
secondary.&lt;/p&gt;

&lt;p&gt;In practice, I believe the behavior is this: the driver always reads from the&lt;br/&gt;
lowest-latency member matching the read preference, instead of the specified&lt;br/&gt;
behavior of reading from the lowest-latency member and all members not more&lt;br/&gt;
than 15ms higher-latency. But in many users&apos; replica sets, secondaries have&lt;br/&gt;
similar latencies. Which secondary is lowest-latency varies from one scan to&lt;br/&gt;
the next, so the driver accidentally distributes reads reasonably evenly.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/d6d06fe4b50f95d573749842f16a09a141fb5bed&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/d6d06fe4b50f95d573749842f16a09a141fb5bed&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="321922">CDRIVER-1639</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <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|hrcduv:</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="1255">C Driver 2016 sprint 8</customfieldvalue>

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