Debugging SQL issues with Adaptive Lighting entries

My Adaptive Lighting has been buggy lately. I’m getting a series of errors in my logger about SQL queries failing, although they succeed in phpMyAdmin.

Any idea on what could be going on and how to fix this? I don’t get the need to run ROLLBACK. Process List shows pretty clean.

Logger: homeassistant.components.recorder.util
Source: components/recorder/util.py:218
Integration: Recorder (documentation, issues)
First occurred: 1:12:21 PM (75 occurrences)
Last logged: 8:55:47 PM 

Error executing query: (MySQLdb.OperationalError) (2013, 'Lost connection to server during query') [SQL: SELECT state_attributes.attributes_id, state_attributes.shared_attrs FROM state_attributes WHERE state_attributes.hash IN (%s)] [parameters: (2748489755,)] (Background on this error at: https://sqlalche.me/e/20/e3q8)
Error executing query: Can't reconnect until invalid transaction is rolled back. Please rollback() fully before proceeding (Background on this error at: https://sqlalche.me/e/20/8s2b)
Error executing query: (MySQLdb.OperationalError) (2002, "Can't connect to server on 'core-mariadb' (115)") (Background on this error at: https://sqlalche.me/e/20/e3q8)
Error executing query: (MySQLdb.OperationalError) (2013, 'Lost connection to server during query') [SQL: SELECT state_attributes.attributes_id, state_attributes.shared_attrs FROM state_attributes WHERE state_attributes.hash IN (%s)] [parameters: (942416054,)] (Background on this error at: https://sqlalche.me/e/20/e3q8)
Error executing query: (MySQLdb.OperationalError) (2013, 'Lost connection to server during query') [SQL: SELECT state_attributes.attributes_id, state_attributes.shared_attrs FROM state_attributes WHERE state_attributes.hash IN (%s)] [parameters: (1010108519,)] (Background on this error at: https://sqlalche.me/e/20/e3q8)

And specific error from Adaptive Lighting:

Logger: homeassistant.components.recorder.core
Source: components/recorder/core.py:890
Integration: Recorder (documentation, issues)
First occurred: 1:12:21 PM (20 occurrences)
Last logged: 8:55:47 PM

Unhandled database error while processing task <Event state_changed[L]: entity_id=sensor.diskless_bond0_rx, old_state=<state sensor.diskless_bond0_rx=0.00252543786488741; state_class=measurement, unit_of_measurement=MB/s, device_class=data_rate, friendly_name=Diskless - bond0 RX @ 2026-09-22T18:18:31.558809-07:00>, new_state=<state sensor.diskless_bond0_rx=0.00399056603773585; state_class=measurement, unit_of_measurement=MB/s, device_class=data_rate, friendly_name=Diskless - bond0 RX @ 2026-09-22T18:18:33.838954-07:00>>
Unhandled database error while processing task <Event state_changed[L]: entity_id=sensor.diskless_bond0_tx, old_state=<state sensor.diskless_bond0_tx=0.00417347789824854; state_class=measurement, unit_of_measurement=MB/s, device_class=data_rate, friendly_name=Diskless - bond0 TX @ 2026-09-22T18:18:31.558872-07:00>, new_state=<state sensor.diskless_bond0_tx=0.00643138936535163; state_class=measurement, unit_of_measurement=MB/s, device_class=data_rate, friendly_name=Diskless - bond0 TX @ 2026-09-22T18:18:33.839106-07:00>>
Unhandled database error while processing task <Event state_changed[L]: entity_id=sensor.samsung_odyssey_g95_rx, old_state=<state sensor.samsung_odyssey_g95_rx=3.30578512396694e-05; state_class=measurement, unit_of_measurement=MB/s, device_class=data_rate, friendly_name=Samsung Odyssey G95 RX @ 2026-09-22T18:18:22.132107-07:00>, new_state=<state sensor.samsung_odyssey_g95_rx=0.0; state_class=measurement, unit_of_measurement=MB/s, device_class=data_rate, friendly_name=Samsung Odyssey G95 RX @ 2026-09-22T18:18:33.839760-07:00>>
Unhandled database error while processing task <Event state_changed[L]: entity_id=sensor.blank_card_rx, old_state=<state sensor.blank_card_rx=0.000667497921862012; state_class=measurement, unit_of_measurement=MB/s, device_class=data_rate, friendly_name=Blank Card RX @ 2026-09-22T20:55:37.542694-07:00>, new_state=<state sensor.blank_card_rx=0.00756135770234987; state_class=measurement, unit_of_measurement=MB/s, device_class=data_rate, friendly_name=Blank Card RX @ 2026-09-22T20:55:44.001622-07:00>>
Unhandled database error while processing task <Event state_changed[L]: entity_id=sensor.blank_card_tx, old_state=<state sensor.blank_card_tx=0.000117206982543641; state_class=measurement, unit_of_measurement=MB/s, device_class=data_rate, friendly_name=Blank Card TX @ 2026-09-22T20:55:37.542877-07:00>, new_state=<state sensor.blank_card_tx=0.0051644908616188; state_class=measurement, unit_of_measurement=MB/s, device_class=data_rate, friendly_name=Blank Card TX @ 2026-09-22T20:55:44.001979-07:00>>
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 144, in __init__
    self._dbapi_connection = engine.raw_connection()
                             ~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 3319, in raw_connection
    return self.pool.connect()
           ~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/pool/base.py", line 448, in connect
    return _ConnectionFairy._checkout(self)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/pool/base.py", line 1272, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/pool/base.py", line 717, in checkout
    with util.safe_reraise():
         ~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py", line 122, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/pool/base.py", line 715, in checkout
    dbapi_connection = rec.get_connection()
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/pool/base.py", line 866, in get_connection
    self.__connect()
    ~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/pool/base.py", line 900, in __connect
    with util.safe_reraise():
         ~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py", line 122, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/pool/base.py", line 896, in __connect
    self.dbapi_connection = connection = pool._invoke_creator(self)
                                         ~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/engine/create.py", line 667, in connect
    return dialect.connect(*cargs_tup, **cparams)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 630, in connect
    return self.loaded_dbapi.connect(*cargs, **cparams)  # type: ignore[no-any-return]  # NOQA: E501
           ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/site-packages/MySQLdb/__init__.py", line 121, in Connect
    return Connection(*args, **kwargs)
  File "/usr/local/lib/python3.14/site-packages/MySQLdb/connections.py", line 206, in __init__
    super().__init__(*args, **kwargs2)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
MySQLdb.OperationalError: (2002, "Can't connect to server on 'core-mariadb' (115)")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/recorder/core.py", line 890, in _process_one_task_or_event_or_recover
    self._process_one_event(task)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/recorder/core.py", line 1037, in _process_one_event
    self._process_state_changed_event_into_session(event)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/recorder/core.py", line 1129, in _process_state_changed_event_into_session
    elif metadata_id := states_meta_manager.get(entity_id, session, True):
                        ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/recorder/table_managers/states_meta.py", line 59, in get
    return self.get_many((entity_id,), session, from_recorder)[entity_id]
           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/recorder/table_managers/states_meta.py", line 109, in get_many
    for metadata_id, entity_id in execute_stmt_lambda_element(
                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        session, find_states_metadata_ids(missing_chunk)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ):
    ^
  File "/usr/src/homeassistant/homeassistant/components/recorder/util.py", line 211, in execute_stmt_lambda_element
    executed = session.execute(stmt)
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 2373, in execute
    return self._execute_internal(
           ~~~~~~~~~~~~~~~~~~~~~~^
        statement,
        ^^^^^^^^^^
    ...<4 lines>...
        _add_event=_add_event,
        ^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 2261, in _execute_internal
    conn = self._connection_for_bind(bind)
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 2113, in _connection_for_bind
    return trans._connection_for_bind(engine, execution_options)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 2, in _connection_for_bind
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
    ret_value = fn(self, *arg, **kw)
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 1191, in _connection_for_bind
    conn = bind.connect()
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 3295, in connect
    return self._connection_cls(self)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 146, in __init__
    Connection._handle_dbapi_exception_noconnection(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        err, dialect, engine
        ^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 2450, in _handle_dbapi_exception_noconnection
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 144, in __init__
    self._dbapi_connection = engine.raw_connection()
                             ~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/engine/base.py", line 3319, in raw_connection
    return self.pool.connect()
           ~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/pool/base.py", line 448, in connect
    return _ConnectionFairy._checkout(self)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/pool/base.py", line 1272, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/pool/base.py", line 717, in checkout
    with util.safe_reraise():
         ~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py", line 122, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/pool/base.py", line 715, in checkout
    dbapi_connection = rec.get_connection()
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/pool/base.py", line 866, in get_connection
    self.__connect()
    ~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/pool/base.py", line 900, in __connect
    with util.safe_reraise():
         ~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/util/langhelpers.py", line 122, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/pool/base.py", line 896, in __connect
    self.dbapi_connection = connection = pool._invoke_creator(self)
                                         ~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/engine/create.py", line 667, in connect
    return dialect.connect(*cargs_tup, **cparams)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/engine/default.py", line 630, in connect
    return self.loaded_dbapi.connect(*cargs, **cparams)  # type: ignore[no-any-return]  # NOQA: E501
           ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/site-packages/MySQLdb/__init__.py", line 121, in Connect
    return Connection(*args, **kwargs)
  File "/usr/local/lib/python3.14/site-packages/MySQLdb/connections.py", line 206, in __init__
    super().__init__(*args, **kwargs2)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
sqlalchemy.exc.OperationalError: (MySQLdb.OperationalError) (2002, "Can't connect to server on 'core-mariadb' (115)")
(Background on this error at: https://sqlalche.me/e/20/e3q8)

Seems to me that you have connection issues to debug, no software behavior.
Where is your mariadb location opposed to your ha ?

Looks like mysql to me…

connect to server on ‘core-mariadb’

Tells me mariadb , but then again , name doesn’t determine brands of course. :grimacing:

It is the official mariadb add-on. It works … mostly, what I don’t get is why is it “mostly.” Only Adaptive Lighting is having sql connection issues. Everybody else seems to be running fine.

Why am I getting transaction errors / issues when selecting state attributes for Adaptive Lighting? Is there a way to correct or reset the data just for this addon’s details?

Okay, this does appear to be larger issue. It appears to be dropping for others, too. There seems to be a lower level issue at play here. I can connect via phpMyAdmin add-on. Maria is running fine. Logs are not overloading with Maria connection issues: just sporadically. … hmm..

Its not just selecting state. Its also recorder commits failng and with that hanging rollbacks.. check add-on logs, increase to warn of even debug if needed