Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support default checksums #1475

Open
wants to merge 70 commits into
base: main
Choose a base branch
from
Open

feat: support default checksums #1475

wants to merge 70 commits into from

Conversation

0marperez
Copy link
Contributor

Issue #

Description of changes

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This comment has been minimized.

@0marperez 0marperez added the acknowledge-artifact-size-increase Acknowledge that an artifact increased in size substantially or that a new artifact was created label Dec 11, 2024
Copy link

A new generated diff is ready to view.

This comment has been minimized.

/**
* For any operations that require a checksum, set CRC32 if the user has not already configured a checksum.
*/
private val useCrc32Checksum = object : ProtocolMiddleware {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question/correctness: S3 Express' spec says CRC32 is required. If we change our SDK's default algorithm to CRC64NVME in the future, how will we ensure CRC32 is still used for S3 Express? That's what this integration was responsible for.

Does S3 Express support CRC64NVME?

internal fun HeadersBuilder.removeCompositeChecksums(logger: Logger): Unit =
names().forEach { header ->
if (header.startsWith(CHECKSUM_HEADER_PREFIX, ignoreCase = true) && get(header)!!.isCompositeChecksum()) {
logger.warn { "S3 returned a composite checksum, composite checksums are not supported, removing checksum" }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

info: Log the composite checksum header name

Comment on lines 18 to 19
* Removes composite checksums returned by S3 so that flexible checksums won't validate them.
* Composite checksums are used for multipart uploads and end with "-#" where "#" is a number.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

correctness/breaking change: I don't think we should be removing these headers, what if users need them for other purposes?

Isn't it easier to just ignore composite checksums in the flexible checksums implementation?

/**
* Disable checksums entirely for s3:UploadPart requests.
* Disables checksums for s3:UploadPart requests that use S3 express.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: S3 Express

Comment on lines -7 to -12
@{protocol-name}
@restJson1
@sigv4(name: "event-stream-test")
@service(sdkId: "EventStreamTest")
service TestService { version: "123", operations: [TestStreamOp] }

{op-traits}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added the templates back

I still don't see them

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this need to exist? buildSrc is treated as an included build which means every subproject will have these config options applied.

It seems odd to need this just for codegen tests

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's the best way I could find to share a data class between subprojects, do you know of alternatives that would work better? I might've missed them

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can make a new project that both of those subprojects depend on

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still a work in progress, I don't want to block the review because of this. I think worst case scenario we can come back and refactor this without it being a breaking change

@@ -265,6 +277,45 @@ class PresignerGenerator : KotlinIntegration {
)
}

checksumAlgorithmMember(op, ctx)?.let { checksumAlgorithmMember ->
withBlock("input.#L?.value?.let { checksumAlgorithmString ->", "}", checksumAlgorithmMember) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit/naming/style: avoid Hungarian notation, checksumAlgorithmName

"#T.#T<Presigner> { #S }",
coroutineContext,
warn,
"The requested checksum algorithm is not supported for pre-signed URL checksums, sending request without checksum.",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should include which checksum algorithm the user chose and which are supported

@@ -287,4 +338,24 @@ class PresignerGenerator : KotlinIntegration {
* > "my-object/example/photo.user". This is an incorrect path for that object.
*/
private fun normalizeUriPath(service: ServiceShape) = service.sdkId != "S3"

/**
* Gets the checksum algorithm member if a user can configure request checksums otherwise null
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if a user can configure request checksums

style/docs: This seems awkward to me

"Gets the checksum algorithm member if configured on a request, otherwise null"

resolved + flexibleChecksumsRequestMiddleware
resolved + flexibleChecksumsRequestMiddleware + configBusinessMetrics

private val configBusinessMetrics = object : ProtocolMiddleware {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: middleware name and value's name should match

Copy link

A new generated diff is ready to view.

Copy link

A new generated diff is ready to view.

import aws.smithy.kotlin.runtime.http.interceptors.FlexibleChecksumsResponseInterceptor

/**
* S3 variant of the flexible checksum interceptor where composite checksums are not validated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit/docs: ... of the [FlexibleChecksumsResponseInterceptor]...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

correctness: This file should go in services/s3/common/src/aws/sdk/kotlin/services/s3/internal with all the other S3-specific interceptors

/**
* Determines if an operation is set up to send flexible request checksums
*/
private fun requestChecksumsConfigured(ctx: ProtocolGenerator.GenerationContext, op: OperationShape): Boolean {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

naming: "configured" implies that this is dependent on user behavior, but it's just based on the model. I suggest making this an extension function OperationShape.hasRequestAlgorithmMember(...)

Comment on lines 96 to 100
val interceptor = if (ctx.model.expectShape<ServiceShape>(ctx.settings.service).isS3) {
AwsRuntimeTypes.Http.Interceptors.S3FlexibleChecksumResponseInterceptor
} else {
RuntimeTypes.HttpClient.Interceptors.FlexibleChecksumsResponseInterceptor
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

docs: let's add a comment here about why S3 needs a custom interceptor

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that I look at this again, we could replace S3FlexibleChecksumResponseInterceptor with something more generic that could be applied to other services. In case other services start sending composite checksums in the future. What does the team think?

Comment on lines 36 to 37
private fun usingS3Express(executionContext: ExecutionContext): Boolean =
executionContext.getOrNull(AttributeKey(S3_EXPRESS_ENDPOINT_PROPERTY_KEY)) != S3_EXPRESS_ENDPOINT_PROPERTY_VALUE
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Could be an extension function off ExecutionContext

Comment on lines +21 to +23
internal class S3ExpressDefaultChecksumAlgorithm(
private val isS3UploadPart: Boolean,
) : HttpInterceptor {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: This works but I think the previous implementation using two different interceptors was cleaner. It's not clear to me why this had to deviate so much from what we already had

Comment on lines +43 to +48
- name: Save Test Reports
if: failure()
uses: actions/upload-artifact@v3
with:
name: test-reports
path: '**/build/reports'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are these test reports used for?

Copy link

A new generated diff is ready to view.

Copy link

A new generated diff is ready to view.

Copy link

Affected Artifacts

Changed in size
Artifact Pull Request (bytes) Latest Release (bytes) Delta (bytes) Delta (percentage)
aws-http-jvm.jar 72,904 70,968 1,936 2.73%
aws-config-jvm.jar 989,175 983,349 5,826 0.59%
marketplacereporting-jvm.jar closure 7,992,233 7,973,584 18,649 0.23%
kinesisvideowebrtcstorage-jvm.jar closure 8,005,795 7,987,146 18,649 0.23%
marketplaceentitlementservice-jvm.jar closure 8,015,641 7,996,992 18,649 0.23%
apigatewaymanagementapi-jvm.jar closure 8,017,919 7,999,272 18,647 0.23%
inspectorscan-jvm.jar closure 8,020,945 8,002,297 18,648 0.23%
workmailmessageflow-jvm.jar closure 8,025,002 8,006,352 18,650 0.23%
kinesisvideomedia-jvm.jar closure 8,029,077 8,010,428 18,649 0.23%
marketplacecommerceanalytics-jvm.jar closure 8,032,945 8,014,295 18,650 0.23%
cloudtraildata-jvm.jar closure 8,035,892 8,017,244 18,648 0.23%
forecastquery-jvm.jar closure 8,040,166 8,021,518 18,648 0.23%
kinesisvideosignaling-jvm.jar closure 8,045,085 8,026,435 18,650 0.23%
appconfigdata-jvm.jar closure 8,045,696 8,027,048 18,648 0.23%
freetier-jvm.jar closure 8,048,901 8,030,252 18,649 0.23%
sagemakermetrics-jvm.jar closure 8,054,442 8,035,791 18,651 0.23%
eksauth-jvm.jar closure 8,067,142 8,048,493 18,649 0.23%
personalizeruntime-jvm.jar closure 8,071,123 8,052,476 18,647 0.23%
sso-jvm.jar closure 8,081,403 8,062,754 18,649 0.23%
ec2instanceconnect-jvm.jar closure 8,088,062 8,069,412 18,650 0.23%
marketplacedeployment-jvm.jar closure 8,093,186 8,074,537 18,649 0.23%
connectcontactlens-jvm.jar closure 8,096,191 8,077,543 18,648 0.23%
mediastoredata-jvm.jar closure 8,098,468 8,079,820 18,648 0.23%
migrationhubconfig-jvm.jar closure 8,100,738 8,082,089 18,649 0.23%
sagemakeredge-jvm.jar closure 8,102,357 8,083,709 18,648 0.23%
cloudsearchdomain-jvm.jar closure 8,112,410 8,093,760 18,650 0.23%
geomaps-jvm.jar closure 8,114,631 8,095,981 18,650 0.23%
personalizeevents-jvm.jar closure 8,117,979 8,099,331 18,648 0.23%
bedrockdataautomationruntime-jvm.jar closure 8,130,012 8,111,362 18,650 0.23%
sagemakerfeaturestoreruntime-jvm.jar closure 8,149,985 8,131,333 18,652 0.23%
sagemakera2iruntime-jvm.jar closure 8,152,093 8,133,445 18,648 0.23%
route53recoverycluster-jvm.jar closure 8,154,063 8,135,415 18,648 0.23%
elasticinference-jvm.jar closure 8,160,153 8,141,503 18,650 0.23%
qldbsession-jvm.jar closure 8,165,110 8,146,461 18,649 0.23%
ssooidc-jvm.jar closure 8,166,725 8,148,074 18,651 0.23%
s3outposts-jvm.jar closure 8,169,718 8,151,070 18,648 0.23%
cloudfrontkeyvaluestore-jvm.jar closure 8,171,188 8,152,540 18,648 0.23%
iotfleethub-jvm.jar closure 8,174,450 8,155,800 18,650 0.23%
observabilityadmin-jvm.jar closure 8,174,897 8,156,248 18,649 0.23%
applicationcostprofiler-jvm.jar closure 8,175,054 8,156,406 18,648 0.23%
sagemakerruntime-jvm.jar closure 8,180,288 8,161,638 18,650 0.23%
iotdataplane-jvm.jar closure 8,186,536 8,167,887 18,649 0.23%
pricing-jvm.jar closure 8,189,824 8,171,175 18,649 0.23%
dynamodbstreams-jvm.jar closure 8,197,154 8,178,504 18,650 0.23%
iotjobsdataplane-jvm.jar closure 8,205,078 8,186,435 18,643 0.23%
iotsecuretunneling-jvm.jar closure 8,208,507 8,189,858 18,649 0.23%
notificationscontacts-jvm.jar closure 8,214,993 8,196,345 18,648 0.23%
supportapp-jvm.jar closure 8,222,818 8,204,166 18,652 0.23%
marketplacemetering-jvm.jar closure 8,239,480 8,220,826 18,654 0.23%
ebs-jvm.jar closure 8,244,583 8,225,934 18,649 0.23%
pinpointsmsvoice-jvm.jar closure 8,248,423 8,229,775 18,648 0.23%
controlcatalog-jvm.jar closure 8,253,600 8,234,948 18,652 0.23%
costandusagereportservice-jvm.jar closure 8,256,973 8,238,324 18,649 0.23%
artifact-jvm.jar closure 8,258,519 8,239,871 18,648 0.23%
kendraranking-jvm.jar closure 8,266,615 8,247,967 18,648 0.23%
dsql-jvm.jar closure 8,276,854 8,258,206 18,648 0.23%
sts-jvm.jar closure 8,284,440 8,265,792 18,648 0.23%
invoicing-jvm.jar closure 8,288,179 8,269,532 18,647 0.23%
resourcegroupstaggingapi-jvm.jar closure 8,290,196 8,271,546 18,650 0.23%
rdsdata-jvm.jar closure 8,294,880 8,276,230 18,650 0.23%
account-jvm.jar closure 8,305,436 8,286,788 18,648 0.23%
iot1clickdevicesservice-jvm.jar closure 8,305,499 8,286,851 18,648 0.23%
lexruntimeservice-jvm.jar closure 8,327,299 8,308,650 18,649 0.22%
rbin-jvm.jar closure 8,338,774 8,320,125 18,649 0.22%
repostspace-jvm.jar closure 8,344,012 8,325,363 18,649 0.22%
licensemanagerlinuxsubscriptions-jvm.jar closure 8,344,033 8,325,385 18,648 0.22%
networkmonitor-jvm.jar closure 8,354,189 8,335,538 18,651 0.22%
pcaconnectorscep-jvm.jar closure 8,375,313 8,356,663 18,650 0.22%
kinesisvideoarchivedmedia-jvm.jar closure 8,376,799 8,358,149 18,650 0.22%
iot1clickprojects-jvm.jar closure 8,377,813 8,359,163 18,650 0.22%
marketplaceagreement-jvm.jar closure 8,391,894 8,373,242 18,652 0.22%
connectparticipant-jvm.jar closure 8,391,402 8,372,753 18,649 0.22%
cloud9-jvm.jar closure 8,398,690 8,380,041 18,649 0.22%
ecrpublic-jvm.jar closure 8,875,543 8,855,844 19,699 0.22%
launchwizard-jvm.jar closure 8,403,453 8,384,804 18,649 0.22%
autoscalingplans-jvm.jar closure 8,410,781 8,392,129 18,652 0.22%
cloudcontrol-jvm.jar closure 8,410,070 8,391,423 18,647 0.22%
ssmquicksetup-jvm.jar closure 8,412,449 8,393,800 18,649 0.22%
oam-jvm.jar closure 8,417,400 8,398,753 18,647 0.22%
iotdeviceadvisor-jvm.jar closure 8,428,573 8,409,924 18,649 0.22%
cloudhsm-jvm.jar closure 8,431,139 8,412,492 18,647 0.22%
codestarnotifications-jvm.jar closure 8,434,446 8,415,794 18,652 0.22%
redshiftdata-jvm.jar closure 8,447,174 8,428,526 18,648 0.22%
route53profiles-jvm.jar closure 8,449,988 8,431,339 18,649 0.22%
socialmessaging-jvm.jar closure 8,454,325 8,435,676 18,649 0.22%
savingsplans-jvm.jar closure 8,463,309 8,444,660 18,649 0.22%
serverlessapplicationrepository-jvm.jar closure 8,463,689 8,445,043 18,646 0.22%
mwaa-jvm.jar closure 8,466,318 8,447,670 18,648 0.22%
arczonalshift-jvm.jar closure 8,471,707 8,453,058 18,649 0.22%
timestreaminfluxdb-jvm.jar closure 8,472,622 8,453,973 18,649 0.22%
mediastore-jvm.jar closure 8,478,610 8,459,963 18,647 0.22%
bcmdataexports-jvm.jar closure 8,488,993 8,470,343 18,650 0.22%
healthlake-jvm.jar closure 8,489,188 8,470,538 18,650 0.22%
simspaceweaver-jvm.jar closure 8,499,347 8,480,698 18,649 0.22%
cognitosync-jvm.jar closure 8,501,936 8,483,288 18,648 0.22%
snowdevicemanagement-jvm.jar closure 8,508,382 8,489,734 18,648 0.22%
codegurusecurity-jvm.jar closure 8,521,471 8,502,823 18,648 0.22%
osis-jvm.jar closure 8,523,293 8,504,643 18,650 0.22%
pi-jvm.jar closure 8,523,946 8,505,297 18,649 0.22%
trustedadvisor-jvm.jar closure 8,531,486 8,512,838 18,648 0.22%
cloudhsmv2-jvm.jar closure 8,537,599 8,518,949 18,650 0.22%
ivschat-jvm.jar closure 8,538,852 8,520,204 18,648 0.22%
scheduler-jvm.jar closure 8,542,102 8,523,452 18,650 0.22%
polly-jvm.jar closure 8,555,410 8,536,761 18,649 0.22%
workspacesthinclient-jvm.jar closure 8,558,684 8,540,037 18,647 0.22%
opsworkscm-jvm.jar closure 8,560,169 8,541,519 18,650 0.22%
backupsearch-jvm.jar closure 8,561,654 8,543,005 18,649 0.22%
qldb-jvm.jar closure 8,564,579 8,545,930 18,649 0.22%
dlm-jvm.jar closure 8,572,364 8,553,713 18,651 0.22%
rum-jvm.jar closure 8,574,479 8,555,830 18,649 0.22%
support-jvm.jar closure 8,576,137 8,557,487 18,650 0.22%
docdbelastic-jvm.jar closure 8,575,391 8,556,744 18,647 0.22%
directoryservicedata-jvm.jar closure 8,580,639 8,561,991 18,648 0.22%
managedblockchainquery-jvm.jar closure 8,586,561 8,567,912 18,649 0.22%
datapipeline-jvm.jar closure 8,593,574 8,574,925 18,649 0.22%
ioteventsdata-jvm.jar closure 8,603,577 8,584,929 18,648 0.22%
health-jvm.jar closure 8,609,700 8,591,051 18,649 0.22%
transcribestreaming-jvm.jar closure 8,620,658 8,602,009 18,649 0.22%
identitystore-jvm.jar closure 8,629,459 8,610,810 18,649 0.22%
migrationhub-jvm.jar closure 8,660,451 8,641,802 18,649 0.22%
acm-jvm.jar closure 8,674,140 8,655,491 18,649 0.22%
servicequotas-jvm.jar closure 8,676,315 8,657,667 18,648 0.22%
internetmonitor-jvm.jar closure 8,680,268 8,661,621 18,647 0.22%
signer-jvm.jar closure 8,683,092 8,664,442 18,650 0.22%
codegurureviewer-jvm.jar closure 8,688,429 8,669,782 18,647 0.22%
connectcampaigns-jvm.jar closure 8,693,756 8,675,106 18,650 0.21%
route53recoverycontrolconfig-jvm.jar closure 8,695,518 8,676,869 18,649 0.21%
licensemanagerusersubscriptions-jvm.jar closure 8,698,128 8,679,480 18,648 0.21%
s3tables-jvm.jar closure 8,702,217 8,683,567 18,650 0.21%
backupgateway-jvm.jar closure 8,702,795 8,684,144 18,651 0.21%
cognitoidentity-jvm.jar closure 8,701,937 8,683,288 18,649 0.21%
medicalimaging-jvm.jar closure 8,702,296 8,683,649 18,647 0.21%
s3-jvm.jar closure 12,377,253 12,350,752 26,501 0.21%
secretsmanager-jvm.jar closure 8,713,126 8,694,476 18,650 0.21%
chimesdkmeetings-jvm.jar closure 8,712,959 8,694,311 18,648 0.21%
mediapackagevod-jvm.jar closure 8,718,395 8,699,748 18,647 0.21%
servicecatalogappregistry-jvm.jar closure 8,727,116 8,708,469 18,647 0.21%
resourceexplorer2-jvm.jar closure 8,729,467 8,710,818 18,649 0.21%
braket-jvm.jar closure 8,733,889 8,715,240 18,649 0.21%
lexruntimev2-jvm.jar closure 8,742,904 8,724,254 18,650 0.21%
notifications-jvm.jar closure 8,744,288 8,725,639 18,649 0.21%
codeguruprofiler-jvm.jar closure 8,747,733 8,729,086 18,647 0.21%
appintegrations-jvm.jar closure 8,757,644 8,738,995 18,649 0.21%
supplychain-jvm.jar closure 8,757,185 8,738,537 18,648 0.21%
costoptimizationhub-jvm.jar closure 8,758,027 8,739,379 18,648 0.21%
pcs-jvm.jar closure 8,760,958 8,742,309 18,649 0.21%
emrserverless-jvm.jar closure 8,766,777 8,748,128 18,649 0.21%
synthetics-jvm.jar closure 8,770,293 8,751,644 18,649 0.21%
applicationsignals-jvm.jar closure 8,782,521 8,763,872 18,649 0.21%
schemas-jvm.jar closure 8,785,347 8,766,698 18,649 0.21%
translate-jvm.jar closure 8,797,664 8,779,015 18,649 0.21%
paymentcryptography-jvm.jar closure 8,805,718 8,787,068 18,650 0.21%
mq-jvm.jar closure 8,804,833 8,786,185 18,648 0.21%
elastictranscoder-jvm.jar closure 8,809,935 8,791,287 18,648 0.21%
rolesanywhere-jvm.jar closure 8,817,069 8,798,421 18,648 0.21%
bedrockdataautomation-jvm.jar closure 8,821,611 8,802,962 18,649 0.21%
lookoutvision-jvm.jar closure 8,823,672 8,805,023 18,649 0.21%
keyspaces-jvm.jar closure 8,830,630 8,811,981 18,649 0.21%
networkflowmonitor-jvm.jar closure 8,831,328 8,812,680 18,648 0.21%
dax-jvm.jar closure 8,834,354 8,815,705 18,649 0.21%
resourcegroups-jvm.jar closure 8,839,447 8,820,797 18,650 0.21%
securityir-jvm.jar closure 8,840,043 8,821,394 18,649 0.21%
amp-jvm.jar closure 8,847,282 8,828,636 18,646 0.21%
sqs-jvm.jar closure 8,865,653 8,847,005 18,648 0.21%
timestreamwrite-jvm.jar closure 8,871,858 8,853,210 18,648 0.21%
geoplaces-jvm.jar closure 8,874,477 8,855,829 18,648 0.21%
appfabric-jvm.jar closure 8,880,426 8,861,776 18,650 0.21%
mediapackage-jvm.jar closure 8,881,461 8,862,811 18,650 0.21%
applicationautoscaling-jvm.jar closure 8,890,871 8,872,224 18,647 0.21%
timestreamquery-jvm.jar closure 8,900,667 8,882,018 18,649 0.21%
kafkaconnect-jvm.jar closure 8,904,698 8,886,048 18,650 0.21%
codeconnections-jvm.jar closure 8,909,232 8,890,584 18,648 0.21%
codestarconnections-jvm.jar closure 8,909,660 8,891,012 18,648 0.21%
grafana-jvm.jar closure 8,912,700 8,894,051 18,649 0.21%
privatenetworks-jvm.jar closure 8,924,429 8,905,778 18,651 0.21%
migrationhubrefactorspaces-jvm.jar closure 8,924,749 8,906,101 18,648 0.21%
route53recoveryreadiness-jvm.jar closure 8,926,654 8,908,007 18,647 0.21%
detective-jvm.jar closure 8,936,460 8,917,811 18,649 0.21%
taxsettings-jvm.jar closure 8,936,676 8,918,029 18,647 0.21%
chimesdkidentity-jvm.jar closure 8,941,269 8,922,619 18,650 0.21%
controltower-jvm.jar closure 8,977,730 8,959,082 18,648 0.21%
emrcontainers-jvm.jar closure 8,980,900 8,962,251 18,649 0.21%
machinelearning-jvm.jar closure 8,985,512 8,966,863 18,649 0.21%
applicationinsights-jvm.jar closure 8,994,720 8,976,072 18,648 0.21%
securitylake-jvm.jar closure 9,021,660 9,003,010 18,650 0.21%
kinesisanalytics-jvm.jar closure 9,023,701 9,005,054 18,647 0.21%
cloudsearch-jvm.jar closure 9,026,185 9,007,535 18,650 0.21%
finspacedata-jvm.jar closure 9,043,719 9,025,069 18,650 0.21%
acmpca-jvm.jar closure 9,045,462 9,026,811 18,651 0.21%
paymentcryptographydata-jvm.jar closure 9,059,403 9,040,753 18,650 0.21%
budgets-jvm.jar closure 9,059,618 9,040,970 18,648 0.21%
comprehendmedical-jvm.jar closure 9,072,073 9,053,424 18,649 0.21%
migrationhuborchestrator-jvm.jar closure 9,073,267 9,054,621 18,646 0.21%
managedblockchain-jvm.jar closure 9,086,365 9,067,717 18,648 0.21%
elasticloadbalancing-jvm.jar closure 9,087,102 9,068,454 18,648 0.21%
voiceid-jvm.jar closure 9,091,119 9,072,470 18,649 0.21%
mturk-jvm.jar closure 9,096,436 9,077,786 18,650 0.21%
glacier-jvm.jar closure 9,109,978 9,091,330 18,648 0.21%
kinesisvideo-jvm.jar closure 9,128,569 9,109,921 18,648 0.20%
iotthingsgraph-jvm.jar closure 9,131,775 9,113,127 18,648 0.20%
shield-jvm.jar closure 9,133,243 9,114,596 18,647 0.20%
tnb-jvm.jar closure 9,151,433 9,132,786 18,647 0.20%
applicationdiscoveryservice-jvm.jar closure 9,157,993 9,139,345 18,648 0.20%
amplify-jvm.jar closure 9,159,926 9,141,281 18,645 0.20%
kinesis-jvm.jar closure 9,163,037 9,144,388 18,649 0.20%
ivs-jvm.jar closure 9,175,257 9,156,608 18,649 0.20%
snowball-jvm.jar closure 9,175,272 9,156,624 18,648 0.20%
efs-jvm.jar closure 9,199,889 9,181,240 18,649 0.20%
chatbot-jvm.jar closure 9,202,380 9,183,732 18,648 0.20%
neptunegraph-jvm.jar closure 9,208,145 9,189,496 18,649 0.20%
amplifybackend-jvm.jar closure 9,226,441 9,207,793 18,648 0.20%
servicediscovery-jvm.jar closure 9,232,492 9,213,843 18,649 0.20%
ssmincidents-jvm.jar closure 9,240,670 9,222,022 18,648 0.20%
ram-jvm.jar closure 9,247,508 9,228,859 18,649 0.20%
fis-jvm.jar closure 9,273,535 9,254,887 18,648 0.20%
opensearchserverless-jvm.jar closure 9,275,067 9,256,417 18,650 0.20%
textract-jvm.jar closure 9,281,837 9,263,188 18,649 0.20%
sms-jvm.jar closure 9,284,817 9,266,169 18,648 0.20%
marketplacecatalog-jvm.jar closure 9,291,162 9,272,513 18,649 0.20%
greengrassv2-jvm.jar closure 9,291,950 9,273,302 18,648 0.20%
codecatalyst-jvm.jar closure 9,299,651 9,281,003 18,648 0.20%
pipes-jvm.jar closure 9,305,471 9,286,821 18,650 0.20%
ssmcontacts-jvm.jar closure 9,304,040 9,285,393 18,647 0.20%
pcaconnectorad-jvm.jar closure 9,305,055 9,286,406 18,649 0.20%
qapps-jvm.jar closure 9,307,070 9,288,421 18,649 0.20%
connectcases-jvm.jar closure 9,319,987 9,301,339 18,648 0.20%
sns-jvm.jar closure 9,325,056 9,306,406 18,650 0.20%
appconfig-jvm.jar closure 9,324,476 9,305,830 18,646 0.20%
mediapackagev2-jvm.jar closure 9,328,985 9,310,336 18,649 0.20%
sagemakergeospatial-jvm.jar closure 9,333,039 9,314,390 18,649 0.20%
pinpointemail-jvm.jar closure 9,336,327 9,317,680 18,647 0.20%
route53domains-jvm.jar closure 9,358,821 9,340,174 18,647 0.20%
ivsrealtime-jvm.jar closure 9,368,263 9,349,614 18,649 0.20%
iotevents-jvm.jar closure 9,371,459 9,352,810 18,649 0.20%
apprunner-jvm.jar closure 9,375,744 9,357,095 18,649 0.20%
m2-jvm.jar closure 9,379,266 9,360,618 18,648 0.20%
bedrockruntime-jvm.jar closure 9,383,920 9,365,272 18,648 0.20%
panorama-jvm.jar closure 9,387,261 9,368,614 18,647 0.20%
connectcampaignsv2-jvm.jar closure 9,399,023 9,380,375 18,648 0.20%
lookoutmetrics-jvm.jar closure 9,421,804 9,403,155 18,649 0.20%
verifiedpermissions-jvm.jar closure 9,441,871 9,423,224 18,647 0.20%
apptest-jvm.jar closure 9,459,188 9,440,541 18,647 0.20%
entityresolution-jvm.jar closure 9,471,264 9,452,614 18,650 0.20%
billingconductor-jvm.jar closure 9,471,026 9,452,377 18,649 0.20%
inspector-jvm.jar closure 9,471,898 9,453,250 18,648 0.20%
evidently-jvm.jar closure 9,487,127 9,468,477 18,650 0.20%
groundstation-jvm.jar closure 9,487,534 9,468,886 18,648 0.20%
b2bi-jvm.jar closure 9,489,951 9,471,303 18,648 0.20%
migrationhubstrategy-jvm.jar closure 9,490,389 9,471,741 18,648 0.20%
lexmodelbuildingservice-jvm.jar closure 9,543,252 9,524,603 18,649 0.20%
neptunedata-jvm.jar closure 9,545,209 9,526,562 18,647 0.20%
codeartifact-jvm.jar closure 9,552,844 9,534,191 18,653 0.20%
cloudwatch-jvm.jar closure 9,570,842 9,552,193 18,649 0.20%
wisdom-jvm.jar closure 9,579,625 9,560,975 18,650 0.20%
xray-jvm.jar closure 9,579,152 9,560,503 18,649 0.20%
iotanalytics-jvm.jar closure 9,646,554 9,627,905 18,649 0.19%
chimesdkmessaging-jvm.jar closure 9,648,341 9,629,694 18,647 0.19%
mediatailor-jvm.jar closure 9,655,460 9,636,813 18,647 0.19%
amplifyuibuilder-jvm.jar closure 9,663,929 9,645,280 18,649 0.19%
bcmpricingcalculator-jvm.jar closure 9,718,386 9,699,738 18,648 0.19%
lookoutequipment-jvm.jar closure 9,723,917 9,705,270 18,647 0.19%
workdocs-jvm.jar closure 9,734,250 9,715,606 18,644 0.19%
redshiftserverless-jvm.jar closure 9,737,679 9,719,031 18,648 0.19%
dataexchange-jvm.jar closure 9,767,044 9,748,394 18,650 0.19%
outposts-jvm.jar closure 9,236,055 9,218,444 17,611 0.19%
transcribe-jvm.jar closure 9,789,362 9,770,714 18,648 0.19%
databrew-jvm.jar closure 9,803,203 9,784,555 18,648 0.19%
sfn-jvm.jar closure 9,818,152 9,799,505 18,647 0.19%
finspace-jvm.jar closure 9,827,527 9,808,878 18,649 0.19%
globalaccelerator-jvm.jar closure 9,839,020 9,820,373 18,647 0.19%
networkfirewall-jvm.jar closure 9,840,553 9,821,905 18,648 0.19%
firehose-jvm.jar closure 9,887,005 9,868,357 18,648 0.19%
devopsguru-jvm.jar closure 9,898,275 9,879,625 18,650 0.19%
batch-jvm.jar closure 9,903,845 9,885,198 18,647 0.19%
workspacesweb-jvm.jar closure 9,908,726 9,890,075 18,651 0.19%
cloudwatchevents-jvm.jar closure 9,909,921 9,891,272 18,649 0.19%
licensemanager-jvm.jar closure 9,914,489 9,895,841 18,648 0.19%
directconnect-jvm.jar closure 9,962,075 9,943,426 18,649 0.19%
memorydb-jvm.jar closure 9,985,785 9,967,136 18,649 0.19%
kms-jvm.jar closure 9,988,522 9,969,874 18,648 0.19%
apigatewayv2-jvm.jar closure 10,002,136 9,983,488 18,648 0.19%
elasticbeanstalk-jvm.jar closure 10,008,086 9,989,438 18,648 0.19%
chimesdkmediapipelines-jvm.jar closure 10,014,229 9,995,580 18,649 0.19%
accessanalyzer-jvm.jar closure 10,019,279 10,000,629 18,650 0.19%
iottwinmaker-jvm.jar closure 10,022,302 10,003,653 18,649 0.19%
organizations-jvm.jar closure 10,039,172 10,020,525 18,647 0.19%
mailmanager-jvm.jar closure 10,056,079 10,037,431 18,648 0.19%
ecr-jvm.jar closure 10,060,599 10,041,950 18,649 0.19%
fms-jvm.jar closure 10,062,579 10,043,932 18,647 0.19%
swf-jvm.jar closure 10,079,863 10,061,212 18,651 0.19%
auditmanager-jvm.jar closure 10,109,442 10,090,789 18,653 0.18%
location-jvm.jar closure 10,160,011 10,141,362 18,649 0.18%
lakeformation-jvm.jar closure 10,206,814 10,188,165 18,649 0.18%
eventbridge-jvm.jar closure 10,226,857 10,208,209 18,648 0.18%
drs-jvm.jar closure 10,235,819 10,217,170 18,649 0.18%
athena-jvm.jar closure 10,249,871 10,231,223 18,648 0.18%
ssoadmin-jvm.jar closure 10,251,436 10,232,793 18,643 0.18%
kinesisanalyticsv2-jvm.jar closure 10,257,117 10,238,469 18,648 0.18%
route53resolver-jvm.jar closure 10,280,916 10,262,267 18,649 0.18%
opsworks-jvm.jar closure 10,286,754 10,268,105 18,649 0.18%
ses-jvm.jar closure 10,289,528 10,270,880 18,648 0.18%
vpclattice-jvm.jar closure 10,291,363 10,272,714 18,649 0.18%
kafka-jvm.jar closure 10,291,099 10,272,452 18,647 0.18%
mediaconnect-jvm.jar closure 10,328,307 10,309,659 18,648 0.18%
robomaker-jvm.jar closure 10,346,213 10,327,564 18,649 0.18%
elasticsearchservice-jvm.jar closure 10,346,292 10,327,645 18,647 0.18%
forecast-jvm.jar closure 10,379,020 10,360,372 18,648 0.18%
codebuild-jvm.jar closure 10,396,131 10,377,482 18,649 0.18%
frauddetector-jvm.jar closure 10,409,092 10,390,444 18,648 0.18%
datasync-jvm.jar closure 10,454,103 10,435,454 18,649 0.18%
cleanroomsml-jvm.jar closure 10,467,994 10,449,346 18,648 0.18%
greengrass-jvm.jar closure 10,468,143 10,449,496 18,647 0.18%
s3-jvm.jar 4,417,282 4,409,431 7,851 0.18%
directoryservice-jvm.jar closure 10,492,745 10,474,097 18,648 0.18%
elasticloadbalancingv2-jvm.jar closure 10,496,914 10,478,266 18,648 0.18%
partnercentralselling-jvm.jar closure 10,526,702 10,508,054 18,648 0.18%
personalize-jvm.jar closure 10,537,286 10,518,636 18,650 0.18%
resiliencehub-jvm.jar closure 10,538,061 10,519,412 18,649 0.18%
transfer-jvm.jar closure 10,548,978 10,530,331 18,647 0.18%
wellarchitected-jvm.jar closure 10,553,428 10,534,781 18,647 0.18%
appsync-jvm.jar closure 10,564,935 10,546,286 18,649 0.18%
cloudtrail-jvm.jar closure 10,569,295 10,550,645 18,650 0.18%
workmail-jvm.jar closure 10,586,810 10,568,161 18,649 0.18%
georoutes-jvm.jar closure 10,612,761 10,594,113 18,648 0.18%
iotfleetwise-jvm.jar closure 10,628,415 10,609,768 18,647 0.18%
storagegateway-jvm.jar closure 10,642,953 10,624,304 18,649 0.18%
devicefarm-jvm.jar closure 10,646,935 10,628,286 18,649 0.18%
codepipeline-jvm.jar closure 10,691,185 10,672,535 18,650 0.17%
waf-jvm.jar closure 10,702,945 10,684,295 18,650 0.17%
emr-jvm.jar closure 10,727,105 10,708,457 18,648 0.17%
appmesh-jvm.jar closure 10,761,872 10,743,223 18,649 0.17%
autoscaling-jvm.jar closure 10,815,077 10,796,428 18,649 0.17%
chimesdkvoice-jvm.jar closure 10,818,376 10,799,728 18,648 0.17%
route53-jvm.jar closure 10,828,882 10,810,232 18,650 0.17%
wafregional-jvm.jar closure 10,837,342 10,818,693 18,649 0.17%
appflow-jvm.jar closure 10,839,145 10,820,496 18,649 0.17%
mgn-jvm.jar closure 10,870,337 10,851,689 18,648 0.17%
proton-jvm.jar closure 10,891,754 10,873,107 18,647 0.17%
bedrock-jvm.jar closure 10,899,097 10,880,447 18,650 0.17%
neptune-jvm.jar closure 10,917,595 10,898,946 18,649 0.17%
computeoptimizer-jvm.jar closure 10,937,892 10,919,244 18,648 0.17%
servicecatalog-jvm.jar closure 10,955,397 10,936,747 18,650 0.17%
clouddirectory-jvm.jar closure 10,983,236 10,964,587 18,649 0.17%
lambda-jvm.jar closure 10,985,328 10,966,681 18,647 0.17%
backup-jvm.jar closure 11,016,592 10,997,944 18,648 0.17%
codedeploy-jvm.jar closure 11,018,868 11,000,219 18,649 0.17%
fsx-jvm.jar closure 11,035,130 11,016,483 18,647 0.17%
networkmanager-jvm.jar closure 11,156,564 11,137,916 18,648 0.17%
appstream-jvm.jar closure 10,657,939 10,640,371 17,568 0.17%
dynamodb-jvm.jar closure 11,316,732 11,298,081 18,651 0.17%
customerprofiles-jvm.jar closure 11,321,846 11,303,200 18,646 0.16%
wafv2-jvm.jar closure 11,346,007 11,327,354 18,653 0.16%
imagebuilder-jvm.jar closure 11,373,851 11,355,202 18,649 0.16%
sesv2-jvm.jar closure 11,398,050 11,379,401 18,649 0.16%
cloudwatchlogs-jvm.jar closure 11,402,711 11,384,062 18,649 0.16%
omics-jvm.jar closure 11,404,553 11,385,903 18,650 0.16%
qbusiness-jvm.jar closure 11,542,099 11,523,450 18,649 0.16%
apigateway-jvm.jar closure 11,540,944 11,522,298 18,646 0.16%
comprehend-jvm.jar closure 11,564,364 11,545,714 18,650 0.16%
ecs-jvm.jar closure 11,577,999 11,559,349 18,650 0.16%
cleanrooms-jvm.jar closure 11,593,253 11,574,605 18,648 0.16%
pinpointsmsvoicev2-jvm.jar closure 11,596,948 11,578,299 18,649 0.16%
elasticache-jvm.jar closure 11,651,352 11,632,704 18,648 0.16%
opensearch-jvm.jar closure 11,699,109 11,680,460 18,649 0.16%
cloudformation-jvm.jar closure 11,732,540 11,713,891 18,649 0.16%
rekognition-jvm.jar closure 11,816,985 11,798,336 18,649 0.16%
inspector2-jvm.jar closure 12,021,379 12,002,729 18,650 0.16%
guardduty-jvm.jar closure 12,069,487 12,050,836 18,651 0.15%
iotwireless-jvm.jar closure 12,076,652 12,058,005 18,647 0.15%
iotsitewise-jvm.jar closure 12,097,066 12,078,418 18,648 0.15%
kendra-jvm.jar closure 12,106,764 12,088,115 18,649 0.15%
deadline-jvm.jar closure 12,200,013 12,181,364 18,649 0.15%
codecommit-jvm.jar closure 12,222,237 12,203,586 18,651 0.15%
cognitoidentityprovider-jvm.jar closure 12,437,501 12,418,853 18,648 0.15%
macie2-jvm.jar closure 11,664,609 11,647,147 17,462 0.15%
costexplorer-jvm.jar closure 10,517,355 10,501,675 15,680 0.15%
iam-jvm.jar closure 12,582,878 12,564,227 18,651 0.15%
databasemigrationservice-jvm.jar closure 12,605,853 12,587,203 18,650 0.15%
gamelift-jvm.jar closure 12,648,882 12,630,233 18,649 0.15%
qconnect-jvm.jar closure 12,269,260 12,251,301 17,959 0.15%
configservice-jvm.jar closure 12,874,198 12,855,549 18,649 0.15%
pinpoint-jvm.jar closure 13,097,303 13,078,654 18,649 0.14%
chime-jvm.jar closure 13,450,003 13,431,354 18,649 0.14%
lightsail-jvm.jar closure 13,701,183 13,682,534 18,649 0.14%
s3control-jvm.jar closure 11,955,793 11,939,595 16,198 0.14%
redshift-jvm.jar closure 14,124,273 14,105,626 18,647 0.13%
cloudfront-jvm.jar closure 14,155,557 14,136,908 18,649 0.13%
lexmodelsv2-jvm.jar closure 14,236,807 14,218,159 18,648 0.13%
rds-jvm.jar closure 15,303,082 15,284,432 18,650 0.12%
datazone-jvm.jar closure 15,536,424 15,517,777 18,647 0.12%
ssm-jvm.jar closure 15,718,229 15,699,578 18,651 0.12%
iot-jvm.jar closure 17,519,333 17,500,686 18,647 0.11%
ecrpublic-jvm.jar 999,762 998,713 1,049 0.11%
securityhub-jvm.jar closure 19,942,785 19,924,136 18,649 0.09%
glue-jvm.jar closure 19,976,599 19,958,223 18,376 0.09%
ssmsap-jvm.jar closure 8,804,078 8,796,731 7,347 0.08%
docdb-jvm.jar closure 10,275,116 10,266,638 8,478 0.08%
quicksight-jvm.jar closure 27,659,805 27,641,158 18,647 0.07%
ec2-jvm.jar closure 37,211,256 37,192,608 18,648 0.05%
mediaconvert-jvm.jar closure 14,538,317 14,532,700 5,617 0.04%
connect-jvm.jar closure 19,563,294 19,557,681 5,613 0.03%
bedrockagent-jvm.jar closure 12,584,828 12,581,487 3,341 0.03%
ssoadmin-jvm.jar 2,375,655 2,375,662 -7 -0.00%
workdocs-jvm.jar 1,858,469 1,858,475 -6 -0.00%
iotjobsdataplane-jvm.jar 329,297 329,304 -7 -0.00%
glue-jvm.jar 12,100,818 12,101,092 -274 -0.00%
qconnect-jvm.jar 4,393,479 4,394,170 -691 -0.02%
macie2-jvm.jar 3,788,828 3,790,016 -1,188 -0.03%
appstream-jvm.jar 2,782,158 2,783,240 -1,082 -0.04%
sagemaker-jvm.jar closure 27,687,681 27,699,916 -12,235 -0.04%
s3control-jvm.jar 4,080,012 4,082,464 -2,452 -0.06%
outposts-jvm.jar 1,360,274 1,361,313 -1,039 -0.08%
connect-jvm.jar 11,687,513 11,700,550 -13,037 -0.11%
costexplorer-jvm.jar 2,641,574 2,644,544 -2,970 -0.11%
medialive-jvm.jar closure 16,852,569 16,876,087 -23,518 -0.14%
sagemaker-jvm.jar 19,811,900 19,842,785 -30,885 -0.16%
mediaconvert-jvm.jar 6,662,536 6,675,569 -13,033 -0.20%
workspaces-jvm.jar closure 11,392,491 11,426,131 -33,640 -0.29%
bedrockagent-jvm.jar 4,709,047 4,724,356 -15,309 -0.32%
eks-jvm.jar closure 10,642,299 10,680,074 -37,775 -0.35%
docdb-jvm.jar 2,399,335 2,409,507 -10,172 -0.42%
bedrockagentruntime-jvm.jar closure 10,596,158 10,642,813 -46,655 -0.44%
medialive-jvm.jar 8,976,788 9,018,956 -42,168 -0.47%
ssmsap-jvm.jar 928,297 939,600 -11,303 -1.20%
workspaces-jvm.jar 3,516,710 3,569,000 -52,290 -1.47%
eks-jvm.jar 2,766,518 2,822,943 -56,425 -2.00%
bedrockagentruntime-jvm.jar 2,636,187 2,701,492 -65,305 -2.42%
billing-jvm.jar closure 8,038,980 8,326,562 -287,582 -3.45%
billing-jvm.jar 163,199 469,431 -306,232 -65.23%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
acknowledge-artifact-size-increase Acknowledge that an artifact increased in size substantially or that a new artifact was created no-changelog Indicates that a changelog entry isn't required for a pull request. Use sparingly.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants