<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:25:18 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>[DRIVERS-2333] Cache AWS Credentials Where Possible</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-2333</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;div class=&quot;panel&quot; style=&quot;background-color: #fafbfc;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #fafbfc;&quot;&gt;
&lt;h3&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;Currently drivers are querying an AWS link-local endpoint each time a connection handshake results in authentication. This may result in hitting a rate limit.&#160; Drivers should cache fetched AWS credentials if the expiration time is known, and only re-fetch the credentials when they are about to expire.&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;Motivation&quot;&gt;&lt;/a&gt;&lt;b&gt;Motivation&lt;/b&gt;&lt;/h3&gt;
&lt;h4&gt;&lt;a name=&quot;Whoistheaffectedenduser%3F&quot;&gt;&lt;/a&gt;Who is the affected end user?&lt;/h4&gt;

&lt;p&gt;Users authenticating with MONGODB-AWS using automatic credential lookup.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Howdoesthisaffecttheenduser%3F&quot;&gt;&lt;/a&gt;How does this affect the end user?&lt;/h4&gt;

&lt;p&gt;Hitting rate limits may result in temporary unavailability.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Howlikelyisitthatthisproblemorusecasewilloccur%3F&quot;&gt;&lt;/a&gt;How likely is it that this problem or use case will occur?&lt;/h4&gt;

&lt;p&gt;Likely for EKS and ECS users with many simultaneous connections.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Iftheproblemdoesoccur%2Cwhataretheconsequencesandhowseverearethey%3F&quot;&gt;&lt;/a&gt;If the problem does occur, what are the consequences and how severe are they?&lt;/h4&gt;

&lt;p&gt;Authentication failures requiring backoff and retry attempts.&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Isthisissueurgent%3F&quot;&gt;&lt;/a&gt;Is this issue urgent?&lt;/h4&gt;

&lt;p&gt;No&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Isthisticketrequiredbyadownstreamteam%3F&quot;&gt;&lt;/a&gt;Is this ticket required by a downstream team?&lt;/h4&gt;

&lt;p&gt;No&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Isthisticketonlyfortests%3F&quot;&gt;&lt;/a&gt;Is this ticket only for tests?&lt;/h4&gt;

&lt;p&gt;No&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="2053282">DRIVERS-2333</key>
            <summary>Cache AWS Credentials Where Possible</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="10300" iconUrl="https://jira.mongodb.org/images/icons/priorities/medium.svg">Unknown</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="steve.silvester@mongodb.com">Steve Silvester</assignee>
                                    <reporter username="steve.silvester@mongodb.com">Steve Silvester</reporter>
                        <labels>
                            <label>MDBW23</label>
                    </labels>
                <created>Mon, 23 May 2022 20:44:25 +0000</created>
                <updated>Fri, 30 Jun 2023 19:04:13 +0000</updated>
                            <resolved>Fri, 30 Jun 2023 19:04:13 +0000</resolved>
                                                        <component>Authentication</component>
                                        <votes>0</votes>
                                    <watches>10</watches>
                                                                                                                <comments>
                            <comment id="5202008" author="xgen-internal-githook" created="Wed, 15 Feb 2023 20:48:45 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Kevin Albertson&apos;, &apos;email&apos;: &apos;kevin.albertson@mongodb.com&apos;, &apos;username&apos;: &apos;kevinAlbs&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2333&quot; title=&quot;Cache AWS Credentials Where Possible&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2333&quot;&gt;&lt;del&gt;DRIVERS-2333&lt;/del&gt;&lt;/a&gt; add steps to credential caching tests (#1378)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Create a new client before a `find` operation.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Clear the AWS environment variables after the test.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Clear the cache before steps expecting to cache credentials&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;fix typo&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/specifications/commit/745e486dd03f0d724c68593bf9ddb017d2d58fa6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/745e486dd03f0d724c68593bf9ddb017d2d58fa6&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="4909820" author="xgen-internal-githook" created="Tue, 18 Oct 2022 14:38:16 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Steven Silvester&apos;, &apos;email&apos;: &apos;steven.silvester@ieee.org&apos;, &apos;username&apos;: &apos;blink1073&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2333&quot; title=&quot;Cache AWS Credentials Where Possible&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2333&quot;&gt;&lt;del&gt;DRIVERS-2333&lt;/del&gt;&lt;/a&gt; Cache AWS Credentials Where Possible (#1281)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/specifications/commit/364761d3dae5e430b0812f23786b592f4bb629c1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/364761d3dae5e430b0812f23786b592f4bb629c1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4721217" author="rachelle.palmer" created="Tue, 2 Aug 2022 14:12:13 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=esha.bhargava%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;esha.bhargava@mongodb.com&quot;&gt;esha.bhargava@mongodb.com&lt;/a&gt; can you please create the writing ticket here for Scope and assign to me? or, do we already have one somewhere? if yes, let&apos;s link. &lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                            <outwardlinks description="split to">
                                        <issuelink>
            <issuekey id="2100938">CDRIVER-4439</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2100940">CSHARP-4273</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2100939">CXX-2554</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2100941">GODRIVER-2504</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2100942">JAVA-4690</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2100944">MOTOR-1002</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2100943">NODE-4478</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2075097">PYTHON-3313</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2100946">RUBY-3066</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2100947">RUST-1420</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2100945">PHPC-2158</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                            <outwardlinks description="causes">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1953998">DRIVERS-2011</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[5006R00001qDwO5QAK]]]></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_17052" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Downstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;&lt;b&gt;Summary of required changes&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Create an internal cache for fetched AWS credentials used by the driver&lt;/li&gt;
	&lt;li&gt;Add integration tests to verify cache usage&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;Additional background&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Please see &lt;a href=&quot;https://github.com/mongodb/specifications/commit/364761d3dae5e430b0812f23786b592f4bb629c1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/364761d3dae5e430b0812f23786b592f4bb629c1&lt;/a&gt; for the specification change and &lt;a href=&quot;https://github.com/mongodb/specifications/commit/745e486dd03f0d724c68593bf9ddb017d2d58fa6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/745e486dd03f0d724c68593bf9ddb017d2d58fa6&lt;/a&gt; for a follow-up to tests.&lt;/p&gt;

&lt;p&gt;Please see &lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/commit/3d67e80c3553051286afed4c3e7ba7aabcf7cba3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/commit/3d67e80c3553051286afed4c3e7ba7aabcf7cba3&lt;/a&gt;&#160;for a reference implementation in C#.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Integration test&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Drivers are expected to add an integration test as described in the specification change&lt;/p&gt;</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10951" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Driver Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10748"><![CDATA[Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_23952" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Driver Compliance</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<style type='text/css'>
         #scriptField, #scriptField *{
                border: 1px solid black;
            }

            #scriptField{
                border-collapse: collapse;
            }

            #scriptField td {
                text-align: center; /* Center-align text in table cells */
            }

            #scriptField td.key {
                text-align: left; /* Left-align text in the Key column */
            }

            #scriptField a {
                text-decoration: none; /* Remove underlines from links */
                border: none; /* Remove border from links */
            }
            
            /* Add green background color to cells with FixVersion */
            #scriptField td.hasFixVersion {
                background-color: #00FF00; /* Green color code */
            }

            /* Center-align the first row headers */
            #scriptField th {
                text-align: center;
            }
        </style>
<table id='scriptField'>
  <tr>
    <th>Key</th>
    <th>Status/Resolution</th>
    <th>FixVersion</th>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PYTHON-3313'>PYTHON-3313</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>pymongo-auth-aws-1.1.0, 4.3</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CDRIVER-4439'>CDRIVER-4439</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.24.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CXX-2554'>CXX-2554</a>
    </td>
    <td>Works as Designed</td>
    <td class='hasFixVersion'>3.8.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CSHARP-4273'>CSHARP-4273</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.18.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/GODRIVER-2504'>GODRIVER-2504</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.12.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/JAVA-4690'>JAVA-4690</a>
    </td>
    <td>Won't Fix</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/NODE-4478'>NODE-4478</a>
    </td>
    <td>Done</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/MOTOR-1002'>MOTOR-1002</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PHPC-2158'>PHPC-2158</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.16.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUBY-3066'>RUBY-3066</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.19.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUST-1420'>RUST-1420</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.7.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/SWIFT-1613'>SWIFT-1613</a>
    </td>
    <td>Won't Do</td>
    <td class=''></td>
  </tr>
</table>]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY23Q3</label>
            <label>FY24Q1</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr1o2o:2</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>