Extract common blob-update logic in S3HttpHandler#138490
Merged
DaveCTurner merged 1 commit intoelastic:mainfrom Nov 24, 2025
Merged
Extract common blob-update logic in S3HttpHandler#138490DaveCTurner merged 1 commit intoelastic:mainfrom
S3HttpHandler#138490DaveCTurner merged 1 commit intoelastic:mainfrom
Conversation
The `PutObject` and `CompleteMultipartUpload` APIs both implement their support for the `If-None-Match` header using identical logic. This commit extracts the logic into one place to simplify a future change that adds support for `If-Match` here too.
Collaborator
|
Pinging @elastic/es-distributed-coordination (Team:Distributed Coordination) |
joshua-adams-1
approved these changes
Nov 24, 2025
| } else { | ||
| blobs.put(request.path(), blob.v2()); | ||
| } | ||
| final var preconditionFailed = updateBlobContents(exchange, request.path(), blob.v2()) == false; |
Contributor
There was a problem hiding this comment.
[Nit] You explicitly typed preconditionFailed above and var here. I personally would prefer it to be boolean over var, but it's fine either way!
Contributor
Author
There was a problem hiding this comment.
It has to be explicit above because there's no initializer: final var preconditionFailed; doesn't work because it doesn't know what type you mean. Otherwise I'd have used var there too.
(I mean it should be able to work it out based on the first assignment but it doesn't today)
szybia
added a commit
to szybia/elasticsearch
that referenced
this pull request
Nov 24, 2025
…-json * upstream/main: (247 commits) Mute org.elasticsearch.xpack.inference.integration.SemanticTextIndexOptionsIT testValidateIndexOptionsWithBasicLicense elastic#138513 Mute org.elasticsearch.xpack.esql.heap_attack.HeapAttackLookupJoinIT testLookupExplosionBigString elastic#138510 This shouldn't be zero (elastic#138501) sum of empty histogram is now null (elastic#138378) Test ES|QL bfloat16 support (elastic#138499) Fix exception handling in S3 `compareAndExchangeRegister` (elastic#138488) Mute org.elasticsearch.xpack.exponentialhistogram.ExponentialHistogramFieldMapperTests testFormattedDocValues elastic#138504 Mute org.elasticsearch.ingest.geoip.IngestGeoIpClientYamlTestSuiteIT test {yaml=ingest_geoip/60_ip_location_databases/Test adding, getting, and removing ip location databases} elastic#138502 ESQL: Refactor HeapAttackIT (elastic#138432) [Inference API] Add ElasticInferenceServiceDenseTextEmbeddingsServiceSettings to InferenceNamedWriteablesProvider (elastic#138484) Store split indices (elastic#138396) ES|QL Update CHUNK to support chunking_settings as optional argument (elastic#138123) Extract common blob-update logic in `S3HttpHandler` (elastic#138490) Cleanup esql request building api (elastic#138398) Round sum and avg in exponential_histogram CSV tests (elastic#138472) ESQL: load exponential_histogram total count as double instead of long (elastic#138417) [SIMD] Use fixed width native types for better Java interoperability (elastic#138429) Do not use Min or Max as Top's surrogate when there is an outputField (elastic#138380) ES|QL: Fix generative tests (elastic#138478) Mute org.elasticsearch.xpack.inference.integration.AuthorizationTaskExecutorIT testCreatesEisChatCompletion_DoesNotRemoveEndpointWhenNoLongerAuthorized elastic#138480 ...
afoucret
pushed a commit
to afoucret/elasticsearch
that referenced
this pull request
Nov 26, 2025
The `PutObject` and `CompleteMultipartUpload` APIs both implement their support for the `If-None-Match` header using identical logic. This commit extracts the logic into one place to simplify a future change that adds support for `If-Match` here too.
ncordon
pushed a commit
to ncordon/elasticsearch
that referenced
this pull request
Nov 26, 2025
The `PutObject` and `CompleteMultipartUpload` APIs both implement their support for the `If-None-Match` header using identical logic. This commit extracts the logic into one place to simplify a future change that adds support for `If-Match` here too.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
PutObjectandCompleteMultipartUploadAPIs both implement theirsupport for the
If-None-Matchheader using identical logic. Thiscommit extracts the logic into one place to simplify a future change
that adds support for
If-Matchhere too.