TokuDB并发插入会导致锁定超时

时间:2016-08-05 05:59:09

标签: mysql innodb tokudb

我在TokuDB 7.5上有每批约1000条记录的并发批量插入。 每个批次更新都在一个事务中完成。该表还包含大约1亿条记录。

问题在于它会不时抛出以下异常。

  

java.sql.BatchUpdateException:超出锁定等待超时;尝试重新启动   交易

使用的事务隔离级别是Repeatable_Read,我在一篇文章中读到,使用Repeatable_Read将导致SELECT查询的间隙锁定。

但目前我们只有INSERTS。

此锁定超时是否可能是由于间隙锁定,如果是这样,并发INSERTS如何受到间隙锁定的影响?

架构

 CREATE TABLE `message` (
 `id`                   BIGINT(20) UNSIGNED PRIMARY KEY AUTO_INCREMENT,
 `message_id`           VARCHAR(255) NOT NULL,
 `sent_time`            TIMESTAMP   DEFAULT '0000-00-00 00:00:00' ,
 `type_id`              TINYINT(4)  NOT NULL,
 `correlation_id`       BIGINT(20)  NOT NULL,
 `origination_address`  VARCHAR(16)    NOT NULL,
 `destination_address`  VARCHAR(16) NOT NULL,
 `created_time`         TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  UNIQUE KEY (`message_id`,`sent_time`, `type_id`, `correlation_id`),
  KEY `OA` (`origination_address`),
  KEY `DA` (`destination_address`)

0 个答案:

没有答案