• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tomdesair / tus-java-server / 38169454864
95%

Build:
DEFAULT BRANCH: master
Ran 11 Oct 2026 07:49PM UTC
Jobs 1
Files 163
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 Oct 2026 07:46PM UTC coverage: 94.73% (-0.1%) from 94.834%
38169454864

push

github

web-flow
feat: async chunk upload, dynamic part sizing for multi-TB uploads, and RUFH compliance improvements (#138)

* feat: async chunk upload, dynamic part sizing for multi-TB uploads, and RUFH compliance improvements

* fix(rufh): do not invoke append on creation requests without content

* perf(s3): optimize S3 lock acquisition and multi-object release

- Skip redundant isLockExpired pre-check in S3LockingService for optimistic conditional PutObject
- Batch delete .lock and .stop keys via S3 Multi-Object Delete in S3UploadLock
- Clean up unused deleteS3LockObjectIfOwner and deleteS3ObjectQuietly methods
- Remove createMinioContainer alias from TestUtils and clarify RustFS Testcontainers setup
- Update CHANGELOG.md

* feat(s3): configurable locking jitter, HTTP 501 non-CAS fallback, and streamlined constructors

- Added configurable jitter bounds (withJitter) in AbstractLeaseLockingService and S3LockingService defaulting to 20-60 ms, with zero-jitter support (0, 0) for pure AWS S3 / Cloudflare R2 deployments.
- Implemented automatic non-CAS fallback in S3LockingService when If-None-Match: * returns HTTP 501 / NotImplemented (supporting Backblaze B2, Ceph RGW) along with withS3ConditionalWritesSupported(boolean) override.
- Streamlined S3LockingService constructors to minimal required set (basic 2-arg and full 6-arg).
- Clarified locking documentation and inline comments regarding lock arbitration on non-CAS backends.

* feat(s3): add native S3 multipart copy helper and connection parameter constructors

* feat: unify lock wait timeout and cloud chunk drain timeout

- Add withLockWaitTimeout(Duration) and getLockWaitTimeout() to TusFileUploadService (default 60s)
- Derive max lock retries (timeout / 200ms, default 300) and cloud upload chunk drain timeout (timeout - 5s, default 55s)
- Update AsyncChunkUploader, UploadStorageService, S3StorageService, AzureBlobStorageService, DiskStorageService, and ThreadLocalCachedStorageAndLockingService to configure and ... (continued)

2947 of 3328 branches covered (88.55%)

Branch coverage included in aggregate %.

1302 of 1337 new or added lines in 34 files covered. (97.38%)

7 existing lines in 4 files now uncovered.

6329 of 6464 relevant lines covered (97.91%)

6.4 hits per line

Uncovered Changes

Lines Coverage ∆ File
15
92.14
0.61% src/main/java/me/desair/tus/server/upload/s3/S3StorageService.java
10
90.95
1.26% src/main/java/me/desair/tus/server/upload/azure/AzureBlobStorageService.java
2
96.47
-0.14% src/main/java/me/desair/tus/server/TusFileUploadService.java
2
89.62
0.66% src/main/java/me/desair/tus/server/upload/azure/AzureBlobLockingService.java
2
95.42
1.1% src/main/java/me/desair/tus/server/upload/s3/S3UploadLock.java
2
96.15
src/main/java/me/desair/tus/server/upload/util/AsyncChunkUploader.java
1
91.01
0.53% src/main/java/me/desair/tus/server/upload/azure/AzureBlobConcatenationService.java
1
92.16
0.49% src/main/java/me/desair/tus/server/upload/azure/AzureBlobUploadLock.java

Coverage Regressions

Lines Coverage ∆ File
3
92.16
0.49% src/main/java/me/desair/tus/server/upload/azure/AzureBlobUploadLock.java
2
89.62
0.66% src/main/java/me/desair/tus/server/upload/azure/AzureBlobLockingService.java
1
90.95
1.26% src/main/java/me/desair/tus/server/upload/azure/AzureBlobStorageService.java
1
92.14
0.61% src/main/java/me/desair/tus/server/upload/s3/S3StorageService.java
Jobs
ID Job ID Ran Files Coverage
1 38169454864.1 11 Oct 2026 07:49PM UTC 326
77.7
GitHub Action Run
Source Files on build 38169454864
  • Tree
  • List 163
  • Changed 98
  • Source Changed 32
  • Coverage Changed 98
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #38169454864
  • 46144000 on github
  • Prev Build on master (#38135691359)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc