<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:36:39 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>[GODRIVER-1563] Investigate BSON performance</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-1563</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;p&gt;Compared to globalsign/mgo, mongo/bson still performs worse.&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;BenchmarkMgoUnmarshal-8     	  285722	      3636 ns/op	    1454 B/op	      59 allocs/op&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;BenchmarkMongoUnmarshal-8   	  265944	      4439 ns/op	    2148 B/op	      68 allocs/op&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;BenchmarkMgoMarshal-8       	 1539914	       777 ns/op	     224 B/op	       3 allocs/op&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;BenchmarkMongoMarshal-8     	 1351849	       895 ns/op	     320 B/op	       3 allocs/op&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;Tests run against HEAD of both:&lt;br/&gt;
mgo: eeefdecb41b842af6dc652aaea4026e8403e62df&lt;br/&gt;
mongo: 54b6491aa2097285081a2c3dc6ff4e11418d146f&lt;/p&gt;</description>
                <environment></environment>
        <key id="1308650">GODRIVER-1563</key>
            <summary>Investigate BSON performance</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="divjot.arora@mongodb.com">Divjot Arora</assignee>
                                    <reporter username="bartle">David Bartley</reporter>
                        <labels>
                    </labels>
                <created>Wed, 8 Apr 2020 20:23:36 +0000</created>
                <updated>Thu, 25 Jun 2020 18:36:21 +0000</updated>
                            <resolved>Thu, 25 Jun 2020 18:36:21 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="3224458" author="bartle" created="Thu, 25 Jun 2020 18:35:17 +0000"  >&lt;p&gt;Thanks for taking this on, that&apos;d be fine!&lt;/p&gt;</comment>
                            <comment id="3224454" author="divjot.arora" created="Thu, 25 Jun 2020 18:33:27 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bartle&quot; class=&quot;user-hover&quot; rel=&quot;bartle&quot;&gt;bartle&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;I&apos;m getting around to working on this project. The full description is in GODRIVER-1587. These are the changes we&apos;re considering making:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Add an unexported &lt;tt&gt;typeDecoder&lt;/tt&gt; interface in &lt;tt&gt;bsoncodec.go&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;Implement &lt;tt&gt;typeDecoder&lt;/tt&gt; for all of the primitive types that are used when unmarshalling into a bson.D&lt;/li&gt;
	&lt;li&gt;Add a ValueDecoder for bson.D so it doens&apos;t go through the slice codec.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;I was planning on using&#160;&lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/compare/master...bartle-stripe:bartle-unmarshal-perf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/compare/master...bartle-stripe:bartle-unmarshal-perf&lt;/a&gt;&#160;as the base for (1) and (3) if you&apos;re OK with that. For (3), I think we can pretty much use the &lt;tt&gt;DDecodeValue&lt;/tt&gt; function you added, but I&apos;m not sure yet if we also need a &lt;tt&gt;dDecodeType&lt;/tt&gt; to implement typeDecoder.&lt;/p&gt;

&lt;p&gt;If you&apos;re OK with these suggestions, I can go ahead and close out this ticket and we can investigate further in GODRIVER-1587.&lt;/p&gt;

&lt;p&gt;&amp;#8211; Divjot&lt;/p&gt;</comment>
                            <comment id="3047491" author="xgen-internal-githook" created="Mon, 20 Apr 2020 17:07:38 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;David Bartley&apos;, &apos;email&apos;: &apos;bartle@stripe.com&apos;, &apos;username&apos;: &apos;bartle-stripe&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/GODRIVER-1563&quot; title=&quot;Investigate BSON performance&quot; class=&quot;issue-link&quot; data-issue-key=&quot;GODRIVER-1563&quot;&gt;&lt;del&gt;GODRIVER-1563&lt;/del&gt;&lt;/a&gt; Reduce allocations in bsoncore.Document.LookupErr (#376)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/commit/5e7e89cbca40b008b483e62505cb9cbc4d3d3b9f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/commit/5e7e89cbca40b008b483e62505cb9cbc4d3d3b9f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3033969" author="bartle" created="Thu, 9 Apr 2020 19:45:24 +0000"  >&lt;p&gt;I have a couple branches:&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/compare/master...bartle-stripe:bartle-unmarshal-perf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/compare/master...bartle-stripe:bartle-unmarshal-perf&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/compare/master...bartle-stripe:bartle-unmarshal-perf-alternate&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/compare/master...bartle-stripe:bartle-unmarshal-perf-alternate&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first commit in both of those reduces allocs by directly appending to the underlying slice.  The second one is a tad bit slower but I think it avoids some duplication present in the first approach (though I think the first is easier to understand).&lt;/p&gt;

