- π¨π¦Canada sagesolutions
Index also needs to be added when using
READ-COMMITTED
as the database transaction isolation level.Currently, there is an error on the status page due to this module.
For this to work correctly, all tables must have a primary key. The following table(s) do not have a primary key: honeypot_user. See the setting MySQL transaction isolation level page for more information.
Currently running on Drupal 10.1.1
- πΊπΈUnited States tr Cascadia
The following table(s) do not have a primary key: honeypot_user.
That is a different issue, and that was fixed in -dev six weeks ago.
- Status changed to Needs review
over 1 year ago 11:39am 29 August 2023 - last update
over 1 year ago 29 pass - π§πͺBelgium mr.baileys π§πͺ (Ghent)
Adding an additional index on the hostname-column does make sense. I ran a test with 100k records in the {honeypot_user}-table: the query executed in
\Drupal\honeypot\HoneypotService::getTimeLimit()
becomes 35x faster (from 0.073 seconds to 0.002 seconds) for anonymous users.In our case, the slave replication showed "The slave is applying a ROW event on behalf of a DELETE statement on table honeypot_user and is currently taking a considerable amount of time (61 seconds)."
The only condition used when deleting rows in Honeypot is "timestamp < _expire_limit_", so adding an index on the hostname column will not fix that issue (maintaining an additional index might even make it worse.)
- last update
over 1 year ago 29 pass - πΊπΈUnited States tr Cascadia
Here's a re-roll that adds a test fixture and moves the test case into its own class. Like core, we really should be making one test class per update hook, rather than trying to lump all the update tests into one class and one fixture.
- last update
over 1 year ago 29 pass - Status changed to Fixed
over 1 year ago 5:19pm 8 October 2023 Automatically closed - issue fixed for 2 weeks with no activity.