Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
89e6e6f
Basic read funcionality using seekable byte channel
May 28, 2025
8ca23f2
Basic read funcionality
May 28, 2025
cce94fb
added unit test setup
Jun 10, 2025
170df0e
Added GCSBidiWriteChannelTest
Jun 11, 2025
aee06c7
Adding new FinalizableWritableByteChannel
Jul 29, 2025
73ca561
Adding GoogleCloudStorageBidiWriteChannel
Jul 29, 2025
a69a3c6
Moving bidi enable options to StorageOptions since it will be used ac…
Jul 29, 2025
39eb56b
Remove duplicate in Storage Options
Jul 29, 2025
1c74bdd
Adding unit tests
Jul 29, 2025
73e9d3e
Bug fixes
Jul 30, 2025
87be3e1
Removing test implementation added for finalize in outputStream
Jul 30, 2025
df8d7d7
Adding flag to choose between closing without finalizing and with fin…
Jul 30, 2025
eeb2a94
Reverting unwanted changes
Jul 30, 2025
d274053
Fix comment
Jul 30, 2025
c1a885f
Use WritableByteChannle, finalizableWritableByteChannel is no longer …
Jul 30, 2025
3f88103
Modify Bidi Write Channel unit tests to use single close function wit…
Jul 30, 2025
92691c9
Adding FinalizableWriteableByteChannel
Jul 30, 2025
d685432
Fixing build
Jul 30, 2025
462232e
Small Changes to Bidi Read Channel for setting up read flow
Jul 31, 2025
46e8a17
Merge conflicts
Jul 31, 2025
37b2f4d
Using BlobAppendableUploadConfig to handle close action
Jul 31, 2025
1e0d6bd
Fixing formatting
Jul 31, 2025
7e307b7
Test new worker pool in Cloud Build
Aug 13, 2025
cedec8e
Remove machine type
Aug 13, 2025
e88f725
Add zonal bucket creation and testing
Aug 14, 2025
67b4ea2
Removing zonal bucket cases
Aug 14, 2025
feda206
Fix dependancy on zonal bucket cretaion
Aug 14, 2025
c72df10
Clean code
Aug 14, 2025
f6ab954
Clean code
Aug 14, 2025
2a29ba0
Test if zonal bucket creation works
Aug 14, 2025
676f270
Test if zonal bucket creation works
Aug 14, 2025
359d5c6
Zonal bucket creation
Aug 14, 2025
94befe8
Bug fix
Aug 14, 2025
0415e48
Bug fix
Aug 14, 2025
27c7eb3
Bug fix
Aug 14, 2025
d9c83cc
Bug fix
Aug 14, 2025
c5b6715
Bug fix
Aug 14, 2025
dd3e559
Bug fix
Aug 14, 2025
f8fd25d
Bug fix
Aug 14, 2025
e59698a
Bug fix
Aug 14, 2025
3fd049d
Bug fix
Aug 14, 2025
9976c70
Bug fix
Aug 14, 2025
0dbf1ca
Bug fix
Aug 14, 2025
252cdaf
Bug fix
Aug 14, 2025
7c88161
Merge branch 'write-branch' into merged-branch
Aug 14, 2025
680be12
Merging existing changes
Aug 14, 2025
543279e
Merge branch 'integ-test-branch' into merged-branch
Aug 14, 2025
302947f
Clean code
Aug 14, 2025
174ca61
Fix tests
Aug 14, 2025
162a9a8
Clean code
Aug 14, 2025
a7dd355
Commenting failing UT to test integ test setup
Aug 14, 2025
55d28f7
Clean code
Aug 14, 2025
edbb7a3
Test Fix
Aug 14, 2025
17136ec
Fixes
Aug 14, 2025
a589b5b
Fixes
Aug 14, 2025
bb32762
Fixes
Aug 14, 2025
483f464
Cleanup
Aug 14, 2025
02200e1
Cleanup
Aug 14, 2025
ccbf550
Updating cloudbuild flow
Aug 19, 2025
f97da62
Updating create bucket function to support ZB
Aug 21, 2025
ac512b8
Formatting
Aug 21, 2025
abc5180
Removing other tests for isolated testing
Aug 21, 2025
fa64241
Fix
Aug 21, 2025
7ff10fa
Fix
Aug 21, 2025
d7439ed
Fixes
Aug 21, 2025
a10c746
Testing
Aug 21, 2025
7f31982
Testing
Aug 21, 2025
9d94007
Updates
Aug 25, 2025
f6b6d59
Test
Aug 25, 2025
552c9e4
Fix
Aug 25, 2025
87830bf
Fix
Aug 25, 2025
83a1952
Fix
Aug 25, 2025
5896e5e
Fix
Aug 25, 2025
f2bec70
Fix
Aug 25, 2025
2362db5
Trigger unit tests also
Aug 25, 2025
1be3bba
Merged code
Sep 1, 2025
34329a5
Adding debugging logs
Sep 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions cloudbuild/cloudbuild.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,5 @@ steps:
timeout: 2400s

