Skip to content

[Performance] OGNL 3.4.9 synchronized lock causes thread blocking under high concurrency (fixed in OGNL 3.5.0 BETA2) #3574

@kradme

Description

@kradme

About the Bug...

  • I have checked that this issue has not already been reported.

  • I have confirmed this bug exists on the latest version of MyBatis.

  • I have confirmed this bug reproduces without 3rd party extensions (e.g. mybatis-plus).

Database Version

Oracle

JDBC Driver Version

ojdbc8

Issue Description

  1. We are using MyBatis 3.5.19 in a high-concurrency business scenario (QPS ~ 11000+). During pressure testing, we found severe thread blocking issues, and we analysis showed the root cause is the global synchronized lock in method:ognl.internal.ClassCacheHandler.getHandler

  2. ognl3.4.9 has Performance issue https://github.com/orphan-oss/ognl/pull/406,and fixed in 3.5.0 BETA1

About your report...

  • I did not use images 🖼️ for showing text information (code, error, etc.).

  • I checked the Preview and my report looks awesome! 👍

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions