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

tomdesair / tus-java-server
95%

Build:
DEFAULT BRANCH: master
Repo Added 20 Jul 2018 06:50PM UTC
Files 163
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

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
  • master
  • 1.0.0-1.0
  • 1.0.0-1.1
  • 1.0.0-1.2
  • 1.0.0-1.3
  • 1.0.0-1.x
  • 1.0.0-2.0
  • B-issue-73
  • Travis-CI-integrations
  • bug-Sonar-jdk11
  • bugfix/backport-fixes-by-zhaojun1998
  • bugfix/clear-content-length-on-error
  • bugfix/cors-origin-reflection-6803265430144852735
  • bugfix/fix-crlf-content-type-9315195809006394862
  • bugfix/fix-crlf-injection-12046639770624871868
  • bugfix/fix-dependency-submission-action
  • bugfix/fix-insecure-deserialization-12348871707867810596
  • bugfix/fix-insecure-deserialization-14551684257576266736
  • bugfix/fix-sonar-issues-2851799642143350705
  • bugfix/fix-unsafe-checksum-resolution
  • bugfix/fix-upload-id-factory-sonar-s3077-10882374429354629736
  • bugfix/github-workflow-permissions
  • bugfix/hold-lock-during-stream-interruption
  • bugfix/insecure-deserialization-16965681493920024994
  • bugfix/interrupted-stream-handling
  • bugfix/path-traversal-disk-storage-16566715673590324349
  • bugfix/release-lock-on-stream-interrupt
  • bugfix/remove-deprecated-functions
  • bugfix/robust-content-type-validation
  • bugfix/secure-deserialization-2797160734498569469
  • bugfix/secure-temp-file-creation
  • bugfix/sentinel-path-traversal-leasefile-11616360575913462100
  • bugfix/sonarcloud-reliability-1062253362641730646
  • bugfix/storage-backends-resilience-and-sub-5mb-fallback
  • checkstyle-8.18
  • dependabot/maven/com.puppycrawl.tools-checkstyle-8.29
  • dependabot/maven/commons-io-commons-io-2.7
  • dependabot/maven/junit-junit-4.13.1
  • dependabot/maven/maven-b5969151e9
  • dependabot/maven/maven-cefad9cb34
  • dependabot/maven/org.springframework-spring-web-6.1.21
  • docs/changelog-content-type-fix
  • feature/absolute-upload-url
  • feature/abstract-lease-lock
  • feature/add-decoder-exception-test-4778707476590793195
  • feature/add-tus-servlet-request-test-8727877931933897901
  • feature/async-chunk-upload
  • feature/azure-blob-storage-support
  • feature/checksum-validation
  • feature/creation-with-upload
  • feature/file-deduplication
  • feature/generic-upload-id-factory
  • feature/ietf-resumable-uploads
  • feature/improve-readme
  • feature/lease-file-locking
  • feature/lock-contention-resolution
  • feature/lock-release-on-delete
  • feature/pre-release-polish-v2
  • feature/refactor-watchdog-cleanup-6962994243959913544
  • feature/remove-deprecated-function-calls-12419428033195704524
  • feature/rufh-conformity-tests
  • feature/s3-storage-support
  • feature/target-jdks-testing
  • feature/tomcat-interim-response-valve
  • feature/tus-servlet-request-tests-3677208701501500505
  • feature/update-spring-version-for-unit-tests
  • feature/upload-URI-regex-support
  • feature/upload-completion-listener
  • feature/v2-release-hardening
  • fix-path-traversal-14854299696497648661
  • fix-sonarcloud-reliability-issues-1854060035614280304
  • fix/checksum-index-in-disk-storage-service
  • fix/path-traversal-8619812930252771219
  • fix/sonarcloud-reliability-18172725154501758368
  • improvement/remove-unused-deleteexpiredlockquietly-17093593079984785927
  • jules-12850832640110649913-688d6719
  • maintenance-update-plugins
  • sentinel-insecure-deserialization-fix-4825287769009940094
  • sentinel-path-traversal-fix-13325561132426758992
  • snyk-fix-882e3c8e3ab4931785f178e9e7834d26
  • snyk-fix-fb232ad50fd9d18813d360e8fd20a189
  • test/abstract-disk-based-service-init-17276221433510533823
  • travis-jdk9
  • update-dependencies-10971432284329474998
  • update-java-versions-9391960122288878008

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

