Skip to content

Commit 6b74ada

Browse files
committed
Refactor and rename package
1 parent 0e00e26 commit 6b74ada

File tree

14 files changed

+115
-67
lines changed

14 files changed

+115
-67
lines changed

.brazil.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"s3-transfer-manager": { "packageName": "AwsJavaSdk-S3-TransferManager" },
3333
"s3-event-notifications": { "packageName": "AwsJavaSdk-S3-EventNotifications" },
3434
"sdk-core": { "packageName": "AwsJavaSdk-Core" },
35-
"thread-context": { "packageName": "AwsJavaSdk-ThreadContext" },
35+
"utils-lite": { "packageName": "AwsJavaSdk-UtilsLite" },
3636
"url-connection-client": { "packageName": "AwsJavaSdk-HttpClient-UrlConnectionClient" },
3737
"utils": { "packageName": "AwsJavaSdk-Core-Utils" },
3838
"imds": { "packageName": "AwsJavaSdk-Imds" },

aws-sdk-java/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -815,7 +815,7 @@ Amazon AutoScaling, etc).</description>
815815
</dependency>
816816
<dependency>
817817
<groupId>software.amazon.awssdk</groupId>
818-
<artifactId>thread-context</artifactId>
818+
<artifactId>utils-lite</artifactId>
819819
<version>${awsjavasdk.version}</version>
820820
</dependency>
821821
<dependency>

bom/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@
254254
</dependency>
255255
<dependency>
256256
<groupId>software.amazon.awssdk</groupId>
257-
<artifactId>thread-context</artifactId>
257+
<artifactId>utils-lite</artifactId>
258258
<version>${awsjavasdk.version}</version>
259259
</dependency>
260260
<!-- Services -->

core/aws-core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@
115115
</dependency>
116116
<dependency>
117117
<groupId>software.amazon.awssdk</groupId>
118-
<artifactId>thread-context</artifactId>
118+
<artifactId>utils-lite</artifactId>
119119
<version>${awsjavasdk.version}</version>
120120
</dependency>
121121
<dependency>

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
import software.amazon.awssdk.core.interceptor.ExecutionAttributes;
2424
import software.amazon.awssdk.core.interceptor.ExecutionInterceptor;
2525
import software.amazon.awssdk.http.SdkHttpRequest;
26-
import software.amazon.awssdk.threadcontext.ThreadStorage;
2726
import software.amazon.awssdk.utils.SystemSetting;
27+
import software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal;
2828

