Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1362 commits
Select commit Hold shift + click to select a range
9893caf
revert("revert(grpc-metrics)): "Enable metrics using cloud-exporter""…
PranjalC100 Jan 21, 2026
0a3fe5e
Remove ReadHandle attribute from the gcs/reader_count metric. (#4305)
kislaykishore Jan 21, 2026
ee48c3c
Fix panic in read cache validation when chunks are empty (#4300)
vipnydav Jan 21, 2026
fe2c161
fix(simple reader): Ensuring MRDPool is not recreated if it doesn't e…
abhishek10004 Jan 22, 2026
fffb94b
feat(simple reader): Updating the retry logic in simple reader (#4307)
abhishek10004 Jan 22, 2026
0900c10
feat(dir-metadata-prefetch): Log max results and start offset in list…
ashmeenkaur Jan 23, 2026
da5cbc5
test(tests): Enable kernel reader for e2e tests and disable where nee…
vipnydav Jan 23, 2026
b8b3731
keep max-read-ahead-kb flag hidden in GCSFuse (#4311)
meet2mky Jan 23, 2026
93da22d
feat(dir-metadata-prefetch): add e2e tests for metadata prefetch and …
ashmeenkaur Jan 23, 2026
77b0006
test(simple reader): Adding additional UTs in kernel reader path (#4313)
abhishek10004 Jan 26, 2026
44e7ca3
refactor: remove redundant IsValueSet interface (#4291)
vipnydav Jan 27, 2026
f85fda4
Update gcs/read_bytes_count for simple reader (#4320)
vipnydav Jan 27, 2026
2e3b072
fix managed folder tests (#4322)
Tulsishah Jan 27, 2026
0e281bf
fix(kernel-reader): graceful closure of mrd-pool to fix cancel-contex…
raj-prince Jan 27, 2026
fe3e5a6
feat(kernel-reader): setting default value for inactive-mrd-cache siz…
raj-prince Jan 27, 2026
f4d11fa
test(metrics): Add validation tests for GCS metrics (#4160)
alleaditya Jan 27, 2026
f7b3616
refactor(tracing): Move propagate context method to traceHandle (#4319)
thrivikram-karur-g Jan 27, 2026
03c326e
test(monitoring): add integration tests for kernel reader metrics (#4…
vipnydav Jan 27, 2026
1bfbf2b
feat(kernel-settings): Write kernel config only for zonal buckets in …
meet2mky Jan 28, 2026
a33deb7
Update npm install command to fix version in PR reminder workflow (#4…
meet2mky Jan 28, 2026
b911066
refactor(simple reader): Refactoring simple reader to kernel reader f…
abhishek10004 Jan 28, 2026
017936b
Adding a trace log for short reads (#4326)
abhishek10004 Jan 28, 2026
f9f1a7d
ci: Fix CD pipeline for centos machines by upgrading python version t…
gargnitingoogle Jan 29, 2026
51c09fd
Upgrading go sdk version to 1.59.2 (#4328)
abhishek10004 Jan 29, 2026
3de672a
feat(Type Cache Deprecation): LookUp Child changes (#4290)
Tulsishah Jan 29, 2026
eb93e64
test(cd script update): add improved e2e cd script (#4192)
PranjalC100 Jan 29, 2026
4d43784
feat(kernel-settings): Remove version from contract as it's not requi…
meet2mky Jan 29, 2026
3abde81
Remove the Auto Formatting Github Flow (#4337)
vipnydav Feb 3, 2026
9d047f3
build(deps): bump protobuf
dependabot[bot] Feb 3, 2026
d62a56a
fix: changing python 311 to python3 (#4341)
Tulsishah Feb 3, 2026
5e4a1ea
Correction for only dir tests flags for exclude regex test (#4335)
PranjalC100 Feb 4, 2026
0c5ca52
fix_test (#4342)
Tulsishah Feb 4, 2026
4176f18
fix: Fix periodic e2e test run by cleaning only buckets created in cu…
gargnitingoogle Feb 4, 2026
eefb140
fix(test): Create directory with dynamic names (#4343)
Tulsishah Feb 4, 2026
99d5962
test(mounted directory tests): disable kernel reader for 4 packages i…
PranjalC100 Feb 4, 2026
a6348df
build(deps): bump protobuf
dependabot[bot] Feb 5, 2026
bdcc20d
build(deps): bump protobuf in /perfmetrics/scripts/ls_metrics
dependabot[bot] Feb 5, 2026
c2feec4
build(deps): bump protobuf
dependabot[bot] Feb 5, 2026
3436f4e
ci(build): Add make target for running integration tests (#4207)
kislaykishore Feb 6, 2026
4927de0
feat(metrics): Update histogram buckets for GCSFuse distribution metr…
kislaykishore Feb 6, 2026
0ce25c8
fix(simple reader): Improving retry logic for kernel reader path (#4347)
abhishek10004 Feb 6, 2026
557269c
fix panic in buffered reader if read request stalls for too long (#4340)
vipnydav Feb 9, 2026
cc822f5
fix(e2e script): Fix e2e script for rhel8 machine python installation…
Tulsishah Feb 9, 2026
ef87bc9
fix(local-file-unit-test): fixing CreateHardLink test for newer kerne…
raj-prince Feb 9, 2026
fed708b
Merge remote-tracking branch 'origin/dependabot/pip/perfmetrics/scrip…
alleaditya Feb 9, 2026
dbd9b7b
Merge remote-tracking branch 'origin/dependabot/pip/perfmetrics/scrip…
alleaditya Feb 9, 2026
e9eec5e
Merge remote-tracking branch 'origin/dependabot/pip/perfmetrics/scrip…
alleaditya Feb 9, 2026
a33f7f4
Merge remote-tracking branch 'origin/dependabot/pip/perfmetrics/scrip…
alleaditya Feb 9, 2026
60543e4
Merge remote-tracking branch 'origin/dependabot/pip/perfmetrics/scrip…
alleaditya Feb 9, 2026
9bf79ee
Merge remote-tracking branch 'origin/dependabot/pip/perfmetrics/scrip…
alleaditya Feb 9, 2026
a9ef4f6
Merge remote-tracking branch 'origin/dependabot/pip/perfmetrics/scrip…
alleaditya Feb 9, 2026
d3970fa
docs(buffered-reader): update semantics for phase 2 improvements (#4359)
vipnydav Feb 9, 2026
8ae959b
chore(deps): remove duplicate protobuf hashes in ls_metrics/requireme…
alleaditya Feb 9, 2026
e4545e3
Merge pull request #4360 from GoogleCloudPlatform/alleaditya_merge_de…
alleaditya Feb 10, 2026
bd71f99
feat: optimize sparse downloads with in-flight tracking and accurate …
vipnydav Feb 10, 2026
3b326e1
feat(trace exporters): Add support to export traces to multiple expor…
thrivikram-karur-g Feb 11, 2026
0f2935e
build(deps): Merge Dependabot PR 4339 (#4366)
alleaditya Feb 12, 2026
953f233
docs: update troubleshooting and known-issues regarding ignored confi…
vipnydav Feb 12, 2026
3e81dca
ci: Update gke tests readme files (#4267)
gargnitingoogle Feb 13, 2026
87e9f0a
feat(dev_guide): documenting dummy-io as part of dev guide (#4374)
raj-prince Feb 13, 2026
73461c9
feat(dir-metadata-prefetch): Add context-based cancellation to metada…
ashmeenkaur Feb 13, 2026
befeab2
test: Randomize test directory names in negative stat cache tests (#4…
vadlakondaswetha Feb 13, 2026
0462db2
feat(shared-chunk-cache-gc): adding support of running cron based lru…
raj-prince Feb 13, 2026
063a1ca
feat(shared-chunk-cache): support to share-chunk-cache across multipl…
raj-prince Feb 13, 2026
22c71f8
test: Fixing negative_stat_cache by increasing ttl and running concur…
vadlakondaswetha Feb 17, 2026
308aa6e
make test flags consistent (#4379)
ashmeenkaur Feb 17, 2026
42f4247
test(kokoro build.sh): run distributed micro-benchmarks from build.sh…
PranjalC100 Feb 17, 2026
91d2697
Upgrade grpc to v1.79.1 (#4380)
kislaykishore Feb 17, 2026
c78836b
fix(kokoro script): Rename script to be used for distributed benchmar…
PranjalC100 Feb 17, 2026
e389331
Fix ReadOnly CopyFileTest Flaky Test. Also Make CopyFileTest of Opera…
charith87 Feb 17, 2026
fb8b4f8
chore(flaky_tests): Fix CopyFileTest of ReadOnly Package Flaky Test. …
charith87 Feb 18, 2026
487960d
ADding known issue to the doc (#4398)
vadlakondaswetha Feb 19, 2026
7abb07f
feat(gcsx): treat first read at non-zero offset as random (#4401)
vipnydav Feb 20, 2026
daf6dcd
test(flag_optimizations): Add e2e tests for zonal bucket optimization…
vipnydav Feb 23, 2026
0dbc7e3
test(read_cache): Add integration tests for sparse chunk cache (#4352)
vipnydav Feb 24, 2026
3a76d0c
docs: Adding retry strategy doc (#4397)
Tulsishah Feb 24, 2026
abdf9aa
feat(Type Cache Deprecation): Add warning log for type cache flags (#…
Tulsishah Feb 25, 2026
b828b37
fix only dir tests (#4412)
ashmeenkaur Feb 25, 2026
f248f81
fix(Type cache Deprecation): Implicit Dir memory Consumption (#4408)
Tulsishah Feb 25, 2026
40a7f3b
pass context to dir inode (#4376)
ashmeenkaur Feb 25, 2026
65c4d1b
increase timeout to 6hrs from default 3hrs (#4411)
PranjalC100 Feb 25, 2026
59542cf
fix(shared-chunk-cache): creating different sub-directory for shared-…
raj-prince Feb 26, 2026
fc54ba2
feat(Type Cache Deprecation): enable the flag default true (#4413)
Tulsishah Feb 26, 2026
86dce46
fix prefetch initialization (#4419)
ashmeenkaur Feb 27, 2026
6b08c36
fix(dir-metadata-prefetch): metadata prefetch race condition with act…
ashmeenkaur Feb 27, 2026
9965265
fix: Upgrade jacobsa/fuse for handling large page sizes (#4427)
kislaykishore Mar 3, 2026
1c555a1
feat: Setting directConnectivityEnforced option for grpc (#4420)
vadlakondaswetha Mar 3, 2026
b676a13
feat: added directpath strategy param (#4421)
vadlakondaswetha Mar 3, 2026
1f0ce8e
fix(rapid appends): do not force fetch latest metadata (possibly stal…
anushka567 Mar 3, 2026
553cec1
feat(Type Cache Deprecation): Remove type cache profile changes (#4418)
Tulsishah Mar 5, 2026
e9da8e3
update python version for rhel 9 (#4443)
ashmeenkaur Mar 5, 2026
919dbde
feat(consistent symlink): Flag for enabling new symbolic link behavio…
anushka567 Mar 6, 2026
2759fbc
docs: add known issue for premature EOF on A4X machines (#4425)
kislaykishore Mar 6, 2026
6497c37
Remove the resolved gRPC issues from known-issues. (#4442)
kislaykishore Mar 6, 2026
df006e6
feat: Added a stat call to check if dp is working and fallback when i…
vadlakondaswetha Mar 6, 2026
61d0378
test: Move file_info_test.go to stretchr/testify (#4449)
kislaykishore Mar 9, 2026
d1562b5
Remove IsUserSet word as this interface was removed (#4460)
vipnydav Mar 10, 2026
2aa2028
feat(chunk-retry-deadline): Add chunk retry deadline hidden flag for …
meet2mky Mar 11, 2026
6dd3d83
build(deps): bump golang from 1.24.11 to 1.26.1 (#4456)
vipnydav Mar 11, 2026
56cdff5
fix(Type Cache Deprecation): Implicit directories visible without fla…
Tulsishah Mar 11, 2026
ada95c9
test: disable flaky Test_validateCRC_WheContextIsCancelled (#4447)
kislaykishore Mar 11, 2026
9b510f4
make metadata prefetch flags public (#4466)
ashmeenkaur Mar 11, 2026
b253ca3
chore(scripts): modify package installations & logging changes (#4458)
PranjalC100 Mar 12, 2026
adbc88b
Add A4X Max to high-performance machine type. (#4455)
kislaykishore Mar 12, 2026
e7a50d3
build(deps): bump urllib3 (#4385)
dependabot[bot] Mar 12, 2026
62566fb
chore(grpc): update go sdk dependency to v1.61.2 (#4464)
alleaditya Mar 12, 2026
5180143
feat(wire-log): plumb through wire log
geertj Feb 18, 2026
c51fac9
Improve file operations (#4362)
vipnydav Mar 13, 2026
247a1b5
ensure that retries are set to infinite after DP connectivity check i…
ashmeenkaur Mar 13, 2026
632897e
build(deps): bump protobuf in /perfmetrics/scripts/micro_benchmarks (…
dependabot[bot] Mar 16, 2026
082c4fb
fix(integration tests): using unique file names in each test of local…
ashmeenkaur Mar 16, 2026
d724e63
feat(consistent symlink): changes for CreateSymlink flow for updated…
anushka567 Mar 16, 2026
f3e6d3c
feat(metrics): enable gRPC metrics by default in configuration (#4468)
alleaditya Mar 16, 2026
8edad44
test: add proper cleanups to fix flaky file cache tests (#4480)
vipnydav Mar 16, 2026
d2d4fe3
Upgrade dependencies (#4478)
vipnydav Mar 17, 2026
e1517b7
chore(improved_run_e2e_tests): add bash upgrade in improved_run_e2e_t…
PranjalC100 Mar 17, 2026
b93e4e0
feat(consistent symlink): modify the IsSymlink method to identify bot…
anushka567 Mar 17, 2026
55a2161
test(fs): add unit tests for gRPC metrics (#4453)
alleaditya Mar 17, 2026
f156c3e
feat: Enable folder APIs stall-retry fix for non-rapid buckets throug…
gargnitingoogle Mar 18, 2026
e6e88e4
refactor(improved e2e test): add option to install gcsfuse package fr…
PranjalC100 Mar 18, 2026
6ed3eea
feat(tracing): Add basic read flow traces (#4244)
thrivikram-karur-g Mar 18, 2026
8b5e5de
fix(error chain): fix error chain in MRD which causes I/O error. (#4495)
meet2mky Mar 19, 2026
c07aa95
fix(ci): update install_test.sh to support Python 3.10+ and missing d…
vipnydav Mar 20, 2026
4dc8db7
feat(dp-check): removing older cp check utility (#4494)
raj-prince Mar 20, 2026
480c36d
add read cache required test flags for GKE env (#4501)
ashmeenkaur Mar 20, 2026
2b47e9d
fix: correct folder memory size calculation (#4492)
kislaykishore Mar 20, 2026
7185d99
perf: 10x improvement in metadata-cache size computation (#4496)
kislaykishore Mar 20, 2026
efc116c
Update CODEOWNERS for tools directory (#4508)
meet2mky Mar 20, 2026
1e1bea9
refactor(improved e2e test): make project-id and bucket-location argu…
PranjalC100 Mar 23, 2026
d5a84d4
refactor(improved_e2e_test): add-output-dir option to improved-run-e2…
PranjalC100 Mar 23, 2026
ed82d5a
feat(consistent handling): Integration tests for creating symlinks wi…
anushka567 Mar 23, 2026
3f524e7
Add read_cache test packages to run for zonal (#4517)
vipnydav Mar 23, 2026
988b19e
fix install test for regular release and patch releases (#4518)
meet2mky Mar 23, 2026
1dbbb01
test(tracing): Add benchmark tests to the repository for reference (#…
thrivikram-karur-g Mar 23, 2026
8d8d444
perf: Reduce memory footprint of stat cache entries (#4512)
kislaykishore Mar 24, 2026
6f03de0
cleanup for symlink handling test (#4522)
anushka567 Mar 24, 2026
c2fe327
feat: conditionally add -short flag to go test commands for versions …
meet2mky Mar 24, 2026
f04ca31
feat(force-dp-check): adding test to validate the force-dp using prox…
raj-prince Mar 24, 2026
1484b06
feat(consistent symlink): update symlink inode struct to include meta…
anushka567 Mar 25, 2026
da9015e
fix: Fix data-race in lru-cache (#4515)
kislaykishore Mar 25, 2026
03aeb6c
feat(consistent symlink): create openReader helper method on symlink …
anushka567 Mar 25, 2026
ce54e44
refactor(improved cd pipeline script): modify improved cd script (#4519)
PranjalC100 Mar 25, 2026
13f9ce5
refactor: improve emulator test stability by adding readiness checks,…
meet2mky Mar 26, 2026
3c89bf8
feat(consistent symlink): update ReadSymlink flow to populate target…
anushka567 Mar 26, 2026
c3a1181
test(monitoring package): align log file paths with test suite names …
PranjalC100 Mar 26, 2026
1c5142c
disable monitoring package for GKE test config (#4533)
PranjalC100 Mar 26, 2026
29c57be
feat(logging): Move logs before mount completion to info severity for…
thrivikram-karur-g Mar 26, 2026
582a220
feat: Round-up file-sizes by block-size in file-cache (#4514)
gargnitingoogle Mar 27, 2026
74eb7bd
test(integration): hardcode cache-dir for readonly and read_large_fil…
PranjalC100 Mar 30, 2026
d0f3897
docs(troubleshooting): for fuse: writeMessage: no such file or direct…
ashmeenkaur Mar 30, 2026
aef6c3f
test(log-rotation): add retry mechanism to prevent flaky test failure…
PranjalC100 Mar 30, 2026
54a16d0
test(ci): Use ubuntu 22.04 to run composite tests (#4551)
meet2mky Mar 30, 2026
0beeca2
feat(chunkRetryDeadline): Propagate hidden chunkRetryDeadline flag an…
meet2mky Mar 30, 2026
df4203e
test(ci): Update runner version to Ubuntu 22.04 for flake detector (#…
meet2mky Mar 30, 2026
06b1ea0
feat(tests): remove unused vars, add emulator tests (#4553)
PranjalC100 Mar 31, 2026
0e06d89
test(fix creds): Use temporary file for creds ensuring no corruption …
meet2mky Mar 31, 2026
40bcadb
ensure sym handling package runs using config file (#4549)
anushka567 Mar 31, 2026
64f27f3
feat(integration_tests): fix e2e package runtime visualization (#4552)
PranjalC100 Mar 31, 2026
1ed8aa4
perf:⚡ Bolt: Optimize integer to string conversion (#4547)
kislaykishore Mar 31, 2026
b2c5f63
perf: ⚡Bolt: io_renderer string builder optimization (#4560)
kislaykishore Apr 1, 2026
e98ac24
fix(read flow): when metadata is cached due to list object api call (…
ashmeenkaur Apr 1, 2026
a5a355e
docs(tracing): update read trace playbook (#4537)
thrivikram-karur-g Apr 1, 2026
ccfa397
feat(consistent symlink): add complete set of integration tests for s…
anushka567 Apr 1, 2026
4b7892b
test(cloud profiler package): Improve cloud profiler test package and…
meet2mky Apr 1, 2026
3c6a9f4
enable symlink flag default on (#4564)
anushka567 Apr 3, 2026
c47b193
docs(consistent symlink): update semantics doc for updated symlink ha…
anushka567 Apr 6, 2026
0118b43
fix(integration_tests): prevent overwriting MntDir in GKE executions …
PranjalC100 Apr 6, 2026
2e81414
fix: 🕵️‍♂️Sherlock: Fix response body resource leak in proxyTokenSour…
kislaykishore Apr 6, 2026
8d81b7a
refactor: 🏕️Scout: Replace interface{} with any (#4569)
kislaykishore Apr 6, 2026
88a6f7b
test migration negative stat cache (#4582)
PranjalC100 Apr 6, 2026
93868ff
refactor(read_cache): Deflake read_cache integration tests using uniq…
meet2mky Apr 6, 2026
d783fbf
Update CODEOWNERS
charith87 Apr 6, 2026
760517e
Merge pull request #4588 from GoogleCloudPlatform/charith87-patch-2
charith87 Apr 6, 2026
69b900c
chore(deps): Merge Dependabot PR (#4585)
alleaditya Apr 6, 2026
0ec9bb6
test(inactive-stream-timeout): de-flake inactive stream reader ensuri…
PranjalC100 Apr 6, 2026
673058d
test(read_cache): de-flake read cache test from fixed sleep based to …
meet2mky Apr 6, 2026
0381879
Add support for passing client-protocol to the GKE orbax benchmark (#…
kislaykishore Apr 6, 2026
156255a
refactor(tracing): Trace flags updates (move from experimental to non…
thrivikram-karur-g Apr 6, 2026
60573a2
debian ubuntu python3-rich handle (#4594)
PranjalC100 Apr 6, 2026
ea50677
chore(deps): Merge Dependabot PR (#4593)
alleaditya Apr 7, 2026
a2b2aff
test(consistent symlink): enable symlink_handling E2E package in CI/C…
anushka567 Apr 7, 2026
a5a293b
refactor: replace shell-based file generation with Go-native implemen…
meet2mky Apr 7, 2026
c79ec06
add retries to file and dir attribute tests (#4599)
PranjalC100 Apr 7, 2026
f17101a
test(integration): migrate managed_folders tests to common test confi…
PranjalC100 Apr 7, 2026
66fbbda
fix(integration_tests): use venv for python rich installation to fix …
PranjalC100 Apr 8, 2026
c7d043a
chore: Migrate gsutil usage to gcloud storage (#4239)
gurusai-voleti Apr 9, 2026
9b7b672
test(integration): migrate 4 non-gke packages to common test configur…
PranjalC100 Apr 9, 2026
cfe974b
perf: ⚡ Bolt: [performance improvement] Optimize BytesToHigherMiBs us…
kislaykishore Apr 13, 2026
9651ba5
docs: Fix known-issues entry for premature-EOF (#4612)
kislaykishore Apr 13, 2026
e76ad16
feat(consistent symlink): adopt dual metadata semantics for standard …
anushka567 Apr 14, 2026
a4bbd53
feat(tracing): Add write flow traces (#4520)
thrivikram-karur-g Apr 15, 2026
8a9f498
chore(make): Add lint target and update build path in Makefile (#4619)
meet2mky Apr 15, 2026
9019380
remove log_file in test_config adn keep only dir where required (#4623)
PranjalC100 Apr 16, 2026
202c6cb
feat: add support for package filtering and emulator skipping in e2e …
meet2mky Apr 16, 2026
070dc75
fix(requester pays): Fix requester pays for gRPC and also setup integ…
meet2mky Apr 16, 2026
b426baf
chore(go upgrade): Upgrading golang to 1.26.2 due to multiple CVEs in…
abhishek10004 Apr 16, 2026
8b35120
feat(shared-chunk-cache): adding basic e2e test for shared-chunk-cach…
raj-prince Apr 16, 2026
83be2aa
feat: making direct-path verification non-fatal until dummy-stat call…
raj-prince Apr 17, 2026
9af9f2f
Add an experimental flag (#4608)
vipnydav Apr 20, 2026
a524bfd
feat(tests): add package-level retry mechanism (#4528)
PranjalC100 Apr 20, 2026
a278654
add only dir in test config file (#4629)
PranjalC100 Apr 20, 2026
90d49c5
fix(buffered_reader): Fixing a memory leak in buffered reader (#4638)
abhishek10004 Apr 21, 2026
24c54ca
fix(direct path verification): Updating direct path enforcement strat…
abhishek10004 Apr 21, 2026
18cdcb2
test(integration): migrate buffered read test pacakge (#4583)
PranjalC100 Apr 22, 2026
d20e132
feat: updating otel library from 1.42.0 to 1.43.0 (#4634)
vadlakondaswetha Apr 23, 2026
3842605
feat(metrics): Read block size metric gen code and tpl changes (#4640)
thrivikram-karur-g Apr 23, 2026
11f737f
feat(metrics): Streaming write fallback metric-gen code (#4639)
thrivikram-karur-g Apr 23, 2026
cdc3ac2
Remove --precondition-errors flag (#4587)
vipnydav Apr 23, 2026
9b78151
feat: Add Read Path Support for Pirlo Buckets (#4633)
vipnydav Apr 23, 2026
266099b
remove precondition error (#4645)
vadlakondaswetha Apr 23, 2026
4c2567b
fix: prevent symlink attack in log file creation (#4637)
vadlakondaswetha Apr 24, 2026
0d885a0
test(logs): enforce log-file strictness and centralize log filename p…
PranjalC100 Apr 24, 2026
e96e67c
disbale only_dir for flag_optimisation and inactive_stream_timeout (#…
PranjalC100 Apr 24, 2026
9aaa7bb
refactor(append): Log mismatched offsets on takeover errors (#4545)
cjc25 Apr 24, 2026
7d53696
Revert "fix: prevent symlink attack in log file creation (#4637)" (#4…
vadlakondaswetha Apr 28, 2026
549c822
Fix lock leak in renameHierarchicalDir when destination directory is …
vadlakondaswetha Apr 28, 2026
5dd21b6
chore: update integration test setup to include test names in log pat…
PranjalC100 Apr 28, 2026
b97b8cc
feat(metrics): Add read block sizes metrics (#4632)
thrivikram-karur-g Apr 29, 2026
0bede44
Remove redundant write flow (#4658)
vipnydav May 4, 2026
bab547f
build(deps): dependabot PR perf scripts pytest upgrades (#4665)
thrivikram-karur-g May 4, 2026
30a63b9
feat(metrics): Adding streaming write fallback count metric (#4630)
thrivikram-karur-g May 4, 2026
d100825
refactor: concurrent operations test package migration [GKE-GCSFuse T…
PranjalC100 May 5, 2026
faea4b4
fix(bufferedwrite): correct out-of-order write detection for stale tr…
vipnydav May 6, 2026
f9302c0
fix: validate object size after upload to detect incomplete writes (#…
vipnydav May 6, 2026
56dcef5
feat(pirlo): add enable-rapid-writes and optimize finalize-file-on-cl…
vipnydav May 7, 2026
2523e6c
remove log as we have concerns over spam of this (#4673)
thrivikram-karur-g May 8, 2026
3bfbe4d
fix(pip install with checksum): Use requirements file with checksums …
PranjalC100 May 9, 2026
a0dfd6d
fix: Making dp check more reliable (#4674)
vadlakondaswetha May 11, 2026
2f0f336
feat(hns): remove empty-dir check before HNS folder rename (#4614)
PranjalC100 May 11, 2026
9d99755
refactor(storageutil): align exponential backoff with GAX and fix max…
meet2mky May 11, 2026
3ace908
refactor(scripts): Simplify the metadata value extraction (#4685)
meet2mky May 13, 2026
1364ee8
docs(storage): clarify zonal bucket write semantics in Bucket interfa…
vipnydav May 13, 2026
dfa6090
feat: add hidden flag to support gke native retries feature. (#4642)
meet2mky May 13, 2026
f882853
ci: declare contents: read on flake-detector workflow (#4688)
arpitjain099 May 14, 2026
8f614f0
fix: add validation checks and usage description updates for GCS retr…
meet2mky May 14, 2026
2378c4a
chore(cd scripts): Make release package bucket configurable option in…
meet2mky May 14, 2026
d5a2480
perf(tests): parallelize kokoro periodic perf tests across 3 VMs (#4618)
PranjalC100 May 14, 2026
f2f2194
feat(native retries): add support for custom should-retry predicates …
meet2mky May 15, 2026
d1aa38c
fix: prevent timer resource leaks by replacing time.After with explic…
meet2mky May 15, 2026
4e39dfb
test(e2e): use config file for migrated tests in improved run script …
PranjalC100 May 15, 2026
87145c2
segregate distributed write and local tests (#4693)
PranjalC100 May 18, 2026
f76bed9
feat(pirlo): support rapid writes state and write behavior changes fo…
vipnydav May 19, 2026
721ced3
chore: upgrade Go to 1.26.3 and x/net to fix CVEs (#4705)
kislaykishore May 20, 2026
e936ed0
fix(native-retries): Fix duplicate retry logs and unify warnings (#4697)
meet2mky May 20, 2026
f744ee7
Upgrade GCSFuse dependencies to latest stable versions (#4710)
kislaykishore May 21, 2026
648b1bb
Add the team to .gemini owners for faster iteration. (#4712)
kislaykishore May 21, 2026
83a1347
feat(skills): add dependency upgrade skill for GCSFuse (#4711)
kislaykishore May 21, 2026
5a3f574
Add metric capture methods for metadata_cache read count metric (#4704)
thrivikram-karur-g May 21, 2026
92b3813
feat(skills): add build verification and PR creation skills (#4716)
kislaykishore May 21, 2026
efc456f
ci(gke): update default tpu reservation for continuous integration ru…
kislaykishore May 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions .gcloudignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.gcloudignore
.git
.gitignore
#!include:.gitignore

perfmetrics/
.github/
benchmarks/
docs/
samples/
21 changes: 21 additions & 0 deletions .gemini/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.

# Custom configuration guide: https://developers.google.com/gemini-code-assist/docs/customize-gemini-behavior-github?content_ref=the+gemini+folder+hosts+any+gemini+code+assist+related+configuration+files+like+config+yaml+and+styleguide+md#custom-configuration

code_review:
pull_request_opened:
code_review: true
summary: true
include_drafts: false
80 changes: 80 additions & 0 deletions .gemini/skills/build/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# GCSFuse Build and Style Verification Skill

This skill provides a highly streamlined workflow for Antigravity agents to compile the GCSFuse codebase, verify layout formats, resolve imports, and perform static analysis checks. Executing this unified validation runbook ensures all changes are cleanly compiled and formatted exactly to the repository's strict standards before proposing pull requests.

---

## 1. Context and Target Standards

GCSFuse uses a strict presubmit verification pipeline to ensure code hygiene and layout correctness. The root-level [Makefile](../../../Makefile) is the single-source-of-truth configuration orchestrator.

Running `make build` automatically handles the entire verification chain. Agents must not execute individual compilation or formatting steps manually unless explicitly instructed by this runbook.

```mermaid
graph TD
A[make build] --> B[Run imports, formatting, and dependency sorting]
B --> C[Run code compiler verification checks]
```

Executing `make build` automatically executes and verifies the following operations:
* **Code Generation**: Triggers `go generate` to build auto-generated structures.
* **Auto-Imports & Formatting**: Automatically runs `goimports` and `go fmt` to align headers and style of all updated files.
* **Dependency Hygiene**: Runs `go mod tidy` to clean up and sync local package lists.
* **Static Analysis Checks**: Runs `go vet` to intercept logical and syntax issues early.
* **Style Compliance**: Runs `golangci-lint` to check code cleanliness against `master`.
* **Binary Compilation**: Builds all target packages under the root directory.

---

## 2. Step-by-Step Verification Workflow

### Step 1: Align Go Toolchain
1. Inspect the targeted Go compiler version specified in the root [.go-version](../../../.go-version) file (currently **`1.26.3`**).
2. Check the active compiler version:
```bash
go version
```
3. If there is a major/minor version mismatch with the target baseline series, notify the user immediately before compiling, as version mismatches can introduce syntax regressions.

### Step 2: Run Unified Verification Target
Run the comprehensive validation suite from the root of the workspace:
```bash
make build
```
* **Verification Success**: The build target finishes with exit code `0`.
* **Verification Failure**: If the build target fails, analyze the output:
* **Compilation/Syntax Errors**: Correct the source files and re-run `make build`.
* **Lint Issues**: Resolve style warnings flagged by the linter.

### Step 3: Stage & Commit Automatic Formatting
Because `make build` runs auto-formatters and import organizers in-place, the workspace might receive automatic layout corrections.

1. Inspect the working tree for any modifications automatically made by the build:
```bash
git status
```
2. Inspect formatting diffs:
```bash
git diff --exit-code --name-only
```
3. **Commit Rule**: If formatting changes exist, **commit these automatic corrections** directly alongside your functional changes. Clean formatting is a mandatory PR check block.

---

## 3. Graceful Warning Fallbacks

### Style Linters Failure
`golangci-lint` is required under the `make build` pipeline. In sandboxed or offline local developer environments, this check can occasionally fail or time out:
* > [!WARNING]
* > Do **NOT** treat local linter warnings or execution failures as a blocking compilation failure.
* If standard compiling passes but the linter blocks execution, log a warning to the user noting that linting was bypassed, and proceed.

---

## 4. Compilation Verification Checklist

Before final project handoff, verify the following checks:

- [ ] **Toolchain Sync**: My active `go version` aligns with the project’s [.go-version](../../../.go-version) file directive.
- [ ] **Verification Clean**: Successfully compiled using `make build` without errors.
- [ ] **Hygiene Staged**: Any auto-formatting, import sorting, or dependency adjustments made by the Makefile are committed to the branch tree.
195 changes: 195 additions & 0 deletions .gemini/skills/dep-upgrade/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
# GCSFuse Dependency Upgrading Skill

This skill provides a comprehensive, step-by-step workflow for Antigravity agents to identify, upgrade, and verify external dependencies and Go toolchain versions in the GCSFuse repository, specifically targeting the remediation of CVEs and security vulnerabilities.

---

## 1. Parsing Input & Discovering Vulnerabilities

The user initiates this skill by providing one of the following inputs:

### Input Option A: Specific Dependencies to Upgrade
* The user explicitly specifies the module(s) and/or Go version to upgrade (e.g., "Upgrade `google.golang.org/protobuf` to latest", "Upgrade Go to 1.27.0").
* Identify the exact module path(s) and target version(s).

### Input Option B: Bug / Vulnerability Reference
* The user specifies a bug reference, issue ID, or CVE ID (e.g., "Fix security issues mentioned in b/123456" or "Fix CVE-2026-12345").
* **Workflow for Option B**:
1. Retrieve the full details of the issue, bug description, or external CVE details.
2. Analyze the issue content or logs to find the vulnerable dependencies (e.g., `golang.org/x/net` before `v0.17.0`) or Go standard library vulnerabilities.
3. If the bug mentions Go standard library vulnerabilities (e.g., `Found in: net/http@go1.26.2`, `Fixed in: net/http@go1.26.3`), identify the new target Go compiler version.
4. Produce a list of target packages and their minimum safe versions.

---

## 2. Querying Versions & Major Upgrade Safety Checks

Before executing any dependency upgrades, identify the target versions and evaluate them for major breaking changes.

### Core Directive
* **Default Target**: Always aim to upgrade dependencies to their **latest stable version**.
* **Upgrade Limit**: You may automatically upgrade dependencies to their latest minor or patch versions (e.g., `v1.2.0` -> `v1.5.3`). However, if upgrading to the latest stable version requires a **major version change**, you must halt and ask the user for permission (as detailed in Step 2).

### Step 1: Query Available Versions
List all available stable versions of the target Go module to find the latest stable release:
```bash
go list -m -versions <module_path>
```
*Example:*
```bash
go list -m -versions go.opentelemetry.io/otel/sdk
```

### Step 2: Version Comparison & Safety Checks
Compare the current version of the dependency in `go.mod` against the proposed target/latest version.

* **Major Version Check Rule**:
If the proposed upgrade involves a **major version change** (e.g., upgrading `github.com/pkg/errors` from `v0.9.1` to `v2.0.0`, or any package whose import path or major version number increments):
1. **Stop immediately.**
2. **Alert the user**: Notify them that a major version upgrade is breaking, will require changing module import paths in `.go` files, and could introduce API incompatibilities.
3. **Ask for permission** before proceeding.
4. Do NOT proceed with the upgrade unless the user explicitly approves.

* **No Downgrades Rule**:
If the proposed target version is lower/older than the current version in `go.mod`:
1. **Stop immediately.**
2. **Alert the user**: Notify them that the target version represents a downgrade (e.g., going from `v1.5.0` to `v1.3.0`).
3. **Ask for permission**: Do NOT proceed with a downgrade unless the user explicitly instructs or approves it.

* If the upgrade to the latest version is a minor or patch version change (e.g., `v1.2.0` to `v1.3.5`) and is a strictly higher version, proceed automatically.

---

## 3. Dependency Upgrade Workflow

To upgrade standard Go modules (non-toolchain libraries):

### Guidelines
1. **Focus on Direct Dependencies**: Only upgrade direct dependencies directly. Do not manually upgrade indirect dependencies unless the corresponding direct dependency is also being upgraded. Let `go mod tidy` resolve and update indirect dependencies automatically based on the upgraded direct dependencies.
2. **Lock Version Precisely**: Do not use wildcard upgrades if a specific fixed version is known.
3. **Upgrade Co-dependencies (Peer Packages)**: Upgrading a core library (like `go.opentelemetry.io/otel/sdk`) often requires upgrading peer packages (like `go.opentelemetry.io/otel` or contribution/instrumentation packages like `otelhttp`) to the same version to prevent Skew/API conflicts.

### Commands

#### Case A: Upgrading All/General Dependencies
If you are asked to upgrade all or general dependencies, run the following command to upgrade **only the direct dependencies** to their latest minor/patch versions:
```bash
go get $(go list -f '{{if not (or .Main .Indirect)}}{{.Path}}{{end}}' -m all)
```
Then, run `go mod tidy` to let Go resolve and update the indirect dependencies and clean up `go.mod` and `go.sum`:
```bash
go mod tidy
```

#### Case B: Upgrading Specific Dependencies
If you are asked to upgrade specific dependencies:
1. Run the `go get` command for the target package(s) and its direct dependencies:
```bash
go get <module_path>@<target_version> [peer_package]@[target_version] ...
```
2. Tidy up the module definition files (`go.mod` and `go.sum`):
```bash
go mod tidy
```

---

## 4. Go Toolchain & Standard Library Upgrades

Standard library vulnerabilities (e.g., in `net/http` or `html/template`) cannot be patched via `go get`. They require upgrading the Go toolchain/compiler version itself across the entire repository.

### Core Directives for Go Version Upgrades

1. **Target Go Version Rule**:
* **Default Target**: When upgrading the Go compiler/toolchain (whether for standard library CVE fixes, general feature upgrades, or dependency requirements), **always upgrade to the latest stable available version of Golang**, unless a specific target version is explicitly requested by the user or hardcoded in the bug description.
* > [!IMPORTANT]
* > If the upgrade involves a major/minor version change (e.g., moving the repository from Go `1.23.x` to a newer series like `1.26.x`), **upgrade to the latest available stable release of that new series** (e.g., the absolute latest stable release `1.26.3` or newer), instead of just targetting the baseline first release of the series (e.g., `1.26.0`), unless explicitly specified otherwise by the user or the bug.
* Verify the latest stable version of Go via the web search tool or Go's official download site before finalizing the target version.

2. **Absolute Go Version Consistency**:
* **Strict Consistency Requirement**: The **exact same** three-part (patch-level) Go version string (e.g., `1.26.3`) must be applied globally across the entire repository. There must be absolutely no version mismatch or inconsistency.
* **Consistency in [go.mod](../../../go.mod)**: The `go` directive in [go.mod](../../../go.mod) **MUST be updated to match the exact patch-level version string** (e.g., `go 1.26.3`), aligning it completely with [.go-version](../../../.go-version). Do NOT use minor-only shorthand (e.g., `go 1.26`) in [go.mod](../../../go.mod) while using a three-part version string elsewhere.
* Every single reference to the Go compiler in main builder images, packaging Dockerfiles, presubmit checks, performance suites, and CD scripts must be kept strictly uniform.

### Step 1: Retrieve Current Go Version
Look at the [.go-version](../../../.go-version) file in the root directory, or the `go` directive in [go.mod](../../../go.mod) (e.g., `go 1.26.3`) to identify the old Go version string.

### Step 2: Determine and Query the Target Go Version
1. Identify the minimum safe version required (e.g., if remediating a CVE).
2. Query the web or official resources to find the **latest stable available version** of the Go compiler (within the target major/minor release, or a newer release series if upgrading Go major/minor versions).
3. Set this **latest available version** as the exact target Go version string (e.g., `1.26.3`).

### Step 3: Search the Entire Repository
Search the codebase using `grep` to find all instances of the old Go version string (e.g., `1.26.3`):
```bash
# Example grep query using the search tool:
Query: "1.26.3"
SearchPath: "<workspace_root>"
```

*Key Go Version Reference Locations that MUST match exactly:*
1. **[.go-version](../../../.go-version)**:
*Located at the root of the repository.*
* **Mandatory Action**: Ensure this file contains the exact target Go version (e.g., `1.26.3`).
2. **[go.mod](../../../go.mod)**:
* **Mandatory Action**: Ensure the `go` directive matches the exact patch-level version string (e.g., `go 1.26.3`). Do NOT use two-part versions here.
```diff
-go 1.26.3
+go 1.27.1
```
3. **[Dockerfile](../../../Dockerfile)** (Main Builder Image at root)
4. **Packaging Dockerfiles**:
* **[Dockerfile](../../../tools/containerize_gcsfuse_docker/Dockerfile)** (Containerization base image)
* **[Dockerfile](../../../tools/package_gcsfuse_docker/Dockerfile)** (Packaging base image. Make sure to align *both* the builder baseline tag `FROM golang:X.Y.Z` and the download command `goX.Y.Z.linux` to match the exact same version string).
5. **E2E & Integration Test Scripts**:
* **[e2e_test.sh](../../../tools/cd_scripts/e2e_test.sh)**
* **[run_e2e_tests.sh](../../../tools/integration_tests/run_e2e_tests.sh)**
* **[improved_run_e2e_tests.sh](../../../tools/integration_tests/improved_run_e2e_tests.sh)**
6. **Performance & Presubmit Test Scripts**:
* **[build.sh](../../../perfmetrics/scripts/presubmit_test/pr_perf_test/build.sh)**
* **[setup.sh](../../../perfmetrics/scripts/read_cache/setup.sh)**
* **[run_checkpoints.sh](../../../perfmetrics/scripts/ml_tests/checkpoint/Jax/run_checkpoints.sh)**

### Step 4: Replace All References
Update every file identified in Step 3, substituting the old Go version with the new exact target Go version. Ensure that no minor-only (e.g. `1.26` instead of `1.26.3`) or mismatched version strings exist.

### Step 5: Sync and Tidy
Run `go mod tidy` to ensure `go.mod` and `go.sum` are consistent and fully synchronized.

---

## 5. Compilation & Verification

After upgrading dependencies and/or the Go toolchain, verify the integrity and safety of the changes.

### Compile Check
Verify that the entire codebase builds cleanly with no compile-time regressions:
```bash
make build
```

### Run Vulnerability Scan
Verify that all active CVEs are completely cleared. First, ensure `govulncheck` is installed on the system, and install it if it is missing:
```bash
# Check if govulncheck is installed, if not, attempt to install it and expose $(go env GOPATH)/bin in PATH
if ! command -v govulncheck &> /dev/null; then
go install golang.org/x/vuln/cmd/govulncheck@latest || true
export PATH=$PATH:$(go env GOPATH)/bin
fi
```
Then attempt to run the vulnerability scan.
> [!IMPORTANT]
> If `govulncheck` fails to install or run (e.g., due to offline environments, missing access to external proxies, or toolchain configuration limits), **do NOT treat this failure as a critical blocker**. Log a warning to the user, note the issue in your summary, and proceed to running the test suite to complete the dependency upgrade.

If the utility is available, run the scan:
```bash
govulncheck ./...
```
*Result:* The scan should report `Your code is affected by 0 vulnerabilities`.

### Run Tests
Verify that the test suite passes successfully with the upgraded dependencies:
```bash
go test ./...
```

Loading
Loading