<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:12:19 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-26492] 2dsphere geoNear density estimator should stop once it exceeds $maxDistance</title>
                <link>https://jira.mongodb.org/browse/SERVER-26492</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The &lt;tt&gt;GeoNear2DSphereStage::DensityEstimator&lt;/tt&gt; implements a process to calculate the radius for the geoNear search annuli. See &quot;Background on density estimator&quot; below for some further information on this. The density estimator, however, is willing to search areas which entirely contain the &lt;tt&gt;$maxDistance&lt;/tt&gt;. Rather than continuing to search larger and larger areas beyond the max radius, density estimation should stop as soon as its search area exceeds the max. This should prevent the system from wasting work doing unnecessary density estimation.&lt;/p&gt;

&lt;h5&gt;&lt;a name=&quot;Backgroundondensityestimator&quot;&gt;&lt;/a&gt;Background on density estimator&lt;/h5&gt;

&lt;p&gt;First I&apos;d like to explain the density estimator in more detail. 2dsphere geo hashes represent cells on the Earth&apos;s surface at varying granularities, on a spectrum from fine to coarse. The density estimator begins by choosing an initial granularity level, which should be relatively fine. At this initial level, it finds the cell which contains the starting point. It then finds the vertex of this cell which is closest to the geoNear starting point and the three neighboring cells at the same granularity level which share the vertex. Then, we construct an index scan which determines whether there is any matching data inside the four cells.&lt;/p&gt;

&lt;p&gt;If we find at least one matching document, the granularity is used to compute the radius increment which we will use to determine the size of the geoNear search annuli. On the other hand, if no matching documents are found, then we step up to the next coarsest level of granularity. This process continues iteratively until we either find a document, or we reach the coarsest possible granularity.&lt;/p&gt;</description>
                <environment></environment>
        <key id="321466">SERVER-26492</key>
            <summary>2dsphere geoNear density estimator should stop once it exceeds $maxDistance</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="9">Done</resolution>
                                        <assignee username="david.storch@mongodb.com">David Storch</assignee>
                                    <reporter username="david.storch@mongodb.com">David Storch</reporter>
                        <labels>
                            <label>code-only</label>
                    </labels>
                <created>Wed, 5 Oct 2016 22:18:46 +0000</created>
                <updated>Wed, 7 Dec 2016 22:50:14 +0000</updated>
                            <resolved>Wed, 16 Nov 2016 15:25:42 +0000</resolved>
                                    <version>3.0.12</version>
                    <version>3.2.10</version>
                                    <fixVersion>3.2.12</fixVersion>
                    <fixVersion>3.4.0-rc4</fixVersion>
                                    <component>Geo</component>
                    <component>Querying</component>
                                        <votes>3</votes>
                                    <watches>14</watches>
                                                                                                                <comments>
                            <comment id="1440197" author="xgen-internal-githook" created="Tue, 22 Nov 2016 16:23:50 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;dstorch&apos;, u&apos;name&apos;: u&apos;David Storch&apos;, u&apos;email&apos;: u&apos;david.storch@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-26492&quot; title=&quot;2dsphere geoNear density estimator should stop once it exceeds $maxDistance&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-26492&quot;&gt;&lt;del&gt;SERVER-26492&lt;/del&gt;&lt;/a&gt; terminate density estimation after exceeding $maxDistance&lt;/p&gt;

&lt;p&gt;(cherry picked from commit c361d2b09242c150bd84576816d5337352fcbf55)&lt;br/&gt;
Branch: v3.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/8f970ad08cbe4ced44264fc913ba27eac420873a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/8f970ad08cbe4ced44264fc913ba27eac420873a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1435638" author="david.storch" created="Wed, 16 Nov 2016 15:49:32 +0000"  >&lt;p&gt;This is now fixed for 3.4.0-rc4 in the master branch with the following commit. (It appears that our automated hook for posting commit comments failed due to transient problems with github availability.)&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo/commit/c361d2b09242c150bd84576816d5337352fcbf55&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/c361d2b09242c150bd84576816d5337352fcbf55&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are currently in the process of releasing 3.2.11, which includes several important fixes, and cannot make further changes on the v3.2 branch. Therefore, this fix is now approved and targeted for 3.2.12. Approval for backport to the v3.0 branch is pending.&lt;/p&gt;</comment>
                            <comment id="1434019" author="xgen-internal-githook" created="Tue, 15 Nov 2016 01:00:23 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;dstorch&apos;, u&apos;name&apos;: u&apos;David Storch&apos;, u&apos;email&apos;: u&apos;david.storch@10gen.com&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-26492&quot; title=&quot;2dsphere geoNear density estimator should stop once it exceeds $maxDistance&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-26492&quot;&gt;&lt;del&gt;SERVER-26492&lt;/del&gt;&lt;/a&gt; terminate density estimation after exceeding $maxDistance&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit be3535a26e9c0d09ccf3ec5de0fd26ac48a3a6ff.&lt;br/&gt;
Branch: v3.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/64b274e02c63ace15bd60cd47c754967339c586a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/64b274e02c63ace15bd60cd47c754967339c586a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1434017" author="xgen-internal-githook" created="Tue, 15 Nov 2016 00:55:15 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;dstorch&apos;, u&apos;name&apos;: u&apos;David Storch&apos;, u&apos;email&apos;: u&apos;david.storch@10gen.com&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-26492&quot; title=&quot;2dsphere geoNear density estimator should stop once it exceeds $maxDistance&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-26492&quot;&gt;&lt;del&gt;SERVER-26492&lt;/del&gt;&lt;/a&gt; terminate density estimation after exceeding $maxDistance&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit 1323228230603455daceafb0dc52f15be5363e99.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/bed166fa1fe6070669fce5e7a9934f8c05ce562a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/bed166fa1fe6070669fce5e7a9934f8c05ce562a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1434014" author="david.storch" created="Tue, 15 Nov 2016 00:48:05 +0000"  >&lt;p&gt;I&apos;m re-opening this ticket and reverting on both the master and 3.2 branches, since our continuous integration testing has discovered an issue with the patch. Work on a new patch is in progress.&lt;/p&gt;</comment>
                            <comment id="1433757" author="xgen-internal-githook" created="Mon, 14 Nov 2016 21:21:42 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;dstorch&apos;, u&apos;name&apos;: u&apos;David Storch&apos;, u&apos;email&apos;: u&apos;david.storch@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-26492&quot; title=&quot;2dsphere geoNear density estimator should stop once it exceeds $maxDistance&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-26492&quot;&gt;&lt;del&gt;SERVER-26492&lt;/del&gt;&lt;/a&gt; terminate density estimation after exceeding $maxDistance&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 1323228230603455daceafb0dc52f15be5363e99)&lt;br/&gt;
Branch: v3.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/be3535a26e9c0d09ccf3ec5de0fd26ac48a3a6ff&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/be3535a26e9c0d09ccf3ec5de0fd26ac48a3a6ff&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1432500" author="xgen-internal-githook" created="Fri, 11 Nov 2016 22:45:54 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;dstorch&apos;, u&apos;name&apos;: u&apos;David Storch&apos;, u&apos;email&apos;: u&apos;david.storch@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-26492&quot; title=&quot;2dsphere geoNear density estimator should stop once it exceeds $maxDistance&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-26492&quot;&gt;&lt;del&gt;SERVER-26492&lt;/del&gt;&lt;/a&gt; terminate density estimation after exceeding $maxDistance&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/1323228230603455daceafb0dc52f15be5363e99&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/1323228230603455daceafb0dc52f15be5363e99&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1422547" author="dan@10gen.com" created="Tue, 1 Nov 2016 02:33:29 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=girak&quot; class=&quot;user-hover&quot; rel=&quot;girak&quot;&gt;girak&lt;/a&gt;, we understand the issue and are planning to work on this issue in the current sprint.  Backports can only be made once we have a fix in place in master, but I&apos;ve explicitly marked this issue as requested for backport.&lt;/p&gt;</comment>
                            <comment id="1422206" author="girak" created="Mon, 31 Oct 2016 19:46:38 +0000"  >&lt;p&gt;Hi @david.storch is there a reason why this critical bug fix is not being backported to both versions 3.0 and 3.2?&lt;br/&gt;
As the density estimator bug went off to scan the whole set, it&apos;s going to push the mongod to run OOM possibly and crash.&lt;/p&gt;</comment>
                            <comment id="1412653" author="david.storch" created="Wed, 19 Oct 2016 15:26:01 +0000"  >&lt;p&gt;Density estimation was added as a performance optimization during development for 3.0: see &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-15562&quot; title=&quot;Estimate density before $near search&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-15562&quot;&gt;&lt;del&gt;SERVER-15562&lt;/del&gt;&lt;/a&gt;. Therefore, this problem does not affect 2.6.x or earlier versions.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="322046">SERVER-26518</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>10.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_12451" key="com.atlassian.jira.plugin.system.customfieldtypes:multiversion">
                        <customfieldname>Backport Completed</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="17669">3.2.12</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_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[500A000000VCgEuIAL]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 7 Oct 2016 14:39:04 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        7 years, 12 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_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>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            7 years, 12 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>dan@mongodb.com</customfieldvalue>
            <customfieldvalue>david.storch@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>girak</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrju3z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hsqiw7:</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="1349">Query 2016-11-21</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|hseh8n:</customfieldvalue>

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