Skip to content

Commit aa146b3

Browse files
authored
Revert "Feature/master/utils lite lambda trace (#6404)" (#6431)
This reverts commit 65a5654.
1 parent 65a5654 commit aa146b3

File tree

15 files changed

+6
-683
lines changed

15 files changed

+6
-683
lines changed

.brazil.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
"sdk-core": { "packageName": "AwsJavaSdk-Core" },
3535
"url-connection-client": { "packageName": "AwsJavaSdk-HttpClient-UrlConnectionClient" },
3636
"utils": { "packageName": "AwsJavaSdk-Core-Utils" },
37-
"utils-lite": { "packageName": "AwsJavaSdk-Core-UtilsLite" },
3837
"imds": { "packageName": "AwsJavaSdk-Imds" },
3938
"crt-core": { "packageName": "AwsJavaSdk-Core-CrtCore" },
4039
"checksums-spi": { "packageName": "AwsJavaSdk-Core-ChecksumsSpi" },

.changes/next-release/feature-AWSSDKforJavav2-a3984eb.json

Lines changed: 0 additions & 6 deletions
This file was deleted.

aws-sdk-java/pom.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2113,11 +2113,6 @@ Amazon AutoScaling, etc).</description>
21132113
<artifactId>bcmdashboards</artifactId>
21142114
<version>${awsjavasdk.version}</version>
21152115
</dependency>
2116-
<dependency>
2117-
<groupId>software.amazon.awssdk</groupId>
2118-
<artifactId>utils-lite</artifactId>
2119-
<version>${awsjavasdk.version}</version>
2120-
</dependency>
21212116
</dependencies>
21222117
<build>
21232118
<finalName>${project.artifactId}-${project.version}</finalName>

bom/pom.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -212,11 +212,6 @@
212212
<artifactId>utils</artifactId>
213213
<version>${awsjavasdk.version}</version>
214214
</dependency>
215-
<dependency>
216-
<groupId>software.amazon.awssdk</groupId>
217-
<artifactId>utils-lite</artifactId>
218-
<version>${awsjavasdk.version}</version>
219-
</dependency>
220215
<dependency>
221216
<groupId>software.amazon.awssdk</groupId>
222217
<artifactId>cloudwatch-metric-publisher</artifactId>

core/aws-core/pom.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -113,11 +113,6 @@
113113
<groupId>software.amazon.eventstream</groupId>
114114
<artifactId>eventstream</artifactId>
115115
</dependency>
116-
<dependency>
117-
<groupId>software.amazon.awssdk</groupId>
118-
<artifactId>utils-lite</artifactId>
119-
<version>${awsjavasdk.version}</version>
120-
</dependency>
121116

122117
<dependency>
123118
<groupId>software.amazon.awssdk</groupId>

core/aws-core/src/main/java/software/amazon/awssdk/awscore/interceptor/TraceIdExecutionInterceptor.java

Lines changed: 5 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -19,82 +19,40 @@
1919
import software.amazon.awssdk.annotations.SdkProtectedApi;
2020
import software.amazon.awssdk.awscore.internal.interceptor.TracingSystemSetting;
2121
import software.amazon.awssdk.core.interceptor.Context;
22-
import software.amazon.awssdk.core.interceptor.ExecutionAttribute;
2322
import software.amazon.awssdk.core.interceptor.ExecutionAttributes;
2423
import software.amazon.awssdk.core.interceptor.ExecutionInterceptor;
2524
import software.amazon.awssdk.http.SdkHttpRequest;
2625
import software.amazon.awssdk.utils.SystemSetting;
27-
import software.amazon.awssdk.utilslite.SdkInternalThreadLocal;
2826

2927
/**
3028
* The {@code TraceIdExecutionInterceptor} copies the trace details to the {@link #TRACE_ID_HEADER} header, assuming we seem to
31-
* be running in a lambda environment.`
29+
* be running in a lambda environment.
3230
*/
3331
@SdkProtectedApi
3432
public class TraceIdExecutionInterceptor implements ExecutionInterceptor {
3533
private static final String TRACE_ID_HEADER = "X-Amzn-Trace-Id";
3634
private static final String LAMBDA_FUNCTION_NAME_ENVIRONMENT_VARIABLE = "AWS_LAMBDA_FUNCTION_NAME";
37-
private static final String CONCURRENT_TRACE_ID_KEY = "AWS_LAMBDA_X_TRACE_ID";
38-
private static final ExecutionAttribute<String> TRACE_ID = new ExecutionAttribute<>("TraceId");
39-
40-
@Override
41-
public void beforeExecution(Context.BeforeExecution context, ExecutionAttributes executionAttributes) {
42-
if (lambdaFunctionNameEnvironmentVariable().isPresent()) {
43-
String traceId = SdkInternalThreadLocal.get(CONCURRENT_TRACE_ID_KEY);
44-
if (traceId != null) {
45-
executionAttributes.putAttribute(TRACE_ID, traceId);
46-
}
47-
}
48-
}
4935

5036
@Override
5137
public SdkHttpRequest modifyHttpRequest(Context.ModifyHttpRequest context, ExecutionAttributes executionAttributes) {
5238
Optional<String> traceIdHeader = traceIdHeader(context);
5339
if (!traceIdHeader.isPresent()) {
5440
Optional<String> lambdafunctionName = lambdaFunctionNameEnvironmentVariable();
55-
Optional<String> traceId = traceId(executionAttributes);
41+
Optional<String> traceId = traceId();
5642

5743
if (lambdafunctionName.isPresent() && traceId.isPresent()) {
5844
return context.httpRequest().copy(r -> r.putHeader(TRACE_ID_HEADER, traceId.get()));
5945
}
6046
}
61-
return context.httpRequest();
62-
}
63-
64-
@Override
65-
public void afterExecution(Context.AfterExecution context, ExecutionAttributes executionAttributes) {
66-
if (lambdaFunctionNameEnvironmentVariable().isPresent()) {
67-
saveTraceId(executionAttributes);
68-
}
69-
}
7047

71-
@Override
72-
public void onExecutionFailure(Context.FailedExecution context, ExecutionAttributes executionAttributes) {
73-
if (lambdaFunctionNameEnvironmentVariable().isPresent()) {
74-
saveTraceId(executionAttributes);
75-
}
76-
}
77-
78-
/**
79-
* Stores the trace ID in thread-local storage to ensure trace propagation across
80-
* thread boundaries during retries, or future chaining.
81-
*/
82-
private static void saveTraceId(ExecutionAttributes executionAttributes) {
83-
String traceId = executionAttributes.getAttribute(TRACE_ID);
84-
if (traceId != null) {
85-
SdkInternalThreadLocal.put(CONCURRENT_TRACE_ID_KEY, executionAttributes.getAttribute(TRACE_ID));
86-
}
48+
return context.httpRequest();
8749
}
8850

8951
private Optional<String> traceIdHeader(Context.ModifyHttpRequest context) {
9052
return context.httpRequest().firstMatchingHeader(TRACE_ID_HEADER);
9153
}
9254

93-
private Optional<String> traceId(ExecutionAttributes executionAttributes) {
94-
Optional<String> traceId = Optional.ofNullable(executionAttributes.getAttribute(TRACE_ID));
95-
if (traceId.isPresent()) {
96-
return traceId;
97-
}
55+
private Optional<String> traceId() {
9856
return TracingSystemSetting._X_AMZN_TRACE_ID.getStringValue();
9957
}
10058

@@ -103,4 +61,4 @@ private Optional<String> lambdaFunctionNameEnvironmentVariable() {
10361
return SystemSetting.getStringValueFromEnvironmentVariable(LAMBDA_FUNCTION_NAME_ENVIRONMENT_VARIABLE);
10462
// CHECKSTYLE:ON
10563
}
106-
}
64+
}

core/aws-core/src/test/java/software/amazon/awssdk/awscore/interceptor/TraceIdExecutionInterceptorTest.java

Lines changed: 0 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import software.amazon.awssdk.http.SdkHttpMethod;
2929
import software.amazon.awssdk.http.SdkHttpRequest;
3030
import software.amazon.awssdk.testutils.EnvironmentVariableHelper;
31-
import software.amazon.awssdk.utilslite.SdkInternalThreadLocal;
3231

3332
public class TraceIdExecutionInterceptorTest {
3433
@Test
@@ -112,78 +111,6 @@ public void headerNotAddedIfNoTraceIdEnvVar() {
112111
});
113112
}
114113

115-
@Test
116-
public void modifyHttpRequest_whenMultiConcurrencyModeWithInternalThreadLocal_shouldAddTraceIdHeader() {
117-
EnvironmentVariableHelper.run(env -> {
118-
resetRelevantEnvVars(env);
119-
env.set("AWS_LAMBDA_FUNCTION_NAME", "foo");
120-
SdkInternalThreadLocal.put("AWS_LAMBDA_X_TRACE_ID", "SdkInternalThreadLocal-trace-123");
121-
122-
try {
123-
TraceIdExecutionInterceptor interceptor = new TraceIdExecutionInterceptor();
124-
ExecutionAttributes executionAttributes = new ExecutionAttributes();
125-
126-
interceptor.beforeExecution(null, executionAttributes);
127-
Context.ModifyHttpRequest context = context();
128-
129-
SdkHttpRequest request = interceptor.modifyHttpRequest(context, executionAttributes);
130-
assertThat(request.firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("SdkInternalThreadLocal-trace-123");
131-
} finally {
132-
SdkInternalThreadLocal.remove("AWS_LAMBDA_X_TRACE_ID");
133-
}
134-
});
135-
}
136-
137-
@Test
138-
public void modifyHttpRequest_whenMultiConcurrencyModeWithBothInternalThreadLocalAndSystemProperty_shouldUseInternalThreadLocalValue() {
139-
EnvironmentVariableHelper.run(env -> {
140-
resetRelevantEnvVars(env);
141-
env.set("AWS_LAMBDA_FUNCTION_NAME", "foo");
142-
143-
SdkInternalThreadLocal.put("AWS_LAMBDA_X_TRACE_ID", "SdkInternalThreadLocal-trace-123");
144-
Properties props = System.getProperties();
145-
props.setProperty("com.amazonaws.xray.traceHeader", "sys-prop-345");
146-
147-
try {
148-
TraceIdExecutionInterceptor interceptor = new TraceIdExecutionInterceptor();
149-
ExecutionAttributes executionAttributes = new ExecutionAttributes();
150-
151-
interceptor.beforeExecution(null, executionAttributes);
152-
153-
Context.ModifyHttpRequest context = context();
154-
SdkHttpRequest request = interceptor.modifyHttpRequest(context, executionAttributes);
155-
156-
assertThat(request.firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("SdkInternalThreadLocal-trace-123");
157-
} finally {
158-
SdkInternalThreadLocal.remove("AWS_LAMBDA_X_TRACE_ID");
159-
props.remove("com.amazonaws.xray.traceHeader");
160-
}
161-
});
162-
}
163-
164-
@Test
165-
public void modifyHttpRequest_whenNotInLambdaEnvironmentWithInternalThreadLocal_shouldNotAddHeader() {
166-
EnvironmentVariableHelper.run(env -> {
167-
resetRelevantEnvVars(env);
168-
169-
SdkInternalThreadLocal.put("AWS_LAMBDA_X_TRACE_ID", "should-be-ignored");
170-
171-
try {
172-
TraceIdExecutionInterceptor interceptor = new TraceIdExecutionInterceptor();
173-
ExecutionAttributes executionAttributes = new ExecutionAttributes();
174-
175-
interceptor.beforeExecution(null, executionAttributes);
176-
177-
Context.ModifyHttpRequest context = context();
178-
SdkHttpRequest request = interceptor.modifyHttpRequest(context, executionAttributes);
179-
180-
assertThat(request.firstMatchingHeader("X-Amzn-Trace-Id")).isEmpty();
181-
} finally {
182-
SdkInternalThreadLocal.remove("AWS_LAMBDA_X_TRACE_ID");
183-
}
184-
});
185-
}
186-
187114
private Context.ModifyHttpRequest context() {
188115
return context(SdkHttpRequest.builder()
189116
.uri(URI.create("https://localhost"))

pom.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@
6767
<module>metric-publishers</module>
6868
<module>release-scripts</module>
6969
<module>utils</module>
70-
<module>utils-lite</module>
7170
<module>codegen-lite</module>
7271
<module>codegen-lite-maven-plugin</module>
7372
<module>archetypes</module>
@@ -665,7 +664,6 @@
665664
<includeModule>cloudwatch-metric-publisher</includeModule>
666665
<includeModule>emf-metric-logging-publisher</includeModule>
667666
<includeModule>utils</includeModule>
668-
<includeModule>utils-lite</includeModule>
669667
<includeModule>imds</includeModule>
670668
<includeModule>retries</includeModule>
671669
<includeModule>retries-spi</includeModule>

test/architecture-tests/pom.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,6 @@
6161
<groupId>software.amazon.awssdk</groupId>
6262
<version>${awsjavasdk.version}</version>
6363
</dependency>
64-
<dependency>
65-
<artifactId>utils-lite</artifactId>
66-
<groupId>software.amazon.awssdk</groupId>
67-
<version>${awsjavasdk.version}</version>
68-
</dependency>
6964
<dependency>
7065
<artifactId>s3</artifactId>
7166
<groupId>software.amazon.awssdk</groupId>

test/architecture-tests/src/test/java/software/amazon/awssdk/archtests/UtilsLitePackageTest.java

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)