<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:33:24 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-54389] Audit internal uses of force reconfig and consider using safe reconfig</title>
                <link>https://jira.mongodb.org/browse/SERVER-54389</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;When using force reconfig, we will bypass the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/3fb8a941f4624291e3091a1ff96dde4f62b772cd/src/mongo/db/repl/replication_coordinator_impl.cpp#L3516-L3519&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;noop write&lt;/a&gt;&#160;while also &lt;a href=&quot;https://github.com/mongodb/mongo/blob/3fb8a941f4624291e3091a1ff96dde4f62b772cd/src/mongo/db/repl/replication_coordinator_impl.cpp#L3625-L3627&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;clearing the committed snapshot&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Previously, internal users of doReplSetReconfig only changed the config term and version (stepup, upgrade/downgrade). We probably favored force reconfigs in these scenarios because they are faster and still safe. Since the content of the config did not change, and therefore did not affect the quorum condition, we did not drop snapshots.&lt;/p&gt;

&lt;p&gt;However, in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-50423&quot; title=&quot;Change memberConfig&amp;#39;s slaveDelay field to secondaryDelaySecs in FCV 4.7&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-50423&quot;&gt;&lt;del&gt;SERVER-50423&lt;/del&gt;&lt;/a&gt;, we explicitly rename the slaveDelay field to secondaryDelaySecs, so &lt;a href=&quot;https://github.com/mongodb/mongo/blob/3fb8a941f4624291e3091a1ff96dde4f62b772cd/src/mongo/db/repl/replication_coordinator_impl.cpp#L3621-L3624&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this check&lt;/a&gt; will treat that rename as a content change.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1616163">SERVER-54389</key>
            <summary>Audit internal uses of force reconfig and consider using safe reconfig</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="13201">Fixed</resolution>
                                        <assignee username="jason.chan@mongodb.com">Jason Chan</assignee>
                                    <reporter username="pavithra.vetriselvan@mongodb.com">Pavithra Vetriselvan</reporter>
                        <labels>
                    </labels>
                <created>Mon, 8 Feb 2021 15:34:34 +0000</created>
                <updated>Sun, 29 Oct 2023 21:57:48 +0000</updated>
                            <resolved>Mon, 29 Mar 2021 20:11:06 +0000</resolved>
                                                    <fixVersion>5.0.0-rc0</fixVersion>
                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="3689903" author="xgen-internal-githook" created="Mon, 29 Mar 2021 20:08:52 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jason Chan&apos;, &apos;email&apos;: &apos;jason.chan@mongodb.com&apos;, &apos;username&apos;: &apos;jasonjhchan&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-54389&quot; title=&quot;Audit internal uses of force reconfig and consider using safe reconfig&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-54389&quot;&gt;&lt;del&gt;SERVER-54389&lt;/del&gt;&lt;/a&gt; Add option for safe and optimized reconfig that is separate from forced reconfig&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/201317dfba066ec91f090e43a297719a25823c6b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/201317dfba066ec91f090e43a297719a25823c6b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3680446" author="jason.chan" created="Tue, 23 Mar 2021 22:11:54 +0000"  >&lt;p&gt;Spoke with &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=pavithra.vetriselvan&quot; class=&quot;user-hover&quot; rel=&quot;pavithra.vetriselvan&quot;&gt;pavithra.vetriselvan&lt;/a&gt;, we decided that as part of this ticket, we will add an &quot;optimized&quot; safe reconfig code path that is entirely separate from the idea of forced reconfig. The intended use case is for internal reconfigs that do not change the consensus group (eg. bumping the version or config term). The &quot;optimized&quot; safe reconfig code path will have the same behavior as a regular safe reconfig, but will omit the following checks described in my comment above:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;3) The check that the latest committed optime from the previous config is committed in the current config&lt;/li&gt;
	&lt;li&gt;7) The quorum check&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="3678063" author="jason.chan" created="Mon, 22 Mar 2021 23:52:30 +0000"  >&lt;p&gt;Separating it out from &lt;tt&gt;doReplSetReconfig&lt;/tt&gt; is fine too, but I guess that would require a bit more refactoring to pull out the common code being used by &lt;tt&gt;doReplSetReconfig&lt;/tt&gt; and the new &quot;&lt;tt&gt;safeButOpTimizedReconfig&lt;/tt&gt;&quot;. For what it&apos;s worth, adding a new flag to &lt;tt&gt;doReplSetReconfig&lt;/tt&gt; might make it easier to choose the behavior of the &quot;safe but optimized reconfig&quot; codepath in case requirements change in the future.&lt;/p&gt;</comment>
                            <comment id="3678051" author="lingzhi.deng" created="Mon, 22 Mar 2021 23:37:50 +0000"  >&lt;p&gt;My understanding is that we don&apos;t want to overload &lt;tt&gt;doReplSetReconfig&lt;/tt&gt; for &quot;internal, safe but optimized&quot; reconfigs. So I guess we might want to separate that out from &lt;tt&gt;doReplSetReconfig&lt;/tt&gt; as a whole?&lt;/p&gt;</comment>
                            <comment id="3677864" author="jason.chan" created="Mon, 22 Mar 2021 21:51:13 +0000"  >&lt;p&gt;Currently, calling &lt;a href=&quot;https://github.com/mongodb/mongo/blob/89496e36f1bf600d71e0595ed595d05faa5517ea/src/mongo/db/repl/replication_coordinator_impl.cpp#L3320&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;doReplSetReconfig&lt;/a&gt; with force=true will have the following differing behavior:&lt;br/&gt;
 1. We skip the safety check that the reconfig is permitted while &lt;a href=&quot;https://github.com/mongodb/mongo/blob/89496e36f1bf600d71e0595ed595d05faa5517ea/src/mongo/db/repl/replication_coordinator_impl.cpp#L3353&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;not being a writable primary&lt;/a&gt;.&lt;br/&gt;
 2. We skip the safety check that the current rsConfig &lt;a href=&quot;https://github.com/mongodb/mongo/blob/89496e36f1bf600d71e0595ed595d05faa5517ea/src/mongo/db/repl/replication_coordinator_impl.cpp#L3362&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;is allowed to be from an older term&lt;/a&gt;.&lt;br/&gt;
 3. We &lt;a href=&quot;https://github.com/mongodb/mongo/blob/89496e36f1bf600d71e0595ed595d05faa5517ea/src/mongo/db/repl/replication_coordinator_impl.cpp#L3374-L3407&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;skip the check that the latest committed optime from the previous config is committed in the current config&lt;/a&gt;.&lt;br/&gt;
 4. We skip the safety check that the reconfig is &lt;a href=&quot;https://github.com/mongodb/mongo/blob/fd0d1ee222726959b7b211c614e92be903b13a54/src/mongo/db/repl/repl_set_config_checks.cpp#L455-L458&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;adding/removing at most 1 voter node&lt;/a&gt;.&lt;br/&gt;
 5. We always &lt;a href=&quot;https://github.com/mongodb/mongo/blob/89496e36f1bf600d71e0595ed595d05faa5517ea/src/mongo/db/repl/replication_coordinator_impl.cpp#L3478-L3480&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;hold on to the FCV lock&lt;/a&gt;.&lt;br/&gt;
 6. When finding self in config, we &lt;a href=&quot;https://github.com/mongodb/mongo/blob/89496e36f1bf600d71e0595ed595d05faa5517ea/src/mongo/db/repl/replication_coordinator_impl.cpp#L3493-L3495&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;skip the check to see if we are also electable.&lt;/a&gt;&lt;br/&gt;
 7. We &lt;a href=&quot;https://github.com/mongodb/mongo/blob/89496e36f1bf600d71e0595ed595d05faa5517ea/src/mongo/db/repl/replication_coordinator_impl.cpp#L3513&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;skip the quorum check&lt;/a&gt;.&lt;br/&gt;
 8. We &lt;a href=&quot;https://github.com/mongodb/mongo/blob/89496e36f1bf600d71e0595ed595d05faa5517ea/src/mongo/db/repl/replication_coordinator_impl.cpp#L3533-L3536&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;skip the no-op write&lt;/a&gt;.&lt;br/&gt;
 9. Some special logic with &lt;a href=&quot;https://github.com/mongodb/mongo/blob/89496e36f1bf600d71e0595ed595d05faa5517ea/src/mongo/db/repl/replication_coordinator_impl.cpp#L3581-L3621&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;force reconfig and stepdown&lt;/a&gt;. Specific details in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-37574&quot; title=&quot;Force reconfig should kill user operations&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-37574&quot;&gt;&lt;del&gt;SERVER-37574&lt;/del&gt;&lt;/a&gt;.&lt;br/&gt;
 10. When the config has changed, &lt;a href=&quot;https://github.com/mongodb/mongo/blob/89496e36f1bf600d71e0595ed595d05faa5517ea/src/mongo/db/repl/replication_coordinator_impl.cpp#L3648&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;always clear the committed snapshot&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;After &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-53953&quot; title=&quot;Fix invariant failure when downgrading FCV with an index build in progress&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-53953&quot;&gt;&lt;del&gt;SERVER-53953&lt;/del&gt;&lt;/a&gt;, the only internal usage of a forced reconfig is in &lt;a href=&quot;https://github.com/mongodb/mongo/blob/89496e36f1bf600d71e0595ed595d05faa5517ea/src/mongo/db/repl/replication_coordinator_impl.cpp#L1190&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;signalDrainComplete&lt;/a&gt;. From this &lt;a href=&quot;https://github.com/mongodb/mongo/blob/89496e36f1bf600d71e0595ed595d05faa5517ea/src/mongo/db/repl/replication_coordinator_impl.cpp#L1176-L1178&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;comment&lt;/a&gt;, I believe we use the force reconfig as a means to optimize the stepUp process by skipping any safety/quorum checks. It should be fine to change this to use a safe reconfig, but doing so may cause a performance regression. From &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=judah.schvimer&quot; class=&quot;user-hover&quot; rel=&quot;judah.schvimer&quot;&gt;judah.schvimer&lt;/a&gt;&apos;s comment, we should consider adding an avenue for callers to optimize their safe reconfigs without relying on the &quot;force&quot; flag. This may be in the form of adding a new argument to &lt;tt&gt;doReplSetReconfig&lt;/tt&gt; to skip the most expensive parts of the safe reconfig protocol in cases where the caller acknowledges the reconfig scenario is guaranteed to be &quot;safe&quot;.&lt;/p&gt;

