AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datensatz Sperre MySQL

Ein Thema von KlausV · begonnen am 6. Dez 2022 · letzter Beitrag vom 9. Mai 2023
Antwort Antwort
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#1

AW: Datensatz Sperre MySQL

  Alt 6. Dez 2022, 15:53
Bist du sicher, dass die Meldung so lautet?
Fehlermeldung: "Datensatz kann nicht geändert werden, da der Datensatz von einem anderen Benutzer gesperrt wurde"
  Mit Zitat antworten Zitat
KlausV

Registriert seit: 29. Aug 2017
Ort: 68809 Neulußheim
88 Beiträge
 
Delphi 7 Professional
 
#2

AW: Datensatz Sperre MySQL

  Alt 6. Dez 2022, 16:10
Ja, sicher.
----------------------------------------------
Klaus
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: Datensatz Sperre MySQL

  Alt 6. Dez 2022, 21:10
1. diese Version von mySQL ist uralt. Warum quält man sich mit sowas?
2. Deinen Angaben kann man nicht entnehmen, welche storage engine verwendet wird. Diese dürfte aber wichtig sein, um das Sperrverhalten zu beurteilen.
3. Einfache (ältere oder schlechte) Systeme sperren nicht gezielt Datensätze, sondern ganze Blöcke. Es würde dazu passen, dass der Effekt nicht immer auftritt, nur wenn beide DS im gleichen Block liegen.
4. Der Code zum Speichern kann natürlich auch problematisch sein, ist aber nicht aufgeführt.
Gruß, Jo
  Mit Zitat antworten Zitat
KlausV

Registriert seit: 29. Aug 2017
Ort: 68809 Neulußheim
88 Beiträge
 
Delphi 7 Professional
 
#4

AW: Datensatz Sperre MySQL

  Alt 7. Dez 2022, 08:23
1. diese Version von mySQL ist uralt. Warum quält man sich mit sowas?
2. Deinen Angaben kann man nicht entnehmen, welche storage engine verwendet wird. Diese dürfte aber wichtig sein, um das Sperrverhalten zu beurteilen.
3. Einfache (ältere oder schlechte) Systeme sperren nicht gezielt Datensätze, sondern ganze Blöcke. Es würde dazu passen, dass der Effekt nicht immer auftritt, nur wenn beide DS im gleichen Block liegen.
4. Der Code zum Speichern kann natürlich auch problematisch sein, ist aber nicht aufgeführt.
Ja, das stimmt leider, die mysql ist uralt und danke für die Infos.

Ich vermute, dass es an diesem RequestLive = True liegt. Werde mir etwas anderes überlegen.
----------------------------------------------
Klaus
  Mit Zitat antworten Zitat
KlausV

Registriert seit: 29. Aug 2017
Ort: 68809 Neulußheim
88 Beiträge
 
Delphi 7 Professional
 
#5

AW: Datensatz Sperre MySQL

  Alt 3. Mai 2023, 11:33
Ich habe noch nicht die Lösung gepostet, sorry.
Es lag nicht an RequestLive = True sondern am UpdateMode. Dieser ist auf upWhereKeyOnly zu stellen, dann funktioniert es. Ich habe aber keine Ahnung, wieso es bis vor kurzen noch funktioniert hat. Vielleicht hat jemand noch eine passende Idee?
Was ich herausgefunden habe, der Mode upWhereKeyOnly geht mit Sperren anders um, d.h. benutzen zwei user den gleichen record, dann bekommt der eine User keine Meldung, dass der Satz gesperrt ist. Ergo, müsste es doch irgendwelche Sperren geben in den internas von mysql. Ein reboot bringt vermutlich auch nichts. Wo könnte ich noch schauen. Ein SHOW OPEN TABLES zeigt mir auch keine Sperren.
----------------------------------------------
Klaus

