Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1445 commits
Select commit Hold shift + click to select a range
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
9143fdb
Making Async Metadata Default ON by default
charith87 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
99e369f
Update ListObjects assertion in GRPC Validation Test
charith87 May 22, 2026
774225b
Fix the wrong assertion
charith87 May 22, 2026
fcf6fe7
Fix Cloud Profiler label and service name parsing for comma-separated…
PranjalC100 May 23, 2026
e599f67
Merge pull request #4714 from GoogleCloudPlatform/charithc_async_meta…
charith87 May 25, 2026
0f923c4
Rename FinalizeFileOnClose to FinalizeFileForRapid (#4707)
vipnydav May 25, 2026
3f9ffbd
feat(CI/CD Test Migration): Execute E2E tests from config file (#4695)
PranjalC100 May 26, 2026
6e8101a
feat(kernel range reader): Adding support for fuse-max-pages-limit pa…
abhishek10004 May 26, 2026
11ac2fc
feat(kernel range reader): Adding implementation for kernel range rea…
abhishek10004 May 26, 2026
a64ce4a
ci(e2e): fix gcloud CLI installation failure on RHEL/Rocky 9 (#4735)
vipnydav May 27, 2026
7df6a67
Skip Zonal tests prior to v2.12.0 (#4740)
vipnydav May 28, 2026
fc7e6f4
feat(metrics): Add empty value to entry_status attribute (#4737)
thrivikram-karur-g May 29, 2026
99d8834
Pass PROJECT variable to e2e-test target in Makefile (#4744)
kislaykishore Jun 1, 2026
ea8a8e6
test(mount_timeout): skip tests if buckets are not accessible (#4743)
kislaykishore Jun 1, 2026
da692a3
remove the redundant list access check and associated configuration f…
meet2mky Jun 1, 2026
be3fe87
fix(retry): add Unauthenticated to retryable gRPC status codes to han…
meet2mky Jun 1, 2026
dc1472f
chore: upgrade cloud.google.com/go/storage to v1.62.3 for grpc checks…
meet2mky Jun 4, 2026
edfa1a4
feat: update rename, file cache, and kernel reader flows to use IsRap…
vipnydav Jun 4, 2026
7b5ca5b
feat: Add --experimental-enable-optimized-metadata-cache flag (#4755)
vedantdas-source Jun 5, 2026
c7b76d4
refactor: update build script to run daily jobs on latest commit for …
meet2mky Jun 5, 2026
d046938
build: upgrade Go version from 1.26.3 to 1.26.4 (#4758)
meet2mky Jun 5, 2026
28a9823
fix(tests): Fix TPC daily run failures caused by --test-bucket unavai…
meet2mky Jun 8, 2026
c347d69
fix(auth): Bypass active universe domain lookup on standard public GC…
kislaykishore Jun 8, 2026
0ac71b7
feat(skills): add GCSFuse integration testing skill (#4732)
PranjalC100 Jun 9, 2026
fa5476d
build(deps): bump the go-dependencies group across 1 directory with 1…
alleaditya Jun 9, 2026
adef9e0
build(deps): dependabot PRs for perfmetrics (#4767)
alleaditya Jun 9, 2026
d47010c
fix(syncObject): Fix Unfinalized Zonal Object Sync Failures (Staged W…
meet2mky Jun 10, 2026
ef2644a
fix(cache): Prevent stat cache updates with stale, smaller-sized obje…
vipnydav Jun 16, 2026
b82a17e
perf(inode): optimize FileInode and dirInode memory alignment (#4785)
raj-prince Jun 16, 2026
bb135f3
fix: resolve CPU busy-loop in GenBlockPool.Get on exhaustion (#4781)
kislaykishore Jun 17, 2026
21838b2
feat(retry): enhance retry logging for operations via storage-client …
raj-prince Jun 17, 2026
7faac8e
test(dentry_cache): accept both ESTALE and EIO errors in notifier tes…
kislaykishore Jun 18, 2026
8b9415c
test(fix flaky test): fixing flaky TestZonalFileCacheReaderTestSuite …
raj-prince Jun 19, 2026
e4f1303
feat(native-retries): propagate request IDs on storage control retrie…
meet2mky Jun 19, 2026
5ebd52d
perf: Optimize LookupInode latency for HNS buckets (#4772)
kislaykishore Jun 19, 2026
132c421
test(internal/bufferedread): fix flaky TestReadAtBackwardSeekIsRandom…
kislaykishore Jun 19, 2026
7cf50ad
perf: Optimize `fetchCoreEntity` to avoid heap allocations (#4790)
kislaykishore Jun 23, 2026
4822558
feat(test): enable gRPC e2e test for all packages other than protocol…
raj-prince Jun 24, 2026
b609bb2
test(managed_folder): optimize managed_folders e2e-test by skipping u…
raj-prince Jun 26, 2026
a5a82bb
feat(Refactor): Migrate storage Unit tests from Ogletest to testify (…
charith87 Jun 28, 2026
fc551b8
feat(Flaky_Test): use t.TempDir() instead of hardcoded path and migra…
charith87 Jun 28, 2026
c1d09c9
feat(Refactor): Migrate inode and benchmark tests from Ogletest to te…
charith87 Jun 28, 2026
8919256
feat: implement error unwrapping for NotFoundError and add integratio…
meet2mky Jun 29, 2026
0660cca
chore: upgrade github-script to v7 and add error handling for label a…
meet2mky Jun 29, 2026
406fb67
feat(tracing): add read.offset attribute and read.size attributes to …
kislaykishore Jun 29, 2026
37fe2eb
fix(test): use 4095 for FUSE max name length (#4810)
geertj Jun 29, 2026
72bdd84
feat(Refactor): Migrate cache metadata and lru tests to testify (#4821)
charith87 Jun 30, 2026
aa5f92c
test(integration): support Pirlo test configuration in test_config.ya…
vipnydav Jun 30, 2026
460e999
feat(perfmetrics): add startup latency measurement script (#4819)
geertj Jun 30, 2026
76f6c2b
test(cache): optimize chunk size and scale down cache_handle_test obj…
geertj Jun 30, 2026
17ac781
test(ratelimit): scale down duration and scale up rates in TestIntegr…
geertj Jun 30, 2026
ceee4c5
fresh changes (#4801)
raj-prince Jul 1, 2026
94d6668
test(fs/handle): fix BufferedReader resource leak timeout in file_tes…
geertj Jul 1, 2026
4d8d3e4
fix: correct flag syntax in test_config.yaml and add YAML unmarshalin…
PranjalC100 Jul 2, 2026
84203d4
remove flags from test packages 1 (#4835)
PranjalC100 Jul 2, 2026
2df3de7
test: add memory and performance benchmarks for MapLRU and StatCache …
vedantdas-source Jul 2, 2026
1ab1f07
remove flags and deprecated methods 2 (#4836)
PranjalC100 Jul 2, 2026
6c36bcf
feat(native-retries): add custom should-retry logic for mount initial…
dangarhs Jul 3, 2026
13aecc6
feat(Refactor): Migrate gcsx bucket_manager and temp_file tests to te…
charith87 Jul 3, 2026
15c95f5
remove flags from test packages (#4841)
PranjalC100 Jul 3, 2026
9252f24
Ensure TPC setup works properly with integration test client (#4843)
thrivikram-karur-g Jul 3, 2026
aca647e
Add tests that would be enabled for pirlo and zonal (#4824)
vipnydav Jul 6, 2026
6d61407
remove unused functions (#4847)
PranjalC100 Jul 7, 2026
2afb683
feat(kernel range reader): Support vectored reads with kernel range r…
abhishek10004 Jul 7, 2026
46d8686
test(integration): migrate TPC operations tests to config file (#4763)
PranjalC100 Jul 8, 2026
4cdb856
pass test_config.yaml to flag_optimizations in GKE machine_type_test …
anushka567 Jul 8, 2026
7e94501
feat(Improvements): Migrate caching, base_dir, util, and symlink test…
charith87 Jul 9, 2026
a156d6d
chore: migrate .gemini to .agents and update CODEOWNERS (#4853)
kislaykishore Jul 9, 2026
b61c988
fix fusermount missing issue in gke machine type test (#4858)
anushka567 Jul 9, 2026
4401c60
fix(bufferedread): release inflight prefetch blocks on non-EOF read e…
greedkiss Jul 10, 2026
9b2be5b
build(deps): dependabot PRs for go modules (#4771)
alleaditya Jul 10, 2026
d830c5c
feat(caching): implement negative stat cache to optimize polling of m…
alleaditya Jul 13, 2026
d2a9ee3
feat(kernel range reader): Add buffer pooling support for large reads…
abhishek10004 Jul 13, 2026
af0571a
fuse3 should be installed for GKE machine type test (#4861)
anushka567 Jul 13, 2026
27d8087
fix(bucket type optimization): Add support for multiple bucket types …
abhishek10004 Jul 13, 2026
d8f0396
change log severity for fallback from INFO to TRACE (#4854)
anushka567 Jul 13, 2026
1a47125
feat(ci): apply dynamic commit selection based on KOKORO_BUILD_INITIA…
anushka567 Jul 14, 2026
6cbb917
test(machine_type_test): fix flag parsing and mounted directory in gk…
PranjalC100 Jul 14, 2026
dda2737
fix(metrics): Fixing double counting issue in read bytes count metric…
abhishek10004 Jul 14, 2026
508b315
feat(kernel range reader): Optimize Kernel Reader default values base…
abhishek10004 Jul 14, 2026
5c71983
style(gcsx): use `gofmt -s -w .` instead of `go fmt` for formatting (…
kislaykishore Jul 15, 2026
69612a1
feat(kernel range reader): Making enable-kernel-reader flag public (#…
abhishek10004 Jul 15, 2026
d347c1c
refactor(storage control client): Refactor StorageControlClient retry…
meet2mky Jul 15, 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
  •  
  •  
  •  
21 changes: 21 additions & 0 deletions .agents/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 .agents/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 .agents/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