Сброс (autoCommit) при подключении в HikariCP

Я продолжаю видеть этот журнал, когда использую соединения в пуле Hikari.

[com.zaxxer.hikari.pool.PoolElf] : HikariPool-0 - Reset (autoCommit) on connection com.mysql.jdbc.JDBC4Connection@1c9b0314
[com.zaxxer.hikari.pool.PoolElf] : HikariPool-0 - Reset (autoCommit) on connection com.mysql.jdbc.JDBC4Connection@1c9b0314
[com.zaxxer.hikari.pool.PoolElf] : HikariPool-0 - Reset (autoCommit) on connection com.mysql.jdbc.JDBC4Connection@1c9b0314
[com.zaxxer.hikari.pool.PoolElf] : HikariPool-0 - Reset (autoCommit) on connection com.mysql.jdbc.JDBC4Connection@1c9b0314
[com.zaxxer.hikari.pool.PoolElf] : HikariPool-0 - Reset (autoCommit) on connection com.mysql.jdbc.JDBC4Connection@1c9b0314
[com.zaxxer.hikari.pool.PoolElf] : HikariPool-0 - Reset (autoCommit) on connection com.mysql.jdbc.JDBC4Connection@1c9b0314
[com.zaxxer.hikari.pool.PoolElf] : HikariPool-0 - Reset (autoCommit) on connection com.mysql.jdbc.JDBC4Connection@1c9b0314

Что это обозначает? Это то, о чем мне следует беспокоиться/исправлять, или это нормально? Я пытаюсь понять, что там происходит на самом деле.


person Bee    schedule 17.12.2016    source источник


Ответы (1)


Это означает либо:

  • пул настроен как автофиксация, но код изменяет соединения на autoCommit=false, а затем возвращает их в пул, или
  • пул настроен как не автофиксация, но код изменяет соединения на autoCommit=true, а затем возвращает их в пул.

HikariCP сбрасывает autoCommit на значение по умолчанию для пула всякий раз, когда соединение возвращается с другим режимом autoCommit. В целом это может негативно сказаться на производительности; иногда довольно большой.

person brettw    schedule 18.12.2016
comment
Спасибо. В моем случае это первое. Итак, если позволить HikariCP изменить автокоммит на значение по умолчанию дорого, должен ли я сделать autocommit=true перед закрытием соединения? - person Bee; 18.12.2016
comment
еще 1 вопрос. Если я сделаю выше, я получу Reset (nothing) on connection conn0. Это ожидаемо и нормально? - person Bee; 18.12.2016
comment
В идеале пул autoCommit должен быть настроен так, чтобы соответствовать тому, что ваша постоянство делает чаще всего. Если ваша настойчивость иногда autoCommit=true, а иногда autoCommit=false, то независимо от того, вы сбрасываете соединение на пул по умолчанию самостоятельно или позволяете HikariCP сделать это, стоимость будет одинаковой. Однако, если вы сделаете это самостоятельно, по крайней мере, вы избежите сообщения журнала отладки. Сообщение Reset (nothing)... больше не регистрируется, поэтому я предлагаю вам обновить HikariCP; но это безвредно. - person brettw; 18.12.2016
comment
@brettw Что это за негативное влияние? Мы столкнулись с проблемой с обоими (autocommit = true/false). - person dReAmEr; 15.01.2019