<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:12:31 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-6726] Add configuration to &quot;mongos&quot; to allow finer-grained control of the connection pool</title>
                <link>https://jira.mongodb.org/browse/SERVER-6726</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Please review and accept these kind of the features that enable us to control the connection pools.&lt;/p&gt;

&lt;p&gt;We are trying to use it with the each parameter of &quot;maxSpareConnPools=50&quot; , &quot;connPoolTimeout=300&quot;.&lt;br/&gt;
Because we are difficult to keep the long idling TCP connection in our Data-center.&lt;br/&gt;
It could be causing the session table overflow on the switch. And eventually the connections will be halted.&lt;/p&gt;

&lt;p&gt;==== Pull-Request ====&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/pull/278&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/pull/278&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I&apos;m Hiroaki Kubota from rakuten.co.jp. (hiroaki.kubota@mail.rakuten.com)&lt;/p&gt;

&lt;p&gt;We are using the MongoDB with sharding structure.&lt;br/&gt;
And connect to the Mongo-Sharding from approximates 100 web servers&lt;br/&gt;
(that have 50 httpd process per server).&lt;br/&gt;
We also run the &quot;mongos&quot; on each web server.&lt;/p&gt;

&lt;p&gt;Normally the number of the connections between &quot;mongs&quot; and &quot;mongod&quot; is approximates 55.&lt;br/&gt;
It&apos;s the good form !&lt;br/&gt;
But sometimes, the number of the connections raise to 300-350 on every web server.&lt;br/&gt;
And the &quot;mongod&quot; would refuse to connect from &quot;mongos&quot; more than 20000 as the limit of the mongod.&lt;/p&gt;

&lt;p&gt;So we want to control the connection pool in the &quot;mongos&quot;.&lt;/p&gt;

&lt;p&gt;You already provide us the &quot;maxConns&quot; configuration.&lt;br/&gt;
However &quot;maxConns&quot; affects client side of the &quot;mongos&quot;.&lt;/p&gt;

&lt;p&gt;It&apos;s useless for us.&lt;/p&gt;

&lt;p&gt;So we added some configurations to control &quot;mongos&quot; more minutely.&lt;/p&gt;

&lt;p&gt;maxSpareConnPools&lt;br/&gt;
50 is default.&lt;br/&gt;
It&apos;s used in PoolForHost::getStaleConnections()&lt;/p&gt;

&lt;p&gt;connPoolTimeout&lt;br/&gt;
1800 is default.&lt;br/&gt;
It&apos;s used in PoolForHost::StoredConnection::ok()&lt;br/&gt;
It&apos;s hard coded now.&lt;/p&gt;

&lt;p&gt;Please review it and accept this pull-request.&lt;/p&gt;

&lt;p&gt;Regards,&lt;/p&gt;</description>
                <environment>Various platforms.&lt;br/&gt;
Especially, any types of Linux distributions. CentOS , Debian x86_64, i686 and so on... </environment>
        <key id="46397">SERVER-6726</key>
            <summary>Add configuration to &quot;mongos&quot; to allow finer-grained control of the connection pool</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</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="-1">Unassigned</assignee>
                                    <reporter username="crumbjp">Hiroaki</reporter>
                        <labels>
                            <label>connection</label>
                            <label>mongos</label>
                            <label>pull-request</label>
                    </labels>
                <created>Tue, 7 Aug 2012 01:30:48 +0000</created>
                <updated>Mon, 23 Mar 2015 17:49:03 +0000</updated>
                            <resolved>Thu, 26 Jun 2014 16:19:18 +0000</resolved>
                                                                    <component>Internal Client</component>
                    <component>Networking</component>
                    <component>Stability</component>
                                        <votes>2</votes>
                                    <watches>10</watches>
                                                                                                                <comments>
                            <comment id="635098" author="matt.kangas@10gen.com" created="Thu, 26 Jun 2014 16:15:08 +0000"  >&lt;p&gt;From Greg:&lt;/p&gt;

&lt;p&gt;It&apos;s not 100% clear what is meant by release connections positively, but if you are looking for a way to flush the connection pool, the &quot;connPoolSync&quot; command should work, particularly in 2.6 where every connection is in the pool between requests.&lt;/p&gt;

