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

tomdesair / tus-java-server / 33206551005
95%

Build:
DEFAULT BRANCH: master
Ran 28 Aug 2026 08:06PM UTC
Jobs 1
Files 160
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

28 Aug 2026 08:03PM UTC coverage: 94.598% (-0.2%) from 94.772%
33206551005

push

github

web-flow
feat: pre-release code consistency, docs polish, code cleanup, and test optimizations for v2.0.0 (#123)

* feat: pre-release code consistency, docs polish, and test optimizations for v2.0.0

* refactor(lock): extract LeaseData DTO, unify LeaseDataJsonSerializer, and resolve SonarCloud reliability issues

* refactor(storage): align UploadInfoJsonSerializer with LeaseDataJsonSerializer and remove redundant Utils json/file-lock methods

* fix(locking): implement sibling mutex directory and ownership fencing for LeaseFileLockingService

- Replace directory move-and-rollback with atomic sibling mutex (<UploadId>.mutex/) and in-place expired lock takeover
- Introduce LeaseFileMutex supporting try-with-resources, constructor-level auto-acquisition, isAcquired(), and 5s crash recovery
- Extract doesLockOwnershipMatch helper in LeaseFileUploadLock and S3UploadLock for fencing on release and renewal
- Add unit and stress tests for LeaseFileMutex and concurrent eviction contention
- Update documentation in DISK_BASED_LOCKING.md, LOCKING.md, and CHANGELOG.md

* refactor(util): unify atomic file serialization and deletePathQuietly helper

- Add Utils.createTempSiblingPath, Utils.atomicMove, and AutoCloseable Utils.TempPath
- Centralize atomic serialization with temporary file rename in LeaseDataJsonSerializer, UploadInfoJsonSerializer, and Utils.writeSerializable
- Add Utils.deletePathQuietly and replace redundant deleteIfExists try-catch blocks across all disk-based services
- Add unit tests in UtilsTest, LeaseDataJsonSerializerTest, and UploadInfoJsonSerializerTest

2330 of 2628 branches covered (88.66%)

Branch coverage included in aggregate %.

335 of 348 new or added lines in 18 files covered. (96.26%)

5 existing lines in 2 files now uncovered.

5060 of 5184 relevant lines covered (97.61%)

6.46 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
89.95
0.26% src/main/java/me/desair/tus/server/upload/disk/LeaseFileLockingService.java
3
88.89
-8.73% src/main/java/me/desair/tus/server/upload/disk/LeaseFileUploadLock.java
2
86.81
-7.16% src/main/java/me/desair/tus/server/upload/s3/S3UploadLock.java
1
90.85
-0.14% src/main/java/me/desair/tus/server/upload/azure/AzureBlobStorageService.java
1
89.47
-4.39% src/main/java/me/desair/tus/server/upload/s3/S3LockingService.java
1
90.79
-0.12% src/main/java/me/desair/tus/server/upload/s3/S3StorageService.java
1
95.91
1.92% src/main/java/me/desair/tus/server/util/Utils.java

Coverage Regressions

Lines Coverage ∆ File
3
89.47
-4.39% src/main/java/me/desair/tus/server/upload/s3/S3LockingService.java
2
89.95
0.26% src/main/java/me/desair/tus/server/upload/disk/LeaseFileLockingService.java
Jobs
ID Job ID Ran Files Coverage
1 33206551005.1 28 Aug 2026 08:06PM UTC 320
78.11
GitHub Action Run
Source Files on build 33206551005
  • Tree
  • List 160
  • Changed 97
  • Source Changed 15
  • Coverage Changed 97
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #33206551005
  • 8c29a92f on github
  • Prev Build on master (#32409915244)
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