2929
/**
3030
* The {@code TraceIdExecutionInterceptor} copies the trace details to the {@link #TRACE_ID_HEADER} header, assuming we seem to
@@ -39,7 +39,7 @@ public class TraceIdExecutionInterceptor implements ExecutionInterceptor {
3939

4040
@Override
4141
public void beforeExecution(Context.BeforeExecution context, ExecutionAttributes executionAttributes) {
42-
String traceId = ThreadStorage.get(CONCURRENT_TRACE_ID_KEY);
42+
String traceId = software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal.get(CONCURRENT_TRACE_ID_KEY);
4343
if (traceId != null) {
4444
executionAttributes.putAttribute(TRACE_ID, traceId);
4545
}
@@ -72,7 +72,7 @@ public void onExecutionFailure(Context.FailedExecution context, ExecutionAttribu
7272
private static void saveTraceId(ExecutionAttributes executionAttributes) {
7373
String traceId = executionAttributes.getAttribute(TRACE_ID);
7474
if (traceId != null) {
75-
ThreadStorage.put(CONCURRENT_TRACE_ID_KEY, executionAttributes.getAttribute(TRACE_ID));
75+
SdkInternalThreadLocal.put(CONCURRENT_TRACE_ID_KEY, executionAttributes.getAttribute(TRACE_ID));
7676
}
7777
}
7878

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

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
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.threadcontext.ThreadStorage;
31+
import software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal;
3232

3333
public class TraceIdExecutionInterceptorTest {
3434
@Test
@@ -113,11 +113,11 @@ public void headerNotAddedIfNoTraceIdEnvVar() {
113113
}
114114

115115
@Test
116-
public void modifyHttpRequest_whenMultiConcurrencyModeWithThreadStorage_shouldAddTraceIdHeader() {
116+
public void modifyHttpRequest_whenMultiConcurrencyModeWithInternalThreadLocal_shouldAddTraceIdHeader() {
117117
EnvironmentVariableHelper.run(env -> {
118118
resetRelevantEnvVars(env);
119119
env.set("AWS_LAMBDA_FUNCTION_NAME", "foo");
120-
ThreadStorage.put("AWS_LAMBDA_X_TRACE_ID", "ThreadStorage-trace-123");
120+
software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal.put("AWS_LAMBDA_X_TRACE_ID", "SdkInternalThreadLocal-trace-123");
121121

122122
try {
123123
TraceIdExecutionInterceptor interceptor = new TraceIdExecutionInterceptor();
@@ -127,20 +127,20 @@ public void modifyHttpRequest_whenMultiConcurrencyModeWithThreadStorage_shouldAd
127127
Context.ModifyHttpRequest context = context();
128128

129129
SdkHttpRequest request = interceptor.modifyHttpRequest(context, executionAttributes);
130-
assertThat(request.firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("ThreadStorage-trace-123");
130+
assertThat(request.firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("SdkInternalThreadLocal-trace-123");
131131
} finally {
132-
ThreadStorage.remove("AWS_LAMBDA_X_TRACE_ID");
132+
software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal.remove("AWS_LAMBDA_X_TRACE_ID");
133133
}
134134
});
135135
}
136136

137137
@Test
138-
public void modifyHttpRequest_whenMultiConcurrencyModeWithBothThreadStorageAndSystemProperty_shouldUseThreadStorageValue() {
138+
public void modifyHttpRequest_whenMultiConcurrencyModeWithBothInternalThreadLocalAndSystemProperty_shouldUseInternalThreadLocalValue() {
139139
EnvironmentVariableHelper.run(env -> {
140140
resetRelevantEnvVars(env);
141141
env.set("AWS_LAMBDA_FUNCTION_NAME", "foo");
142142

143-
ThreadStorage.put("AWS_LAMBDA_X_TRACE_ID", "ThreadStorage-trace-123");
143+
SdkInternalThreadLocal.put("AWS_LAMBDA_X_TRACE_ID", "SdkInternalThreadLocal-trace-123");
144144
Properties props = System.getProperties();
145145
props.setProperty("com.amazonaws.xray.traceHeader", "sys-prop-345");
146146

@@ -153,20 +153,20 @@ public void modifyHttpRequest_whenMultiConcurrencyModeWithBothThreadStorageAndSy
153153
Context.ModifyHttpRequest context = context();
154154
SdkHttpRequest request = interceptor.modifyHttpRequest(context, executionAttributes);
155155

156-
assertThat(request.firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("ThreadStorage-trace-123");
156+
assertThat(request.firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("SdkInternalThreadLocal-trace-123");
157157
} finally {
158-
ThreadStorage.remove("AWS_LAMBDA_X_TRACE_ID");
158+
software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal.remove("AWS_LAMBDA_X_TRACE_ID");
159159
props.remove("com.amazonaws.xray.traceHeader");
160160
}
161161
});
162162
}
163163

164164
@Test
165-
public void modifyHttpRequest_whenNotInLambdaEnvironmentWithThreadStorage_shouldNotAddHeader() {
165+
public void modifyHttpRequest_whenNotInLambdaEnvironmentWithInternalThreadLocal_shouldNotAddHeader() {
166166
EnvironmentVariableHelper.run(env -> {
167167
resetRelevantEnvVars(env);
168168

169-
ThreadStorage.put("AWS_LAMBDA_X_TRACE_ID", "should-be-ignored");
169+
software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal.put("AWS_LAMBDA_X_TRACE_ID", "should-be-ignored");
170170

171171
try {
172172
TraceIdExecutionInterceptor interceptor = new TraceIdExecutionInterceptor();
@@ -179,7 +179,7 @@ public void modifyHttpRequest_whenNotInLambdaEnvironmentWithThreadStorage_should
179179

180180
assertThat(request.firstMatchingHeader("X-Amzn-Trace-Id")).isEmpty();
181181
} finally {
182-
ThreadStorage.remove("AWS_LAMBDA_X_TRACE_ID");
182+
software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal.remove("AWS_LAMBDA_X_TRACE_ID");
183183
}
184184
});
185185
}

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
<module>archetypes</module>
7373
<module>third-party</module>
7474
<module>v2-migration</module>
75-
<module>thread-context</module>
75+
<module>utils-lite</module>
7676
<module>test/http-client-tests</module>
7777
<module>test/protocol-tests</module>
7878
<module>test/protocol-tests-core</module>
@@ -659,7 +659,7 @@
659659
<includeModule>protocols</includeModule>
660660
<includeModule>regions</includeModule>
661661
<includeModule>sdk-core</includeModule>
662-
<includeModule>thread-context</includeModule>
662+
<includeModule>utils-lite</includeModule>
663663
<includeModule>http-client-spi</includeModule>
664664
<includeModule>apache-client</includeModule>
665665
<includeModule>netty-nio-client</includeModule>

test/architecture-tests/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
<version>${awsjavasdk.version}</version>
6363
</dependency>
6464
<dependency>
65-
<artifactId>thread-context</artifactId>
65+
<artifactId>utils-lite</artifactId>
6666
<groupId>software.amazon.awssdk</groupId>
6767
<version>${awsjavasdk.version}</version>
6868
</dependency>
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
package software.amazon.awssdk.archtests;
17+
18+
import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.classes;
19+
20+
import com.tngtech.archunit.core.domain.JavaClasses;
21+
import com.tngtech.archunit.core.importer.ClassFileImporter;
22+
import com.tngtech.archunit.lang.ArchRule;
23+
import org.junit.jupiter.api.Test;
24+
25+
/**
26+
* Architecture tests for the utils-lite package to ensure it only contains allowed classes.
27+
*/
28+
public class UtilsLitePackageTest {
29+
30+
private static final JavaClasses CLASSES = new ClassFileImporter()
31+
.importPackages("software.amazon.awssdk.utilslite");
32+
33+
@Test
34+
public void utilsLitePackage_shouldOnlyContainAllowedClasses() {
35+
ArchRule rule = classes()
36+
.that().resideInAPackage("software.amazon.awssdk.utilslite")
37+
.should().haveNameMatching(".*\\.(SdkInternalThreadLocal|SdkInternalThreadLocalTest)")
38+
.allowEmptyShould(true)
39+
.because("utils-lite package should only contain SdkInternalThreadLocal and its test");
40+
41+
rule.check(CLASSES);
42+
}
43+
}

test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/TraceIdTest.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
import software.amazon.awssdk.testutils.service.http.MockAsyncHttpClient;
3636
import software.amazon.awssdk.testutils.service.http.MockSyncHttpClient;
3737
import software.amazon.awssdk.utils.StringInputStream;
38-
import software.amazon.awssdk.threadcontext.ThreadStorage;
38+
import software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal;
3939

4040
/**
4141
* Verifies that the {@link TraceIdExecutionInterceptor} is actually wired up for AWS services.
@@ -69,7 +69,7 @@ public void traceIdInterceptorIsEnabled() {
6969
public void traceIdInterceptorPreservesTraceIdAcrossRetries() {
7070
EnvironmentVariableHelper.run(env -> {
7171
env.set("AWS_LAMBDA_FUNCTION_NAME", "foo");
72-
ThreadStorage.put("AWS_LAMBDA_X_TRACE_ID", "ThreadStorage-trace-123");
72+
software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal.put("AWS_LAMBDA_X_TRACE_ID", "SdkInternalThreadLocal-trace-123");
7373

7474
try (MockAsyncHttpClient mockHttpClient = new MockAsyncHttpClient();
7575
ProtocolRestJsonAsyncClient client = ProtocolRestJsonAsyncClient.builder()
@@ -96,12 +96,12 @@ public void traceIdInterceptorPreservesTraceIdAcrossRetries() {
9696
List<SdkHttpRequest> requests = mockHttpClient.getRequests();
9797
assertThat(requests).hasSize(3);
9898

99-
assertThat(requests.get(0).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("ThreadStorage-trace-123");
100-
assertThat(requests.get(1).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("ThreadStorage-trace-123");
101-
assertThat(requests.get(2).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("ThreadStorage-trace-123");
99+
assertThat(requests.get(0).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("SdkInternalThreadLocal-trace-123");
100+
assertThat(requests.get(1).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("SdkInternalThreadLocal-trace-123");
101+
assertThat(requests.get(2).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("SdkInternalThreadLocal-trace-123");
102102

103103
} finally {
104-
ThreadStorage.clear();
104+
SdkInternalThreadLocal.clear();
105105
}
106106
});
107107
}
@@ -110,7 +110,7 @@ public void traceIdInterceptorPreservesTraceIdAcrossRetries() {
110110
public void traceIdInterceptorPreservesTraceIdAcrossChainedFutures() {
111111
EnvironmentVariableHelper.run(env -> {
112112
env.set("AWS_LAMBDA_FUNCTION_NAME", "foo");
113-
ThreadStorage.put("AWS_LAMBDA_X_TRACE_ID", "ThreadStorage-trace-123");
113+
software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal.put("AWS_LAMBDA_X_TRACE_ID", "SdkInternalThreadLocal-trace-123");
114114

115115
try (MockAsyncHttpClient mockHttpClient = new MockAsyncHttpClient();
116116
ProtocolRestJsonAsyncClient client = ProtocolRestJsonAsyncClient.builder()
@@ -140,11 +140,11 @@ public void traceIdInterceptorPreservesTraceIdAcrossChainedFutures() {
140140

141141
assertThat(requests).hasSize(2);
142142

143-
assertThat(requests.get(0).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("ThreadStorage-trace-123");
144-
assertThat(requests.get(1).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("ThreadStorage-trace-123");
143+
assertThat(requests.get(0).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("SdkInternalThreadLocal-trace-123");
144+
assertThat(requests.get(1).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("SdkInternalThreadLocal-trace-123");
145145

146146
} finally {
147-
ThreadStorage.clear();
147+
software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal.clear();
148148
}
149149
});
150150
}
@@ -153,7 +153,7 @@ public void traceIdInterceptorPreservesTraceIdAcrossChainedFutures() {
153153
public void traceIdInterceptorPreservesTraceIdAcrossExceptionallyCompletedFutures() {
154154
EnvironmentVariableHelper.run(env -> {
155155
env.set("AWS_LAMBDA_FUNCTION_NAME", "foo");
156-
ThreadStorage.put("AWS_LAMBDA_X_TRACE_ID", "ThreadStorage-trace-123");
156+
software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal.put("AWS_LAMBDA_X_TRACE_ID", "SdkInternalThreadLocal-trace-123");
157157

158158
try (MockAsyncHttpClient mockHttpClient = new MockAsyncHttpClient();
159159
ProtocolRestJsonAsyncClient client = ProtocolRestJsonAsyncClient.builder()
@@ -183,11 +183,11 @@ public void traceIdInterceptorPreservesTraceIdAcrossExceptionallyCompletedFuture
183183

184184
assertThat(requests).hasSize(2);
185185

186-
assertThat(requests.get(0).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("ThreadStorage-trace-123");
187-
assertThat(requests.get(1).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("ThreadStorage-trace-123");
186+
assertThat(requests.get(0).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("SdkInternalThreadLocal-trace-123");
187+
assertThat(requests.get(1).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("SdkInternalThreadLocal-trace-123");
188188

189189
} finally {
190-
ThreadStorage.clear();
190+
software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal.clear();
191191
}
192192
});
193193
}
@@ -196,7 +196,7 @@ public void traceIdInterceptorPreservesTraceIdAcrossExceptionallyCompletedFuture
196196
public void traceIdInterceptorPreservesTraceIdAcrossExceptionallyCompletedFuturesThrownInPreExecution() {
197197
EnvironmentVariableHelper.run(env -> {
198198
env.set("AWS_LAMBDA_FUNCTION_NAME", "foo");
199-
ThreadStorage.put("AWS_LAMBDA_X_TRACE_ID", "ThreadStorage-trace-123");
199+
software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal.put("AWS_LAMBDA_X_TRACE_ID", "SdkInternalThreadLocal-trace-123");
200200

201201
ExecutionInterceptor throwingInterceptor = new ExecutionInterceptor() {
202202
private boolean hasThrown = false;
@@ -234,10 +234,10 @@ public void beforeMarshalling(Context.BeforeMarshalling context, ExecutionAttrib
234234
List<SdkHttpRequest> requests = mockHttpClient.getRequests();
235235

236236
assertThat(requests).hasSize(1);
237-
assertThat(requests.get(0).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("ThreadStorage-trace-123");
237+
assertThat(requests.get(0).firstMatchingHeader("X-Amzn-Trace-Id")).hasValue("SdkInternalThreadLocal-trace-123");
238238

239239
} finally {
240-
ThreadStorage.clear();
240+
software.amazon.awssdk.utilslite.internal.SdkInternalThreadLocal.clear();
241241
}
242242
});
243243
}

0 commit comments

Comments
 (0)