&lt;p&gt;There&apos;s an internal parameter in v2.6 as well to control connection pool size:&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;&amp;gt; db.runCommand({getParameter:&apos;*&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;   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;	&quot;connPoolMaxConnsPerHost&quot; : 200,&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;	&quot;connPoolMaxShardedConnsPerHost&quot; : 200,&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;We believe this issue is now resolved. Feel free to reopen this ticket or open a new ticket if you feel otherwise.&lt;/p&gt;</comment>
                            <comment id="331726" author="crumbjp" created="Thu, 9 May 2013 07:08:30 +0000"  >&lt;p&gt;Thanks !!&lt;br/&gt;
I confirmed releaseConnectionsAfterResponse option behavior.&lt;br/&gt;
It worked well !  So I&apos;ll always set true this option.&lt;/p&gt;

&lt;p&gt;But I could not resolve this issues.&lt;br/&gt;
Because Mongos won&apos;t release connections positively, even if  releaseConnectionsAfterResponse option is specified to Mongos.&lt;/p&gt;

&lt;p&gt;So I need the way to release connection from Mongos yet.&lt;/p&gt;</comment>
                            <comment id="330334" author="greg_10gen" created="Tue, 7 May 2013 16:18:28 +0000"  >&lt;p&gt;&amp;gt; I understood the releaseConnectionsAfterResponse option totally invalidate connection pool in mongos. Am I correct ?&lt;/p&gt;

&lt;p&gt;No, the option allows better use of the connection pool, it doesn&apos;t invalidate the connections in the pool.  Normally, mongos-&amp;gt;mongod connections for insert/update/delete/query are cached individually for each incoming connection, and can&apos;t be re-used until the incoming connection is closed, even if they are idle and there are other active incoming connections.&lt;/p&gt;

&lt;p&gt;What the releaseConnectionsAfterResponse option does is allow the mongos-&amp;gt;mongod connection to be re-used (returned to the pool) after any read op (including getLastError(), so after safe writes as well).  It shouldn&apos;t have a significant performance impact - the connection isn&apos;t destroyed, it&apos;s just returned from the incoming connection cache to the shared pool early.&lt;/p&gt;

&lt;p&gt;&amp;gt; Yes, we have to design and control our system structure minutely for our service stability and performance. So we strongly need the way to control mongos behaviour around connection pool as much as possible.&lt;/p&gt;

&lt;p&gt;Sure, I just wanted to emphasize that this particular parameter, maxSpareConnPools, won&apos;t prevent the connection overloading since the extra connections aren&apos;t actually stored in the pool, they&apos;re stored in a per-incoming-connection cache.&lt;/p&gt;</comment>
                            <comment id="328048" author="crumbjp" created="Fri, 3 May 2013 23:30:22 +0000"  >&lt;p&gt;&amp;gt; for example, from holding 300 mongos-&amp;gt;mongod connections in each connection&apos;s (ShardConnection) cache.&lt;br/&gt;
Yes, we have to design and control our system structure minutely for our service stability and performance.&lt;br/&gt;
So we strongly need the way to control mongos behaviour around connection pool as much as possible.&lt;/p&gt;

&lt;p&gt;By the way,the most ideal conn-pool behavior for us, The mongod should determine dynamically each connection&apos;s fate whether it should be pooled or destroyed.&lt;/p&gt;</comment>
                            <comment id="328040" author="crumbjp" created="Fri, 3 May 2013 23:08:34 +0000"  >&lt;p&gt;Thanks, I will try releaseConnectionsAfterResponse option on next week. (This week is national holiday in Japan)&lt;/p&gt;

&lt;p&gt;I took a glance at server.cpp.&lt;br/&gt;
I understood the releaseConnectionsAfterResponse option totally invalidate connection pool in mongos. Am I correct ?&lt;/p&gt;

&lt;p&gt;I&apos;m thinking about its performance impact for our service that need about 10 request in each page view in web.&lt;/p&gt;

&lt;p&gt;Ideal behavior for us, mongos keep connection pools in extent of the specified MAX for performance, and some connections of request exceeding from MAX of the connection is destroyed. &lt;/p&gt;</comment>
                            <comment id="327980" author="hoffrocket" created="Fri, 3 May 2013 21:46:20 +0000"  >&lt;p&gt;I brought this up ticket up with Eliot, and he said this wouldn&apos;t do what we wanted. That&apos;s when he created the releaseConnectionsAfterResponse patch which has been working great for us. Massive reduction in primary connections.&lt;/p&gt;</comment>
                            <comment id="327957" author="greg_10gen" created="Fri, 3 May 2013 21:23:48 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=crumbjp&quot; class=&quot;user-hover&quot; rel=&quot;crumbjp&quot;&gt;crumbjp&lt;/a&gt; - Thanks for submitting this pull request - have you tested this fix under load on your mongoses?  If I&apos;m reading this correctly, this will allow you specify that you periodically clean your connection pools to some configurable size X, but won&apos;t actually prevent the 300 active web server connections, for example, from holding 300 mongos-&amp;gt;mongod connections in each connection&apos;s (ShardConnection) cache.&lt;/p&gt;

&lt;p&gt;For this, you&apos;d need something similar to &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-9022&quot; title=&quot;Enable mongos mode which releases ShardConnections to the pool after read ops&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-9022&quot;&gt;&lt;del&gt;SERVER-9022&lt;/del&gt;&lt;/a&gt;, which allows mongos to share mongos-&amp;gt;mongod connections between active incoming connections - this looks like it&apos;s the core issue.  2.2.4 has the releaseConnectionsAfterResponse option - would trying that option be possible?&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=hoffrocket&quot; class=&quot;user-hover&quot; rel=&quot;hoffrocket&quot;&gt;hoffrocket&lt;/a&gt; - have a particular use case in mind?  Ideally we&apos;d like to keep the knobs here pretty minimal, and we&apos;re working on multiplexing ops over the same connections which would eliminate the problem entirely, but if the defaults here are causing you pain we&apos;d def like to know.&lt;/p&gt;
</comment>
                            <comment id="275708" author="hoffrocket" created="Mon, 25 Feb 2013 23:24:41 +0000"  >&lt;p&gt;These limits might be helpful for us at Foursquare as well.&lt;/p&gt;</comment>
                            <comment id="243258" author="crumbjp" created="Fri, 18 Jan 2013 06:06:16 +0000"  >&lt;p&gt;I posted the pull-request again. &lt;br/&gt;
 &lt;a href=&quot;https://github.com/mongodb/mongo/pull/359&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/pull/359&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="152171" author="crumbjp" created="Fri, 10 Aug 2012 05:37:01 +0000"  >&lt;p&gt;I confirmed it. &lt;/p&gt;

&lt;p&gt;We began to discuss about this Agreement with our company.&lt;br/&gt;
But unfortunately, next week is the Bon that is a summer holiday in Japan.&lt;br/&gt;
So we probably cannot answer about this Agreement until around 8/27.&lt;/p&gt;

&lt;p&gt;Sorry for inconvenient.&lt;/p&gt;

&lt;p&gt;Regards,&lt;/p&gt;</comment>
                            <comment id="151065" author="ian@10gen.com" created="Tue, 7 Aug 2012 12:57:56 +0000"  >&lt;p&gt;Hiroaki, thanks for submitting your pull request.  Before we can begin to discuss this with you we&apos;ll need you to sign our Contributor Agreement available at &lt;a href=&quot;http://www.10gen.com/contributor&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.10gen.com/contributor&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>11.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 7 Aug 2012 12:57:56 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        9 years, 33 weeks, 6 days 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>ian@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            9 years, 33 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>greg_10gen</customfieldvalue>
            <customfieldvalue>crumbjp</customfieldvalue>
            <customfieldvalue>ian@mongodb.com</customfieldvalue>
            <customfieldvalue>hoffrocket</customfieldvalue>
            <customfieldvalue>matt.kangas</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrnsb3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrg53b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7729</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_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|hrr8r3:</customfieldvalue>

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