SPLWare / SPLWare/esProc

20230228内存溢出问题

Open
#27 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
4.7k
Forks
364
PR merge metrics
No merged PRs in 30d

Description

我们昨天使用官网发布的 20230228 进行操作的时候 出现堆溢出 我们分析堆溢出产生的日志文件
a123623d61bace6e875e72e756fe2b8
8f28d0f2488543c77f9ddcf4340163e
定位到是这里有问题 。
0e01340744a4e79fa599c2fcb119010
我大致看了下这里的逻辑 是在判断 string 是否全都是 ASCII码 。 这里能否优化下呢?因为你们调用 getBytes 又会在内存里面 创建一份 byte数组 对象 。如果我理解的没问题 是判断 是不是全都是 ASCII码的话 可以采用判断每个字符的码值就行了 不用在去内存里面创建一份

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start from the code location shown in the attached heap-analysis screenshots and inspect the ASCII-check logic involving getBytes. Confirm how the released 20230228 version reaches this path and reproduce the heap-overflow behavior if possible. Done means reducing the avoidable allocation while preserving the existing ASCII check, with validation for the reported case.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
performance
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.