options:
machineType: 'N1_HIGHCPU_32'

pool:
name: 'projects/cloud-dataproc-ci/locations/us-central1/workerPools/integ-test-connector-pool'
36 changes: 33 additions & 3 deletions cloudbuild/presubmit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,49 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set -euxo pipefail

readonly TEST_TYPE="${1:-unittest}"

cd /hadoop-connectors

# Run unit or integration tests and generate test coverage report
if [[ $TEST_TYPE == unittest ]]; then
# Run unit tests and generate test coverage report
./mvnw -B -e -Pcoverage clean verify
else
./mvnw -B -e -Pintegration-test -Pcoverage clean verify
# This section handles all integration tests.

# Start with the base Maven arguments.
MVN_ARGS="-B -e -Pintegration-test -Pcoverage"

# If the zonal bucket name is passed from Cloud Build, add it as a system property.
# The Java test code should check for the presence of this property
# to decide whether to run the zonal bucket-specific tests.
if [[ -n "${GCS_ZONAL_TEST_BUCKET:-}" ]]; then
echo "Zonal test bucket '${GCS_ZONAL_TEST_BUCKET}' detected. Passing to Maven."
MVN_ARGS+=" -Dtest.gcs.zonal_test_bucket=${GCS_ZONAL_TEST_BUCKET}"
fi

# Execute the Maven command with any additional arguments.
# shellcheck disable=SC2086
./mvnw ${MVN_ARGS} clean verify
fi

# Upload test coverage report to Codecov
bash <(curl -s https://codecov.io/bash) -K -F "${TEST_TYPE}"

#set -euxo pipefail
#
#readonly TEST_TYPE="${1:-unittest}"
#
#cd /hadoop-connectors
#
## Run unit or integration tests and generate test coverage report
#if [[ $TEST_TYPE == unittest ]]; then
# ./mvnw -B -e -Pcoverage clean verify
#else
# ./mvnw -B -e -Pintegration-test -Pcoverage clean verify
#fi
#
## Upload test coverage report to Codecov
#bash <(curl -s https://codecov.io/bash) -K -F "${TEST_TYPE}"
Comment on lines +47 to +61

Choose a reason for hiding this comment

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

medium

This block of commented-out code appears to be the old version of the script and should be removed to keep the file clean.

7 changes: 3 additions & 4 deletions gcs/dependency-reduced-pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
<parent>
<artifactId>bigdataoss-parent</artifactId>
<groupId>com.google.cloud.bigdataoss</groupId>
<version>3.1.4-SNAPSHOT</version>
<version>3.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>gcs-connector</artifactId>
<name>gcs-connector</name>
<version>3.1.4-SNAPSHOT</version>
<version>3.0.0-SNAPSHOT</version>
<description>An implementation of org.apache.hadoop.fs.FileSystem targeting Google Cloud Storage</description>
<build>
<plugins>
Expand Down Expand Up @@ -87,7 +87,6 @@
<include>io.grpc</include>
<include>io.opencensus</include>
<include>io.opentelemetry</include>
<include>io.opentelemetry.api</include>
<include>io.opentelemetry.contrib</include>
<include>io.opentelemetry.semconv</include>
<include>io.perfmark</include>
Expand Down Expand Up @@ -376,7 +375,7 @@
<dependency>
<groupId>com.google.cloud.bigdataoss</groupId>
<artifactId>gcsio</artifactId>
<version>3.1.4-SNAPSHOT</version>
<version>3.0.0-SNAPSHOT</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package com.google.cloud.hadoop.fs.gcs;

import java.nio.ByteBuffer;
import java.util.concurrent.CompletableFuture;
import org.apache.hadoop.fs.FileRange;

class CustomFileRange implements FileRange {
long offset;
int length;

CompletableFuture<ByteBuffer> data;

CustomFileRange(long offset, int length) {
this.offset = offset;
this.length = length;
}

@Override
public long getOffset() {
return offset;
}

@Override
public int getLength() {
return length;
}

@Override
public CompletableFuture<ByteBuffer> getData() {
return data;
}

@Override
public void setData(CompletableFuture<ByteBuffer> completableFuture) {
data = completableFuture;
}

@Override
public Object getReference() {
return null;
}
}
Loading