&lt;p&gt;The second commit is much more involved.  The existing ValueDecoder interface requires that everything passed to it be settable/addressable.  This is reasonable when using the decoder on struct fields, but for a bson.D or empty interface where you don&apos;t have anything allocated up front it&apos;s not.  Instead, this adds a new TypeDecoder interface that directly returns a new value.&lt;/p&gt;

&lt;p&gt;If the codec interfaces aren&apos;t considered to be stable, I&apos;d probably just merge ValueDecoder and TypeDecoder, such that you&apos;d just have &quot;DecodeValue(DecodeContext, bsonrw.ValueReader, reflect.Type) (reflect.Value, error)&quot;.  If the passed-in value is non-nil/settable, you&apos;d mutate that value directly, but otherwise it&apos;d look like DecodeType.&lt;/p&gt;

&lt;p&gt;Please let me know what you think of these approaches!&lt;/p&gt;</comment>
                            <comment id="3033403" author="divjot.arora" created="Thu, 9 Apr 2020 14:58:04 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bartle&quot; class=&quot;user-hover&quot; rel=&quot;bartle&quot;&gt;bartle&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;Thank you for the in-depth investigation and analysis. Based on your previous comments, it seems like you&apos;ve been able to improve the performance in three separate occasions. Can you link some code containing whatever changes you made to the driver&apos;s BSON library to get these improvements in whatever format in whatever format is most convenient for you? I&apos;m leaving the ticket in &quot;Needs Triage&quot; for now so we can decide how to prioritize it in our next meeting, but the code would be super helpful so we don&apos;t end up re-creating work you&apos;ve already done.&lt;/p&gt;</comment>
                            <comment id="3032321" author="bartle" created="Thu, 9 Apr 2020 02:53:37 +0000"  >&lt;p&gt;Indeed, if I change &quot;RegisterTypeMapEntry&quot; to register a &quot;func(DecodeContext, bsonrw.ValueReader) (reflect.Value, error)&quot; instead of &quot;reflect.Type&quot;, and use that directly (instead of allocating a value and calling DecodeValue), it&apos;s significantly faster and has fewer allocs:&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;BenchmarkMgoUnmarshal-8     	  434115	      2473 ns/op	    1384 B/op	      50 allocs/op&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;BenchmarkMongoUnmarshal-8   	  676038	      1744 ns/op	    1408 B/op	      34 allocs/op&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</comment>
                            <comment id="3032296" author="bartle" created="Thu, 9 Apr 2020 02:00:57 +0000"  >&lt;p&gt;I suspect we can do better.  Right now, slice/bson.D allocates a pointer to the go type corresponding to the BSON type and passes that to DecodeValue.  However, I suspect if we instead had a variant of DecodeValue that returned a reflect.Value we could avoid some allocations.&lt;/p&gt;</comment>
                            <comment id="3032283" author="bartle" created="Thu, 9 Apr 2020 01:41:14 +0000"  >&lt;p&gt;With some further optimizations:&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;BenchmarkMgoUnmarshal-8     	  445035	      2424 ns/op	    1384 B/op	      50 allocs/op&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;BenchmarkMongoUnmarshal-8   	  465704	      2569 ns/op	    1508 B/op	      44 allocs/op&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</comment>
                            <comment id="3032275" author="bartle" created="Thu, 9 Apr 2020 01:31:07 +0000"  >&lt;p&gt;Implementing a type decoder for &lt;tt&gt;bson.D&lt;/tt&gt; improves things:&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;BenchmarkMgoUnmarshal-8     	  466627	      2398 ns/op	    1384 B/op	      50 allocs/op&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;BenchmarkMongoUnmarshal-8   	  340713	      3523 ns/op	    1668 B/op	      54 allocs/op&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</comment>
                            <comment id="3032249" author="bartle" created="Thu, 9 Apr 2020 00:42:48 +0000"  >&lt;p&gt;I realized that on the unmarshaling side this wasn&apos;t quite a fair test, because mgo will unmarshal to a map, whereas mongo will unmarshal to a bson.D.  If I force unmarshalling to a bson.D, it&apos;s still slower:&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;BenchmarkMgoUnmarshal-8     	  443968	      2490 ns/op	    1384 B/op	      50 allocs/op&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;BenchmarkMongoUnmarshal-8   	  253532	      4515 ns/op	    2100 B/op	      66 allocs/op&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="255509" name="bson_test.go" size="1020" author="bartle" created="Wed, 8 Apr 2020 20:22:53 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>GODRIVER-1587</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hx1r5b:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>