Relevant lines Covered
Build:
Build:
6464 RELEVANT LINES 6329 COVERED LINES
6.4 HITS PER LINE
Source Files on master
  • Tree
  • List 163
  • Changed 98
  • Source Changed 32
  • Coverage Changed 98
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
38169454864 master 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 ... push 11 Oct 2026 07:49PM UTC web-flow github
94.73
38135691359 master chore(deps): bump the maven group across 1 directory with 2 updates (#142) Bumps the maven group with 2 updates in the / directory: [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson-databind) and [com.fasterxml.ja... push 11 Oct 2026 11:32AM UTC web-flow github
94.83
37226276787 master chore(deps): bump the maven group across 1 directory with 2 updates (#142) Bumps the maven group with 2 updates in the / directory: [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson-databind) and [com.fasterxml.ja... push 04 Oct 2026 06:59PM UTC web-flow github
94.82
37225552230 master chore(deps): bump com.fasterxml.jackson.core:jackson-databind from 2.22.1 to 2.22.2 in the maven group across 1 directory (#139) * chore(deps): bump com.fasterxml.jackson.core:jackson-databind Bumps the maven group with 1 update in the / directo... push 04 Oct 2026 06:47PM UTC web-flow github
94.85
36615265675 master 🛡️ Sentinel: [HIGH] Fix Path Traversal in LeaseFileLockingService (#141) * 🛡️ Sentinel: [HIGH] Fix Path Traversal in LeaseFileLockingService Co-authored-by: tomdesair <14034630+tomdesair@users.noreply.github.com> * 🛡️ Sentinel: [HIGH] Fix Path ... push 29 Sep 2026 06:56PM UTC web-flow github
94.83
36535575193 master fix: resolve SonarCloud java:S3077 rule in UploadIdFactory (#137) * fix: resolve SonarCloud java:S3077 rule in UploadIdFactory Remove volatile modifier on Pattern reference and synchronize setUploadUri, getUploadUri, and getUploadUriPattern meth... push 29 Sep 2026 07:19AM UTC web-flow github
94.89
36339965702 master fix: hold upload lock during stream interruption until data is persisted (#136) - Do not prematurely release the upload lock inside InterruptibleInputStream.interrupt(). - Retain the lock throughout stream interruption so that in-flight buffered ... push 27 Sep 2026 06:18PM UTC web-flow github
94.9
36336969500 master Harden 2.0.0 release: concurrency, multi-node locking resilience, and Jackson bundling (#135) * fix: harden 2.0.0 release for stability, concurrency, and multi-node resilience - Retain upload lock during getUploadedBytes() streaming via LockHold... push 27 Sep 2026 05:30PM UTC web-flow github
94.91
36263838777 master fix: improve storage backend resilience, S3 sub-5MB pause/resume fallback, and Azure direct block staging (#134) * fix: release upload lock immediately on input stream interruption Associate the active UploadLock with TusServletRequest and Inter... push 26 Sep 2026 06:51PM UTC web-flow github
94.9
34586268660 master 🧪 [testing improvement] Add tests for TusServletRequest (#130) * 🧪 Add tests for TusServletRequest Co-authored-by: tomdesair <14034630+tomdesair@users.noreply.github.com> * 🧹 Fix CI codestyle and assertion failure Co-authored-by: tomdesair <14... push 11 Sep 2026 09:54AM UTC web-flow github
94.67
See All Builds (645)
  • Repo on GitHub
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