Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The ThreadPoolExecutor on the DotConcurrentFactory should have a name #20401

Closed
jdotcms opened this issue May 17, 2021 · 4 comments · Fixed by #20402
Closed

The ThreadPoolExecutor on the DotConcurrentFactory should have a name #20401

jdotcms opened this issue May 17, 2021 · 4 comments · Fixed by #20402
Assignees
Labels
Changelog: Skip Not customer facing and never seen by customers issues Release : 5.3.8.6 Included in LTS patch release 5.3.8.6 Release : 21.06 Type : Enhancement

Comments

@jdotcms
Copy link
Contributor

jdotcms commented May 17, 2021

Currently when the ThreadPoolExecutor rejects a thread looks like:

ent.DotConcurrentException: Task java.util.concurrent.FutureTask@4f4d36fd rejected from java.util.concurrent.ThreadPoolExecutor@582bbe5[Running, pool size = 50, active threads = 50, queued tasks = 100, completed tasks = 45322]
at com.dotcms.concurrent.DotConcurrentFactory$DotConcurrentImpl.submit(DotConcurrentFactory.java:475) ~[dotcms_5.3.8_999999.jar:?]

That do not give us info about which pool is having the issue, including the name would be a bit easier

@jdotcms jdotcms self-assigned this May 17, 2021
@wezell
Copy link
Contributor

wezell commented May 17, 2021

We need to, by default, make the DotConcurrentFactory queue unbounded as is the java default. We can message in the logs / warn if the queue grows to over a specific size, e.g. over 50k or 100k, but we should not error out. The queue size has bitten us a number of times already.

@wezell
Copy link
Contributor

wezell commented May 17, 2021

See: #19006 (comment)

@erickgonzalez erickgonzalez added this to the Maintenance Sprint milestone May 17, 2021
@jcastro-dotcms jcastro-dotcms added the LTS : Next Ticket that will be added to LTS label May 18, 2021
@john-thomas-dotcms
Copy link
Contributor

Note: This fix basically just changes the default value.

For existing systems, the solution is to change the value of DOTCMS_CONCURRENT_QUEUECAPACITY (DOT_DOTCMS_CONCURRENT_QUEUECAPACITY when setting via env var) to a (much) higher value, like 100000.

@wezell
Copy link
Contributor

wezell commented Jun 1, 2021

I would suggest even higher, something like 1,000,000,000. The java default is 2,147,483,647

@jcastro-dotcms jcastro-dotcms added Release : 5.3.8.6 Included in LTS patch release 5.3.8.6 and removed LTS : Next Ticket that will be added to LTS labels Aug 19, 2021
@rweiner rweiner added the Changelog: Skip Not customer facing and never seen by customers issues label Oct 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: Skip Not customer facing and never seen by customers issues Release : 5.3.8.6 Included in LTS patch release 5.3.8.6 Release : 21.06 Type : Enhancement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants