<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:37:29 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>[CSHARP-663] Move life cycle managament of server proxy objects down to MongoServerProxyFactory</title>
                <link>https://jira.mongodb.org/browse/CSHARP-663</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;Currently when an instance of MongoServer is created a matching MongoServerProxy is created which in turn results in the creation of a new connection pool.&lt;/p&gt;

&lt;p&gt;Because of this, MongoServer keeps a map of all the instances that have been created and MongoServer.Create first tries to return an existing MongoServerInstance before creating a new one.&lt;/p&gt;

&lt;p&gt;An existing MongoServer instance can only be returned if all the MongoServerSettings are identical. But many of the settings have nothing to do with the server itself or the connection pool, but with client side things. So for example, two MongoServerSettings that differ only in ReadPreference would result in the creation of two MongoServer objects and therefore two connection pools.&lt;/p&gt;

&lt;p&gt;This change would move the creation logic to reuse existing instances down into the MongoServerProxyFactory class, and the decision on whether a new proxy was needed or not would only be based on the part of the settings that are server related.&lt;/p&gt;

&lt;p&gt;MongoServer would become a lightweight object that could be freely created and disposed with no effect on the underlying proxies and their connection pools.&lt;/p&gt;

&lt;p&gt;Note also that we are planning to deprecate MongoServer, so this change is also a step in that direction. Many of the MongoServer methods would move to MongoClient.&lt;/p&gt;

&lt;p&gt;This could be backward breaking if you were relying in some way on the previous lifecycle behavior. For example, if you were deliberately changing some small irrelevant setting to purposely cause the creation of a new connection pool or were using reference equality to compare different MongoServer objects to each other.&lt;/p&gt;</description>
                <environment></environment>
        <key id="62292">CSHARP-663</key>
            <summary>Move life cycle managament of server proxy objects down to MongoServerProxyFactory</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="3">Duplicate</resolution>
                                        <assignee username="robert@mongodb.com">Robert Stam</assignee>
                                    <reporter username="robert@mongodb.com">Robert Stam</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Jan 2013 14:28:49 +0000</created>
                <updated>Tue, 19 Aug 2014 02:40:45 +0000</updated>
                            <resolved>Tue, 19 Aug 2014 02:40:45 +0000</resolved>
                                    <version>1.7</version>
                                    <fixVersion>2.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="694634" author="rstam" created="Tue, 19 Aug 2014 02:40:10 +0000"  >&lt;p&gt;This ticket has been superseded by &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-975&quot; title=&quot;Move Caching of Connection Pools out of MongoServer.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-975&quot;&gt;&lt;del&gt;CSHARP-975&lt;/del&gt;&lt;/a&gt;, which more generally states that connection pool caching should be moved out of MongoServer.&lt;/p&gt;

&lt;p&gt;This ticket is also obsolete because once &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-875&quot; title=&quot;Reimplement legacy API on top of New Core&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-875&quot;&gt;&lt;del&gt;CSHARP-875&lt;/del&gt;&lt;/a&gt; is implemented the MongoServerProxyFactory class won&apos;t exist anymore.&lt;/p&gt;</comment>
                            <comment id="279122" author="auto" created="Fri, 1 Mar 2013 16:29:00 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2013-02-28T23:45:50Z&apos;, u&apos;name&apos;: u&apos;rstam&apos;, u&apos;email&apos;: u&apos;robert@10gen.com&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-663&quot; title=&quot;Move life cycle managament of server proxy objects down to MongoServerProxyFactory&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-663&quot;&gt;&lt;del&gt;CSHARP-663&lt;/del&gt;&lt;/a&gt;: Move caching of proxy objects to&lt;br/&gt;
MongoServerProxyFactory.&quot; This change has been rescheduled for version&lt;br/&gt;
2.0.&lt;/p&gt;

&lt;p&gt;This reverts commit 207a824f30dca891d582f324273eb506d89d0fba.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/commit/f819fb5ecc4c7d8ec43dda118dc9308de126bdfd&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/commit/f819fb5ecc4c7d8ec43dda118dc9308de126bdfd&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="278599" author="rstam" created="Thu, 28 Feb 2013 23:42:48 +0000"  >&lt;p&gt;We have decided to postpone this change until version 2.0, so I am reopening this ticket and rescheduling it for version 2.0.&lt;/p&gt;</comment>
                            <comment id="265450" author="auto" created="Wed, 13 Feb 2013 19:50:47 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2013-02-13T19:47:21Z&apos;, u&apos;name&apos;: u&apos;rstam&apos;, u&apos;email&apos;: u&apos;robert@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-663&quot; title=&quot;Move life cycle managament of server proxy objects down to MongoServerProxyFactory&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-663&quot;&gt;&lt;del&gt;CSHARP-663&lt;/del&gt;&lt;/a&gt;: Move caching of proxy objects to MongoServerProxyFactory.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/commit/207a824f30dca891d582f324273eb506d89d0fba&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/commit/207a824f30dca891d582f324273eb506d89d0fba&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="62294">CSHARP-664</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="137656">CSHARP-975</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10011"><![CDATA[Minor Change]]></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>CSHARP-936</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrf9vz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1465</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="261">C# Sprint 7</customfieldvalue>

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