<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:00:09 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>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-13306] allow clients to accept mgs_nidtbl_entry with IPv6 NIDs</title>
                <link>https://jira.whamcloud.com/browse/LU-13306</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Currently, if a client receives an &lt;tt&gt;mgs_nidtbl_entry&lt;/tt&gt; with &lt;tt&gt;mne_nid_type != 0&lt;/tt&gt; or &lt;tt&gt;mne_nid_size != sizeof(lnet_nid_t)=8&lt;/tt&gt; the client will stop processing &lt;b&gt;all later records&lt;/b&gt;, essentially cutting the client off from OST/MDT IR logs that have even one IPv6 addresses configured.&lt;/p&gt;

&lt;p&gt;To add IPv6 NID support, but preserve compatibility with older clients, there should be a new connect flag sent to the MGS at connect time:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;#define OBD_CONNECT2_MNE_TYPE         0x1000000ULL /* mne_nid_type flags */
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;that should be saved in the client export on the MGS and used by &lt;tt&gt;mgs_nidtbl_read()&lt;/tt&gt; to decide what type of NIDs should be sent to the client. The client should also send the flags that it understands &lt;tt&gt;MNE_NID_SUPPORTED = (MNE_NID_TYPE_* | (MNR_REC_FLAG_* &amp;lt;&amp;lt; 8))&lt;/tt&gt; in &lt;tt&gt;struct obd_connect_data.padding0&lt;/tt&gt; renamed to &lt;tt&gt;ocd_mne_type&lt;/tt&gt; so that the MGS can also avoid sending future record types to a client that it doesn&apos;t understand. The MGS reply should mask out any flags in&#160;&lt;tt&gt;ocd_mne_type&lt;/tt&gt; that it doesn&apos;t support itself.&#160; If a client export does not have &lt;tt&gt;OBD_CONNECT2_MNE_TYPE&lt;/tt&gt; set, the MGS should only send compatible &lt;tt&gt;lnet_nid_t&lt;/tt&gt; records with &lt;tt&gt;mne_nid_type=0&lt;/tt&gt; and &lt;tt&gt;mne_nid_size=sizeof(lnet_nid_t)=8&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;To allow future expansion, the &lt;tt&gt;mne_rec_type&lt;/tt&gt; field should be treated as a bitmask of features present in the &lt;tt&gt;mgs_nidtbl_entry&lt;/tt&gt; instead of a enumerated type. The first bit set in &lt;tt&gt;mne_nid_type=MNE_NID_TYPE_RECORD=0x01&lt;/tt&gt; would be used for expanding the record size, with the larger per-NID records as follows, with &lt;tt&gt;mne_nid_size=24&lt;/tt&gt;, and a per-record &lt;tt&gt;mnr_rec_flags=MNR_REC_FLAG_NIDv6=0x01&lt;/tt&gt; to allow positively identifying the record content rather than depending on &quot;all zero&quot; fields to detect the difference:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
struct mne_nid_record {         &lt;span class=&quot;code-comment&quot;&gt;/* when MNE_NID_TYPE_RECORD is set */&lt;/span&gt;
        __u8                    mnr_rec_flags;  &lt;span class=&quot;code-comment&quot;&gt;/* MNR_REC_FLAG_* flags */&lt;/span&gt;
        __u8                    mnr_padding1;
        __u16                   mnr_padding2;
        struct lnet_nid_v6      mnr_nid_v6;
        &lt;span class=&quot;code-comment&quot;&gt;/* other fields depending on mne_nid_type, mne_nid_size, mnr_rec_flags */&lt;/span&gt;
};