&lt;p&gt;My guess is that checks (3) and (7) above are the most expensive parts of the safe reconfig protocol. I propose that we add a &lt;tt&gt;skipCommitOpTimeAndQuorumCheck&lt;/tt&gt; flag to &lt;tt&gt;doReplSetReconfig&lt;/tt&gt; that will skip the checks (3) and (7) when set to true.&#160;&lt;/p&gt;

&lt;p&gt;cc: &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=lingzhi.deng&quot; class=&quot;user-hover&quot; rel=&quot;lingzhi.deng&quot;&gt;lingzhi.deng&lt;/a&gt; &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=siyuan.zhou&quot; class=&quot;user-hover&quot; rel=&quot;siyuan.zhou&quot;&gt;siyuan.zhou&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3605347" author="siyuan.zhou@10gen.com" created="Mon, 8 Feb 2021 20:16:36 +0000"  >&lt;p&gt;I believe we abused &quot;force&quot; in the codebase. It could mean&lt;br/&gt;
1. skipping safety checks, like single node change&lt;br/&gt;
2. skipping quorum check&lt;br/&gt;
3. skipping other checks, like in the config check logic.&lt;/p&gt;

&lt;p&gt;We use &quot;force&quot; to skip them for different reasons, so I agree we should audit and rename the arguments when necessary.&lt;/p&gt;</comment>
                            <comment id="3604533" author="judah.schvimer" created="Mon, 8 Feb 2021 16:03:20 +0000"  >&lt;p&gt;In general, I think we should separate out the concept of &quot;force reconfig&quot; from the concept of &quot;safe, optimized reconfig&quot;. Optimizing reconfigs in cases where we know it is safe makes sense, but it is dangerous for us to mix that in with force reconfig. When making changes to force reconfig, it is easy to forget these use cases where we expect the force reconfig behavior to be safe in practice. It is also hard to think through all of the ways force reconfig could be unsafe when using it in safe scenarios.&lt;/p&gt;

&lt;p&gt;CC &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=siyuan.zhou&quot; class=&quot;user-hover&quot; rel=&quot;siyuan.zhou&quot;&gt;siyuan.zhou&lt;/a&gt;, in case you have any thoughts.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1596902">SERVER-53953</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1210361">SERVER-46516</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1447672">SERVER-50423</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</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_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 8 Feb 2021 16:03:20 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 45 weeks, 2 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_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></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>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            2 years, 45 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>jason.chan@mongodb.com</customfieldvalue>
            <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
            <customfieldvalue>lingzhi.deng@mongodb.com</customfieldvalue>
            <customfieldvalue>pavithra.vetriselvan@mongodb.com</customfieldvalue>
            <customfieldvalue>siyuan.zhou@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hytwr3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hxr3zj:</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="4762">Repl 2021-03-22</customfieldvalue>
    <customfieldvalue id="4798">Repl 2021-04-05</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|hytj07:</customfieldvalue>

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