Skip to content

解决导出 Modrinth 整合包因大文件导致的 Out Of Memory - #6631

Open
Hylfrd wants to merge 1 commit into
HMCL-dev:mainfrom
Hylfrd:fix/modrinthmodpackexport-oom
Open

解决导出 Modrinth 整合包因大文件导致的 Out Of Memory#6631
Hylfrd wants to merge 1 commit into
HMCL-dev:mainfrom
Hylfrd:fix/modrinthmodpackexport-oom

Conversation

@Hylfrd

@Hylfrd Hylfrd commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

#6162

导出 Modrinth 整合包时,HMCL 会匹配远程资源并计算 MurmurHash2 指纹。原实现会将过滤后的完整文件存入 ByteArrayOutputStream,并在计算指纹前复制为新的字节数组,若文件过大会导致 OOM。

此 PR 将 CurseForge MurmurHash2 指纹改为使用固定大小缓冲区计算,避免在内存中保存并复制过滤后的完整文件。第一遍读取用于统计过滤后的文件长度,第二遍按四字节分块计算指纹。

@github-actions github-actions Bot added the 100+ label Aug 9, 2026
@Glavo

Glavo commented Aug 9, 2026

Copy link
Copy Markdown
Member

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Swish!

Reviewed commit: 0c5d45bcc5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants