浏览代码

Enfore TransactionIsolationLevel.READ_COMMITTED

By default, all supported databases but MySQL are using this
isolation level. However, without setting this property, gap
locks may appear in MySQL :

https://dev.mysql.com/doc/refman/5.7/en/innodb-locking.html#innodb-gap-locks
tags/7.5
Eric Hartmann 6 年前
父节点
当前提交
13fa00a308
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. 3
    2
      server/sonar-db-dao/src/main/java/org/sonar/db/MyBatis.java

+ 3
- 2
server/sonar-db-dao/src/main/java/org/sonar/db/MyBatis.java 查看文件

@@ -28,6 +28,7 @@ import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.session.TransactionIsolationLevel;
import org.sonar.api.Startable;
import org.sonar.db.ce.CeActivityMapper;
import org.sonar.db.ce.CeQueueMapper;
@@ -267,10 +268,10 @@ public class MyBatis implements Startable {

public DbSession openSession(boolean batch) {
if (batch) {
SqlSession session = sessionFactory.openSession(ExecutorType.BATCH);
SqlSession session = sessionFactory.openSession(ExecutorType.BATCH, TransactionIsolationLevel.READ_COMMITTED);
return new BatchSession(session);
}
SqlSession session = sessionFactory.openSession(ExecutorType.REUSE);
SqlSession session = sessionFactory.openSession(ExecutorType.REUSE, TransactionIsolationLevel.READ_COMMITTED);
return new DbSessionImpl(session);
}


正在加载...
取消
保存