struct mgs_nidtbl_entry {
        __u64           mne_version;    &lt;span class=&quot;code-comment&quot;&gt;/* table version of &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; entry */&lt;/span&gt;
        __u32           mne_instance;   &lt;span class=&quot;code-comment&quot;&gt;/* target instance # */&lt;/span&gt;
        __u32           mne_index;      &lt;span class=&quot;code-comment&quot;&gt;/* target index */&lt;/span&gt;
        __u32           mne_length;     &lt;span class=&quot;code-comment&quot;&gt;/* length of &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; entry - by bytes */&lt;/span&gt;
        __u8            mne_type;       &lt;span class=&quot;code-comment&quot;&gt;/* target type LDD_F_SV_TYPE_OST/MDT */&lt;/span&gt;
        __u8            mne_nid_type;   &lt;span class=&quot;code-comment&quot;&gt;/* MNE_NID_TYPE_* flags */&lt;/span&gt;
        __u8            mne_nid_size;   &lt;span class=&quot;code-comment&quot;&gt;/* size of each NID, by bytes */&lt;/span&gt;
        __u8            mne_nid_count;  &lt;span class=&quot;code-comment&quot;&gt;/* # of NIDs in buffer */&lt;/span&gt;
        union {         &lt;span class=&quot;code-comment&quot;&gt;/* don&apos;t walk the union array directly, use mne_nid_size */&lt;/span&gt;
                lnet_nid_t             mne_nids[];     &lt;span class=&quot;code-comment&quot;&gt;/* when mne_nid_type == 0 */&lt;/span&gt;
                struct mnr_nid_record mne_records[];  &lt;span class=&quot;code-comment&quot;&gt;/* &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; MNE_NID_TYPE_RECORD */&lt;/span&gt;
        };
};
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The 4 extra bytes of fields at the start plus the 20-byte &lt;tt&gt;mnr_nid_v6&lt;/tt&gt; field keep all records with 64-bit size and alignment. Since &lt;tt&gt;lnet_nid_v6&lt;/tt&gt; can also encapsulate an IPv4 NID (based on &lt;tt&gt;.nid_type&lt;/tt&gt;) there is no need to handle &lt;tt&gt;lnet_nid_t&lt;/tt&gt; directly within &lt;tt&gt;mnr_nid_record&lt;/tt&gt;. However, &lt;tt&gt;MNR_REC_FLAG_NIDv6&lt;/tt&gt; should be verified in case there is some other kind of NID in the record.&lt;/p&gt;

