About the Bug...

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

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

  • [x] 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...

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

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

Comment From: hazendaz

That had to be in other earlier versions. 3.4.9 i just merged yesterday. That is unreleased for mybatis but non the less thanks for report. I'll take a look. If the released to central early copy we could patch and release or just wait for final fix. Do note that we repackage ognl.

Can you look at the mybatis 3.5.9 release tag to see what real version affected then comment back here?