Skip to content

Statement.closeOnCompletion result in MySql Server memory leak #2315

@yanghanqi

Description

@yanghanqi

MyBatis version

3.5.x

Database vendor and version

mysql 8

Test case or example project

since Mybatis 3.5.x, SimpleExecutor.doQueryCursor use Statement.closeOnCompletion to close Statement
when in Mybatis 3.4.x,the Statement is closed in DefaultCursor close function

when open the server prepareStatement in mysql(jdbc set useServerPrepStmts=true),closeOnCompletion cannot release mysql server resource, So result in server memory leak.

I think mybe this is mysql jdbc driver's bug, but I don't konw why to use closeOnCompletion instead of close,can mybatis to fix the bug ?

Steps to reproduce

Expected result

Actual result

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