Skip to content

Commit 6f2a59c

Browse files
Dest-S3: Enable ObjectLoader Interface (#56935)
Co-authored-by: Cole Snodgrass <cole@airbyte.io>
1 parent 17b7816 commit 6f2a59c

11 files changed

Lines changed: 17 additions & 16 deletions

File tree

.github/workflows/connectors_pre_release_checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ on:
2121
jobs:
2222
connectors_ci:
2323
name: Connector Pre-Release Checks
24-
runs-on: linux-20.04-large # Custom runner, defined in GitHub org settings
24+
runs-on: linux-24.04-large # Custom runner, defined in GitHub org settings
2525
if: >
2626
github.event.pull_request.head.repo.fork != true &&
2727
github.event.pull_request.draft == false

.github/workflows/connectors_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ jobs:
7878
# If the condition is not met the job will be skipped (it will not fail)
7979
if: (github.event_name == 'pull_request' && needs.changes.outputs.connectors == 'true' && github.event.pull_request.head.repo.fork != true) || github.event_name == 'workflow_dispatch'
8080
name: Connectors CI
81-
runs-on: linux-20.04-large # Custom runner, defined in GitHub org settings
81+
runs-on: linux-24.04-large # Custom runner, defined in GitHub org settings
8282
timeout-minutes: 360 # 6 hours
8383
steps:
8484
- name: Checkout Airbyte

.github/workflows/gradle.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
# Any revision upwards should be based on a performance analysis of gradle scans.
5050
# See https://github.com/airbytehq/airbyte/pull/36055 for an example of this,
5151
# which explains why which we went down from 64 cores to 16.
52-
runs-on: linux-20.04-large # Custom runner, defined in GitHub org settings
52+
runs-on: linux-24.04-large # Custom runner, defined in GitHub org settings
5353
name: Gradle Check
5454
timeout-minutes: 60
5555
steps:

.github/workflows/live_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ on:
4848
jobs:
4949
live_tests:
5050
name: Live Tests
51-
runs-on: linux-20.04-large # Custom runner, defined in GitHub org settings
51+
runs-on: linux-24.04-large # Custom runner, defined in GitHub org settings
5252
timeout-minutes: 360 # 6 hours
5353
steps:
5454
- name: Checkout Airbyte

.github/workflows/publish-bulk-cdk.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ env:
2525
jobs:
2626
publish-bulk-cdk:
2727
name: Publish Bulk CDK
28-
runs-on: linux-20.04-large # Custom runner, defined in GitHub org settings
28+
runs-on: linux-24.04-large # Custom runner, defined in GitHub org settings
2929
timeout-minutes: 30
3030
steps:
3131
- name: Checkout Airbyte

.github/workflows/publish-java-cdk-command.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ env:
6161
jobs:
6262
publish-cdk:
6363
name: Publish Java CDK
64-
runs-on: linux-20.04-large # Custom runner, defined in GitHub org settings
64+
runs-on: linux-24.04-large # Custom runner, defined in GitHub org settings
6565
timeout-minutes: 30
6666
steps:
6767
- name: Link comment to Workflow Run

.github/workflows/regression_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ on:
4848
jobs:
4949
regression_tests:
5050
name: Regression Tests
51-
runs-on: linux-20.04-large # Custom runner, defined in GitHub org settings
51+
runs-on: linux-24.04-large # Custom runner, defined in GitHub org settings
5252
timeout-minutes: 360 # 6 hours
5353
steps:
5454
- name: Install Python

airbyte-integrations/connectors/destination-s3/metadata.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ data:
22
connectorSubtype: file
33
connectorType: destination
44
definitionId: 4816b78f-1489-44c1-9060-4b19d5fa9362
5-
dockerImageTag: 1.6.0
5+
dockerImageTag: 1.7.0-rc.1
66
dockerRepository: airbyte/destination-s3
77
githubIssueLabel: destination-s3
88
icon: s3.svg
@@ -23,7 +23,7 @@ data:
2323
**This release includes breaking changes, including major revisions to the schema of stored data. Do not upgrade without reviewing the migration guide.**
2424
upgradeDeadline: "2024-10-08"
2525
rolloutConfiguration:
26-
enableProgressiveRollout: false
26+
enableProgressiveRollout: true
2727
resourceRequirements:
2828
jobSpecific:
2929
- jobType: sync

airbyte-integrations/connectors/destination-s3/src/main/kotlin/S3V2Configuration.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ data class S3V2Configuration<T : OutputStream>(
4040
override val estimatedRecordMemoryOverheadRatio: Double = 5.0,
4141
override val processEmptyFiles: Boolean = true,
4242

43-
/** Below has no effect until [S3V2ObjectLoader] is enabled. */
43+
// ObjectLoader-specific configuration
4444
val numPartWorkers: Int = 2,
4545
val numUploadWorkers: Int = 5,
4646
val maxMemoryRatioReservedForParts: Double = 0.4,

airbyte-integrations/connectors/destination-s3/src/main/kotlin/S3V2ObjectLoader.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,11 @@ package io.airbyte.integrations.destination.s3_v2
66

77
import io.airbyte.cdk.load.pipeline.RoundRobinInputPartitioner
88
import io.airbyte.cdk.load.write.object_storage.ObjectLoader
9+
import io.micronaut.context.annotation.Requires
10+
import jakarta.inject.Singleton
911

10-
/**
11-
* These are temporarily disabled so that we can merge the underlying changes without doing a full
12-
* S3 release. I will do a separate PR to re-enable this and roll it out gradually.
13-
*/
14-
// @Singleton
12+
@Singleton
13+
@Requires(property = "airbyte.destination.core.file-transfer.enabled", value = "false")
1514
class S3V2ObjectLoader(config: S3V2Configuration<*>) : ObjectLoader {
1615
override val numPartWorkers: Int = config.numPartWorkers
1716
override val numUploadWorkers: Int = config.numUploadWorkers
@@ -20,5 +19,6 @@ class S3V2ObjectLoader(config: S3V2Configuration<*>) : ObjectLoader {
2019
override val partSizeBytes: Long = config.partSizeBytes
2120
}
2221

23-
// @Singleton
22+
@Singleton
23+
@Requires(bean = S3V2ObjectLoader::class)
2424
class S3V2RoundRobinInputPartitioner : RoundRobinInputPartitioner()

0 commit comments

Comments
 (0)