Skip to content

Commit 29fa877

Browse files
Releasing version 3.81.0
1 parent 669b26b commit 29fa877

File tree

361 files changed

+28990
-782
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

361 files changed

+28990
-782
lines changed

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file.
33

44
The format is based on [Keep a Changelog](http://keepachangelog.com/).
55

6+
## 3.81.0 - 2026-03-03
7+
### Added
8+
- Support for the User Managed Maintenance Window Feature in the Lustre File service
9+
- Support for multiple standby databases across AD and Regions in a Data Guard environment for Base Database in the Database service
10+
- Support for OS Patching in Base Database in the Database service
11+
- Support for Valkey 8.1 in the Redis service
12+
- Support for Exadata Cost Management in the Ops Insights service
13+
- Support for accepting target database user credentials for masking and generating health reports in the Data Safe service
14+
15+
### Breaking Changes
16+
- Method `public java.lang.String getPassword()` has been removed from the model `com.oracle.bmc.fusionapps.model.CreateFusionEnvironmentAdminUserDetails` in the Fusion Apps service
17+
618
## 3.80.3 - 2026-02-24
719
### Added
820
- Support for calling Oracle Cloud Infrastructure services in the af-casablanca-1 region

bmc-accessgovernancecp/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.oracle.oci.sdk</groupId>
66
<artifactId>oci-java-sdk</artifactId>
7-
<version>3.80.3</version>
7+
<version>3.81.0</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010
<artifactId>oci-java-sdk-accessgovernancecp</artifactId>
@@ -15,7 +15,7 @@
1515
<dependency>
1616
<groupId>com.oracle.oci.sdk</groupId>
1717
<artifactId>oci-java-sdk-common</artifactId>
18-
<version>3.80.3</version>
18+
<version>3.81.0</version>
1919
</dependency>
2020
</dependencies>
2121
</project>

bmc-addons/bmc-adk/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.oracle.oci.sdk</groupId>
88
<artifactId>oci-java-sdk-addons</artifactId>
9-
<version>3.80.3</version>
9+
<version>3.81.0</version>
1010
</parent>
1111

1212
<artifactId>oci-java-sdk-addons-adk</artifactId>

bmc-addons/bmc-aispeech-realtime/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.oracle.oci.sdk</groupId>
77
<artifactId>oci-java-sdk-addons</artifactId>
8-
<version>3.80.3</version>
8+
<version>3.81.0</version>
99
<relativePath>../pom.xml</relativePath>
1010
</parent>
1111
<modelVersion>4.0.0</modelVersion>
@@ -53,12 +53,12 @@
5353
<dependency>
5454
<groupId>com.oracle.oci.sdk</groupId>
5555
<artifactId>oci-java-sdk-aispeech</artifactId>
56-
<version>3.80.3</version>
56+
<version>3.81.0</version>
5757
</dependency>
5858
<dependency>
5959
<groupId>com.oracle.oci.sdk</groupId>
6060
<artifactId>oci-java-sdk-common-httpclient-jersey</artifactId>
61-
<version>3.80.3</version>
61+
<version>3.81.0</version>
6262
<scope>compile</scope>
6363
</dependency>
6464
<dependency>

bmc-addons/bmc-apache-configurator-jersey-addon/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.oracle.oci.sdk</groupId>
66
<artifactId>oci-java-sdk-addons</artifactId>
7-
<version>3.80.3</version>
7+
<version>3.81.0</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010

@@ -17,14 +17,14 @@
1717
<dependency>
1818
<groupId>com.oracle.oci.sdk</groupId>
1919
<artifactId>oci-java-sdk-bom</artifactId>
20-
<version>3.80.3</version>
20+
<version>3.81.0</version>
2121
<type>pom</type>
2222
<scope>import</scope>
2323
</dependency>
2424
<dependency>
2525
<groupId>com.oracle.oci.sdk</groupId>
2626
<artifactId>oci-java-sdk-common-httpclient-jersey</artifactId>
27-
<version>3.80.3</version>
27+
<version>3.81.0</version>
2828
<type>pom</type>
2929
<scope>import</scope>
3030
</dependency>

bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.oracle.oci.sdk</groupId>
66
<artifactId>oci-java-sdk-addons</artifactId>
7-
<version>3.80.3</version>
7+
<version>3.81.0</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010

@@ -17,14 +17,14 @@
1717
<dependency>
1818
<groupId>com.oracle.oci.sdk</groupId>
1919
<artifactId>oci-java-sdk-bom</artifactId>
20-
<version>3.80.3</version>
20+
<version>3.81.0</version>
2121
<type>pom</type>
2222
<scope>import</scope>
2323
</dependency>
2424
<dependency>
2525
<groupId>com.oracle.oci.sdk</groupId>
2626
<artifactId>oci-java-sdk-common-httpclient-jersey3</artifactId>
27-
<version>3.80.3</version>
27+
<version>3.81.0</version>
2828
<type>pom</type>
2929
<scope>import</scope>
3030
</dependency>

bmc-addons/bmc-apache-connector-provider/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.oracle.oci.sdk</groupId>
77
<artifactId>oci-java-sdk-addons</artifactId>
8-
<version>3.80.3</version>
8+
<version>3.81.0</version>
99
<relativePath>../pom.xml</relativePath>
1010
</parent>
1111

@@ -18,7 +18,7 @@
1818
<dependency>
1919
<groupId>com.oracle.oci.sdk</groupId>
2020
<artifactId>oci-java-sdk-common</artifactId>
21-
<version>3.80.3</version>
21+
<version>3.81.0</version>
2222
</dependency>
2323
</dependencies>
2424
</project>

bmc-addons/bmc-oke-workload-identity/pom.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<artifactId>oci-java-sdk-addons</artifactId>
66
<groupId>com.oracle.oci.sdk</groupId>
7-
<version>3.80.3</version>
7+
<version>3.81.0</version>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>
1010

@@ -38,25 +38,25 @@
3838
<dependency>
3939
<groupId>com.oracle.oci.sdk</groupId>
4040
<artifactId>oci-java-sdk-common</artifactId>
41-
<version>3.80.3</version>
41+
<version>3.81.0</version>
4242
<scope>compile</scope>
4343
</dependency>
4444
<dependency>
4545
<groupId>com.oracle.oci.sdk</groupId>
4646
<artifactId>oci-java-sdk-core</artifactId>
47-
<version>3.80.3</version>
47+
<version>3.81.0</version>
4848
<scope>test</scope>
4949
</dependency>
5050
<dependency>
5151
<groupId>com.oracle.oci.sdk</groupId>
5252
<artifactId>oci-java-sdk-identity</artifactId>
53-
<version>3.80.3</version>
53+
<version>3.81.0</version>
5454
<scope>test</scope>
5555
</dependency>
5656
<dependency>
5757
<groupId>com.oracle.oci.sdk</groupId>
5858
<artifactId>oci-java-sdk-keymanagement</artifactId>
59-
<version>3.80.3</version>
59+
<version>3.81.0</version>
6060
<scope>test</scope>
6161
</dependency>
6262
<dependency>

bmc-addons/bmc-oke-workload-identity/src/main/java/com/oracle/bmc/auth/okeworkloadidentity/internal/OkeWorkloadIdentityResourcePrincipalsFederationClient.java

Lines changed: 61 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import java.security.PublicKey;
1515
import java.security.interfaces.RSAPublicKey;
1616
import java.time.Duration;
17+
import java.time.Instant;
1718
import java.util.Base64;
1819
import java.util.Collections;
1920
import java.util.List;
@@ -66,11 +67,21 @@ public class OkeWorkloadIdentityResourcePrincipalsFederationClient
6667
private static final String JWT_FORMAT = "Bearer %s";
6768
private static final String KUBERNETES_SERVICE_HOST = "KUBERNETES_SERVICE_HOST";
6869
private static final int PROXYMUX_SERVER_PORT = 12250;
70+
private static final long MAX_RETRY_DELAY_SECONDS = 900; // 15 minutes
6971
private final ServiceAccountTokenSupplier serviceAccountTokenSupplier;
7072

7173
/** The authentication provider to sign the internal requests. */
7274
private final OkeTenancyOnlyAuthenticationDetailsProvider provider;
7375

76+
/** Tracks the time of the last failed refresh attempt. */
77+
private volatile Instant lastFailureTime = null;
78+
79+
/**
80+
* The duration for which token refresh should be skipped after a failure. Calculated as a
81+
* fraction of the remaining token validity.
82+
*/
83+
private volatile Duration backoffDuration = Duration.ZERO;
84+
7485
/**
7586
* Constructor of OkeWorkloadIdentityResourcePrincipalsFederationClient.
7687
*
@@ -110,24 +121,63 @@ public OkeWorkloadIdentityResourcePrincipalsFederationClient(
110121
@Override
111122
public String getSecurityToken() {
112123
SecurityTokenAdapter securityTokenAdapter = getSecurityTokenAdapter();
124+
boolean isTokenValid = securityTokenAdapter.isValid();
125+
126+
// Check for valid token and ongoing backoff period
127+
if (isTokenValid && lastFailureTime != null) {
128+
// Check if we are still within the calculated backoff period
129+
Duration elapsedSinceFailure = Duration.between(lastFailureTime, Instant.now());
130+
if (elapsedSinceFailure.compareTo(backoffDuration) < 0) {
131+
// Skip the token refresh request because of previous failure and valid token
132+
LOG.info(
133+
"Skipping token refresh due to recent failure (backoff active for {}s). Returning cached token.",
134+
backoffDuration.getSeconds());
135+
return securityTokenAdapter.getSecurityToken();
136+
}
137+
LOG.info("Backoff period expired. Attempting token refresh.");
138+
}
139+
113140
try {
114141
Duration time = Duration.ZERO;
115-
if (securityTokenAdapter.isValid()) {
116-
if (securityTokenAdapter.getTokenValidDuration() != null) {
117-
// Calculate the half of the token's total valid duration
118-
Duration halfDuration =
119-
securityTokenAdapter.getTokenValidDuration().dividedBy(2);
120-
// Generate Jitter Factor: a random value between 0.95 and 1.05 (i.e., ±5%)
121-
double jitterFactor = 1.0 + (Math.random() * 0.1 - 0.05);
122-
// Apply the jitter factor
123-
time = halfDuration.multipliedBy((long) (jitterFactor * 1000)).dividedBy(1000);
124-
}
142+
if (isTokenValid) {
143+
// Calculate the half of the token's total valid duration
144+
Duration halfDuration = securityTokenAdapter.getTokenValidDuration().dividedBy(2);
145+
// Generate Jitter Factor: a random value between 0.95 and 1.05 (i.e., ±5%)
146+
double jitterFactor = 1.0 + (Math.random() * 0.1 - 0.05);
147+
time = halfDuration.multipliedBy((long) (jitterFactor * 1000)).dividedBy(1000);
125148
}
149+
126150
String token = refreshAndGetSecurityTokenIfExpiringWithin(time);
151+
152+
// Success: clear any pending failure state
153+
lastFailureTime = null;
154+
backoffDuration = Duration.ZERO;
155+
127156
logTokenInfo(token);
128157
return token;
129158
} catch (Exception e) {
130-
LOG.info("Refresh RPST token failed, use cached RPST token.", e);
159+
LOG.error(
160+
"Refresh Workload Identity Auth token failed, use cached Workload Identity Auth token.",
161+
e);
162+
// Mark previous execution as failed
163+
lastFailureTime = Instant.now();
164+
165+
if (isTokenValid) {
166+
Duration remainingDuration = securityTokenAdapter.getTokenRemainingDuration();
167+
LOG.info("remainingDurationSeconds: {}", remainingDuration.getSeconds());
168+
169+
backoffDuration =
170+
remainingDuration.getSeconds() < Duration.ofHours(2).getSeconds()
171+
? Duration.ofSeconds(0)
172+
: Duration.ofSeconds(MAX_RETRY_DELAY_SECONDS);
173+
LOG.error(
174+
"Token refresh failed. Initiating backoff for {}s.",
175+
backoffDuration.getSeconds());
176+
} else {
177+
backoffDuration = Duration.ZERO;
178+
LOG.error("Token refresh failed and cached token is invalid/expired. No backoff");
179+
}
180+
131181
return securityTokenAdapter.getSecurityToken();
132182
}
133183
}

bmc-addons/bmc-resteasy-client-configurator/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.oracle.oci.sdk</groupId>
66
<artifactId>oci-java-sdk-addons</artifactId>
7-
<version>3.80.3</version>
7+
<version>3.81.0</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010

@@ -23,7 +23,7 @@
2323
<dependency>
2424
<groupId>com.oracle.oci.sdk</groupId>
2525
<artifactId>oci-java-sdk-common</artifactId>
26-
<version>3.80.3</version>
26+
<version>3.81.0</version>
2727
</dependency>
2828
</dependencies>
2929
</project>

0 commit comments

Comments
 (0)