&lt;p&gt;When processing &lt;tt&gt;mne_nids&lt;/tt&gt; or &lt;tt&gt;mne_records&lt;/tt&gt;, it should be using &lt;tt&gt;&lt;b&gt;mne_nid_size&lt;/b&gt;&lt;/tt&gt; to walk the records, rather than having a loop that processes &lt;tt&gt;mne_nids&lt;span class=&quot;error&quot;&gt;&amp;#91;i&amp;#93;&lt;/span&gt;&lt;/tt&gt; as an array, otherwise this will break if &lt;tt&gt;mne_nid_size&lt;/tt&gt; changes in the future (ignoring any potential changes from &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10360&quot; title=&quot;use Imperative Recovery logs for client-&amp;gt;MDT/OST connections&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10360&quot;&gt;LU-10360&lt;/a&gt;):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
                void *ptr;

                &lt;span class=&quot;code-comment&quot;&gt;/* iterate all nids to find one UUID by NID */&lt;/span&gt;
                rc = -ENOENT;

                &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (i = 0, ptr = entry-&amp;gt;mne_records; i &amp;lt; entry-&amp;gt;mne_nid_count; i++, ptr += entry-&amp;gt;mne_nid_size) {
                        lnet_nid_v6 nid_v6;

                        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (entry-&amp;gt;mne_nid_type &amp;amp; MNE_NID_TYPE_RECORD) {
                                struct mnr_nid_record *rec = ptr;
  
                                &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!(rec-&amp;gt;mnr_rec_flags &amp;amp; MNR_REC_FLAG_NIDv6))
                                        &lt;span class=&quot;code-keyword&quot;&gt;continue&lt;/span&gt;;
                                nid_v6 = rec-&amp;gt;mnr_nid_v6;
                        } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
                                lnet_nid2nidv6(*(lnet_nid_t *)ptr, &amp;amp;nid_v6);
                        }
            
                        rc = client_import_find_conn(obd-&amp;gt;u.cli.cl_import, nid_v6,
                                                     (struct obd_uuid *)uuid);
                        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (rc == 0)
                                &lt;span class=&quot;code-keyword&quot;&gt;break&lt;/span&gt;;
                }

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="58213">LU-13306</key>
            <summary>allow clients to accept mgs_nidtbl_entry with IPv6 NIDs</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="simmonsja">James A Simmons</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                            <label>IPv6</label>
                    </labels>
                <created>Fri, 28 Feb 2020 12:35:05 +0000</created>
                <updated>Sun, 7 Jan 2024 18:14:05 +0000</updated>
                            <resolved>Sat, 23 Sep 2023 14:00:55 +0000</resolved>
                                                    <fixVersion>Lustre 2.16.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="264248" author="adilger" created="Fri, 28 Feb 2020 12:38:39 +0000"  >&lt;p&gt;The MGS could also check for a new &lt;tt&gt;OBD_CONNECT_MNE_TYPE&lt;/tt&gt; flag at connection time, and drop IPv6 records from the &lt;tt&gt;mgs_nidtbl_entry&lt;/tt&gt; records for those clients.  Since the MGS generates the nidtbl list for every client, this does not increase overhead significantly. &lt;del&gt;Having a simple patch for &quot;old&quot; clients which could be backported to LTS releases to process these records itself would simplify changes to the MGS.&lt;/del&gt;&#160; Using the &lt;tt&gt;OBD_CONNECT_MNE_TYPE&lt;/tt&gt; flag avoids the need for &quot;forward compatibility&quot; in the clients, which is problematic given the lack of compatibility with the current implementation.&lt;/p&gt;</comment>
                            <comment id="275819" author="adilger" created="Mon, 20 Jul 2020 22:18:01 +0000"  >&lt;p&gt;It would be &lt;b&gt;very&lt;/b&gt; useful to get this code fixed to skip &quot;unknown&quot; NIDs in &lt;tt&gt;mgs_nidtbl_entry&lt;/tt&gt;, so that we have some kind of interop with older clients.  Otherwise, as soon as any IPv6 NID is listed in the IR table the client will no longer be able to use the IR list throwing a big wrench into &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10360&quot; title=&quot;use Imperative Recovery logs for client-&amp;gt;MDT/OST connections&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10360&quot;&gt;LU-10360&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="275929" author="adilger" created="Tue, 21 Jul 2020 21:34:57 +0000"  >&lt;p&gt;The patch &lt;a href=&quot;https://review.whamcloud.com/39373&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/39373&lt;/a&gt; &lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10391&quot; title=&quot;LNET: Support IPv6&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10391&quot;&gt;LU-10391&lt;/a&gt; lnet: extended nids&lt;/tt&gt; introduces &lt;tt&gt;struct lnet_nid_x&lt;/tt&gt; (IMHO, &lt;tt&gt;lnet_nid_v6&lt;/tt&gt;) to encapsulate larger NIDs:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; inline &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; nidv6_is_legacy(&lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; struct lnet_nid_v6 *nid_v6)
{
       &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; nid_v6-&amp;gt;nid_type &amp;lt; 256;
}

struct lnet_nid_v6 {
       __u16       nid_type;
       __u16       nid_num;
       union {
               __u32        nid_addr0;
               __be32       nid_addr[4];
       };
};
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The added &lt;tt&gt;mnr_rec_flags&lt;/tt&gt; and padding fields are used since it only needs 4-byte alignment and is 20 bytes in size.  The &lt;tt&gt;nid_is_legacy()&lt;/tt&gt; check can be used to encapsulate IPv4 addresses without the need for external identification.&lt;/p&gt;</comment>
                            <comment id="370622" author="gerrit" created="Wed, 26 Apr 2023 00:05:34 +0000"  >&lt;p&gt;&quot;James Simmons &amp;lt;jsimmons@infradead.org&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/50750&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50750&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13306&quot; title=&quot;allow clients to accept mgs_nidtbl_entry with IPv6 NIDs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13306&quot;&gt;&lt;del&gt;LU-13306&lt;/del&gt;&lt;/a&gt; mgc: handle large NIDs gracefully&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 86d7f923d7caec756f0354d774e511482c138f50&lt;/p&gt;</comment>
                            <comment id="371696" author="gerrit" created="Tue, 9 May 2023 21:16:39 +0000"  >&lt;p&gt;&quot;James Simmons &amp;lt;jsimmons@infradead.org&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/50896&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50896&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13306&quot; title=&quot;allow clients to accept mgs_nidtbl_entry with IPv6 NIDs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13306&quot;&gt;&lt;del&gt;LU-13306&lt;/del&gt;&lt;/a&gt; mgs: use large NIDS in the nid table on the MGS&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 6ea3f9538d8ce242f87d96731e2ee4d0900c3983&lt;/p&gt;</comment>
                            <comment id="374087" author="gerrit" created="Thu, 1 Jun 2023 01:23:00 +0000"  >&lt;p&gt;&quot;James Simmons &amp;lt;jsimmons@infradead.org&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/51185&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/51185&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13306&quot; title=&quot;allow clients to accept mgs_nidtbl_entry with IPv6 NIDs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13306&quot;&gt;&lt;del&gt;LU-13306&lt;/del&gt;&lt;/a&gt; test: base code&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: ba68cc5f0b71cccc60b3f240cbcacba82796a29c&lt;/p&gt;</comment>
                            <comment id="383044" author="gerrit" created="Sat, 19 Aug 2023 05:34:36 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/50896/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50896/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13306&quot; title=&quot;allow clients to accept mgs_nidtbl_entry with IPv6 NIDs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13306&quot;&gt;&lt;del&gt;LU-13306&lt;/del&gt;&lt;/a&gt; mgs: use large NIDS in the nid table on the MGS&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: c0cb747ebe95d3fefa2a70c09c2ae0c4fa873b47&lt;/p&gt;</comment>
                            <comment id="383423" author="gerrit" created="Wed, 23 Aug 2023 14:56:09 +0000"  >&lt;p&gt;&quot;James Simmons &amp;lt;jsimmons@infradead.org&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/52053&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/52053&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13306&quot; title=&quot;allow clients to accept mgs_nidtbl_entry with IPv6 NIDs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13306&quot;&gt;&lt;del&gt;LU-13306&lt;/del&gt;&lt;/a&gt; mgs: support large NID for mgs_write_log_osc_to_lov&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: e28695e90051d33bc5129d3512cdd9e01297f4d8&lt;/p&gt;</comment>
                            <comment id="384295" author="gerrit" created="Thu, 31 Aug 2023 01:43:10 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/52053/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/52053/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13306&quot; title=&quot;allow clients to accept mgs_nidtbl_entry with IPv6 NIDs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13306&quot;&gt;&lt;del&gt;LU-13306&lt;/del&gt;&lt;/a&gt; mgs: support large NID for mgs_write_log_osc_to_lov&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 576928b2cd7dcdb6fcb6000ef593ecfb03f66500&lt;/p&gt;</comment>
                            <comment id="387012" author="gerrit" created="Sat, 23 Sep 2023 06:01:37 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/50750/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50750/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13306&quot; title=&quot;allow clients to accept mgs_nidtbl_entry with IPv6 NIDs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13306&quot;&gt;&lt;del&gt;LU-13306&lt;/del&gt;&lt;/a&gt; mgc: handle large NID formats&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: e4d2d4ff74a103e4288d7581b40020eaff22b139&lt;/p&gt;</comment>
                            <comment id="387031" author="pjones" created="Sat, 23 Sep 2023 14:00:55 +0000"  >&lt;p&gt;All patches seem to be merged for 2.16&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="49665">LU-10360</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="13182">LU-10391</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="10116">LU-19</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="77648">LU-17060</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="75489">LU-16722</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="76021">LU-16823</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i00uin:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>