Geändert von KlausV ( 3. Mai 2023 um 11:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#6

AW: Datensatz Sperre MySQL

  Alt 4. Mai 2023, 09:34
Seltsam.

upWhereKeyOnly und seine Varianten steuern nur, wie die WHERE Klausel im Update-Statement erstellt wird. Einmal eben nur die PKs oder nur über die geänderten Feldwerte etc. Wenn das Update sich auf keinen Datessatz auswirkt wird ein Fehler geworfen.

Da ist die Fehlermeldung irreführend und müsste heißen: "Datensatz kann nicht geändert werden, da der Datensatz von einem anderen Benutzer GEÄNDERT wurde". Oder wie es auf Englisch heißt "Couldn't perform the edit because another user changed the record"

Und: Das ist alles Clientseitig + da sind keine Sperren vom Server im Spiel.
  Mit Zitat antworten Zitat
KlausV

Registriert seit: 29. Aug 2017
Ort: 68809 Neulußheim
88 Beiträge
 
Delphi 7 Professional
 
#7

AW: Datensatz Sperre MySQL

  Alt 8. Mai 2023, 07:31
Ich verstehe nur nicht, wieso sich Delphi oder mysql so verhält. Vor einem Monat konnten wir noch ganz normal die Daten ändern.
Hat jemand noch einen Tipp bezüglich mysql? Irgendwo muss sich ja etwas verändert haben. Den gleichen Satz, den ich mit dem Delphi Programm nicht ändern kann, kann ich unter SQL update direkt ändern.
Einen SHOW OPEN TABLES zeigt mir keine Sperren, ebenso kann ich nichts verdächtiges feststellen, wenn ich show engine innodb status starte.
Falls es sich nicht löst, dann werde ich den Mode auf upWhereKeyOnly ändern.
Ich befürchte halt nur, dass es nach und nach auch andere Tabellen betrifft.
Hier der Auszug aus show engine...


mysql> show engine innodb status;
+--------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Type | Name | Status |
+--------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| InnoDB | |
=====================================
230506 10:50:37 INNODB MONITOR OUTPUT
=====================================
Per second averages calculated from the last 25 seconds
-----------------
BACKGROUND THREAD
-----------------
srv_master_thread loops: 1 1_second, 1 sleeps, 0 10_second, 1 background, 1 flush
srv_master_thread log flush and writes: 1
----------
SEMAPHORES
----------
OS WAIT ARRAY INFO: reservation count 2, signal count 2
Mutex spin waits 2, rounds 2, OS waits 0
RW-shared spins 2, rounds 60, OS waits 2
RW-excl spins 0, rounds 0, OS waits 0
Spin rounds per wait: 1.00 mutex, 30.00 RW-shared, 0.00 RW-excl
------------
TRANSACTIONS
------------
Trx id counter 254F00
Purge done for trx's n < 2546E8 undo n < 0
History list length 2341
LIST OF TRANSACTIONS FOR EACH SESSION:
---TRANSACTION 0, not started
MySQL thread id 19, OS thread handle 0x7fb4a886b700, query id 3 localhost root
show engine innodb status
--------
FILE I/O
--------
I/O thread 0 state: waiting for completed aio requests (insert buffer thread)
I/O thread 1 state: waiting for completed aio requests (log thread)
I/O thread 2 state: waiting for completed aio requests (read thread)
I/O thread 3 state: waiting for completed aio requests (read thread)
I/O thread 4 state: waiting for completed aio requests (read thread)
I/O thread 5 state: waiting for completed aio requests (read thread)
I/O thread 6 state: waiting for completed aio requests (write thread)
I/O thread 7 state: waiting for completed aio requests (write thread)
I/O thread 8 state: waiting for completed aio requests (write thread)
I/O thread 9 state: waiting for completed aio requests (write thread)
Pending normal aio reads: 0 [0, 0, 0, 0] , aio writes: 0 [0, 0, 0, 0] ,
ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0
Pending flushes (fsync) log: 0; buffer pool: 0
454 OS file reads, 3 OS file writes, 3 OS fsyncs
0.00 reads/s, 0 avg bytes/read, 0.00 writes/s, 0.00 fsyncs/s
-------------------------------------
INSERT BUFFER AND ADAPTIVE HASH INDEX
-------------------------------------
Ibuf: size 1, free list len 0, seg size 2, 0 merges
merged operations:
insert 0, delete mark 0, delete 0
discarded operations:
insert 0, delete mark 0, delete 0
Hash table size 276671, node heap has 2 buffer(s)
0.00 hash searches/s, 0.00 non-hash searches/s
---
LOG
---
Log sequence number 355538308
Log flushed up to 355538308
Last checkpoint at 355538308
0 pending log writes, 0 pending chkp writes
8 log i/o's done, 0.00 log i/o's/second
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 137363456; in additional pool allocated 0
Dictionary memory allocated 52320
Buffer pool size 8191
Free buffers 7746
Database pages 443
Old database pages 0
Modified db pages 0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 443, created 0, written 0
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
No buffer pool page gets since the last printout
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 443, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
--------------
ROW OPERATIONS
--------------
0 queries inside InnoDB, 0 queries in queue
1 read views open inside InnoDB
Main thread process no. 2883, id 140413891512064, state: waiting for server activity
Number of rows inserted 0, updated 0, deleted 0, read 0
0.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 0.00 reads/s
----------------------------
END OF INNODB MONITOR OUTPUT
============================
----------------------------------------------
Klaus

Geändert von KlausV ( 8. Mai 2023 um 07:33 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz