Skip to content

fix(store): bound jemalloc downloads - #3310

Merged
imbajin merged 1 commit into
apache:masterfrom
hugegraph:fix/store-jemalloc-download-timeout
Oct 12, 2026
Merged

imbajin merged 1 commit into
apache:masterfrom
hugegraph:fix/store-jemalloc-download-timeout

Conversation

@imbajin

@imbajin imbajin commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

Purpose

Store startup downloads an optional jemalloc library before launching Java. A mirror that accepts a connection but stops responding could hold startup indefinitely. The download now allows 5 seconds to connect and 30 seconds in total, then follows the existing fallback and starts without adding the downloaded library to LD_PRELOAD.

Changes

  • Bound the optional transfer while preserving checksum-verified cache reuse and atomic replacement.
  • Keep an existing destination and remove partial downloads after a transfer failure.
  • Document the startup timeout and cover cache, timeout and cleanup behavior in the existing launcher regression suite.

Validation

The existing shell regression suite passed, including the new cases. With a real HTTP connection that never responded, the old transfer remained blocked; the new transfer timed out after about 30 seconds, cleaned its temporary file and took the optional fallback. Formatting and a clean Java 17 reactor compile passed. Three independent source reviews found no actionable issue.

The same org branch passed its selected CI, including launcher contracts, Server/RocksDB/HStore tests, container build and deployment checks, Compose smoke and platform compatibility. Local reproduction used scripts and loopback HTTP; the original release-container and Kubernetes acceptance scenarios remain separate follow-up checks.

Org validation: hugegraph#287

Documentation

Doc - Done: hugegraph-store/README.md.

Paired website documentation: ASF #517. Coordinate the documentation merge with this code change.

Limit connection and total transfer time.
Preserve verified cache and partial-file cleanup.
Cover timeout fallback in launcher regressions.
Document optional allocator startup behavior.
@codecov

codecov Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 52.30%. Comparing base (7644566) to head (945b0e5).

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3310      +/-   ##
============================================
+ Coverage     52.29%   52.30%   +0.01%     
+ Complexity     6052     2271    -3781     
============================================
  Files           762      762              
  Lines         67399    67399              
  Branches       9138     9138              
============================================
+ Hits          35244    35251       +7     
  Misses        28601    28601              
+ Partials       3554     3547       -7     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@imbajin
imbajin merged commit 9014faa into apache:master Oct 12, 2026
39 checks passed
@imbajin
imbajin deleted the fix/store-jemalloc-download-timeout branch October 12, 2026 10:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants