Problem mit dem Mysql Server

Problem mit dem Mysql Server

am 23.01.2008 17:14:33 von Stefan Dreyer

Hallo,

ich hatte heute mit einem MySQL-Server 5.0.51 ein absolut nerküwrdiges
Problem. Zunächst sah alles so aus, als würde der Server tadellos
funktionieren. Aber irgendwann, sind die Inserts im Nirwhana gelandet.
Ich habe zwar fleißig eine mysql-insert-id zurückgeliefert bekommen,
aber die Einträge sind nie in der Datenbank gelandet. Das ganze ist mir
ein riesengroßes Rätsel.
Die Maschine ist ein Dual Opteron System mit SuSE 10.1 mit Kernel
2.6.19.2-default auf 64-bit-Basis. Ich meine, dass der Mysql-Server.

Die Compile-Settings sind:

../configure --with-ndbcluster --with-big-tables --prefix=/usr
--localstatedir=/var/lib/mysql --sysconfdir=/etc/mysql

Weiß jemand, was da los ist?

Re: Problem mit dem Mysql Server

am 23.01.2008 17:42:44 von Andreas Kretschmer

Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)

Re: Problem mit dem Mysql Server

am 23.01.2008 17:48:09 von Harald Stowasser

Stefan Dreyer schrieb:
> Hallo,
>
> ich hatte heute mit einem MySQL-Server 5.0.51 ein absolut nerküwrdiges
> Problem. Zunächst sah alles so aus, als würde der Server tadellos
> funktionieren. Aber irgendwann, sind die Inserts im Nirwhana gelandet.
> Ich habe zwar fleißig eine mysql-insert-id zurückgeliefert bekommen,
> aber die Einträge sind nie in der Datenbank gelandet. Das ganze ist mir
> ein riesengroßes Rätsel.
>
> Weiß jemand, was da los ist?

Commit vergessen?

Re: Problem mit dem Mysql Server

am 23.01.2008 17:51:13 von Daniel Fischer

Stefan Dreyer!

> Weiß jemand, was da los ist?


Nie committed?
Platte voll?
Filesystem auf readonly geschaltet, weil Platte am Sterben?


Sprichst du von Cluster (wg. dem --with-ndbcluster)? Hast du ein paar mehr
Details? Hast du Logfiles?


Gruß
Daniel

Re: Problem mit dem Mysql Server

am 23.01.2008 21:32:02 von Stefan Dreyer

Harald Stowasser wrote:
> Stefan Dreyer schrieb:
>=20
>>Hallo,
>>
>>ich hatte heute mit einem MySQL-Server 5.0.51 ein absolut nerküwrdige=
s
>>Problem. Zunächst sah alles so aus, als würde der Server tadellos
>>funktionieren. Aber irgendwann, sind die Inserts im Nirwhana gelandet.
>>Ich habe zwar fleißig eine mysql-insert-id zurückgeliefert bekommen=
,
>>aber die Einträge sind nie in der Datenbank gelandet. Das ganze ist m=
ir
>>ein riesengroßes Rätsel.
>>
>>Weiß jemand, was da los ist?
>=20
>=20
> Commit vergessen?

Das wäre ja einfach. Bei der Geschichte läuft das mit autocommit. Auf=
=20
einem anderen läuft die Applikation ohne Änderungen ohne Probleme.=20
Sowohl unter mysql 4.0 als auch unter 5.0.

Re: Problem mit dem Mysql Server

am 23.01.2008 21:36:33 von Stefan Dreyer

Andreas Kretschmer wrote:
> begin Stefan Dreyer wrote:
>=20
>>Hallo,
>=20
>=20
>>ich hatte heute mit einem MySQL-Server 5.0.51 ein absolut nerküwrdige=
s=20
>>Problem. Zunächst sah alles so aus, als würde der Server tadellos=20
>>funktionieren. Aber irgendwann, sind die Inserts im Nirwhana gelandet.
>>Ich habe zwar fleißig eine mysql-insert-id zurückgeliefert bekommen=
,
>>aber die Einträge sind nie in der Datenbank gelandet. Das ganze ist m=
ir=20
>>ein riesengroßes Rätsel.
>=20
>=20
>>Weiß jemand, was da los ist?
>=20
>=20
> Als storage-engine blackhole verwendet? Ist aber wenigstens schnell.

Das wäre ja wenigstens deterministisch gewesen.

Re: Problem mit dem Mysql Server

am 23.01.2008 21:38:49 von Stefan Dreyer

Daniel Fischer wrote:
> Stefan Dreyer!
>=20
>=20
>>Weiß jemand, was da los ist?
>=20
>=20
>
> Nie committed?
autocommit in diesem Fall.
> Platte voll?
Keine Spur
> Filesystem auf readonly geschaltet, weil Platte am Sterben?
Nein
>

>=20
> Sprichst du von Cluster (wg. dem --with-ndbcluster)?
Nein, das hatte ich nur mitkompiliert, um damit mal experimentieren zu=20
können.

> Hast du ein paar mehr Details?
Tabellen in der DB sind hauptsächlich InnoDB, teilweise MyISAM.
Also, zunächst sah alles sehr gut aus. Will heißen, einige=20
Schreibzugriff funktionierten. Irgendwann sind dann aber fast
alles an Schreibzugriffen in Luft aufgelöst.

> Hast du Logfiles?
Da steht nichts drin, was Aufschluss geben könnte. Ich habe jetzt no=
ch=20
mal etwas geschaut, und vermute fast, dass irgendwelche älteren=20
shared-libs geladen worden sein könnten. Das könnte eine Erkl=C3=
=A4rung sein.

Re: Problem mit dem Mysql Server

am 23.01.2008 22:12:57 von Axel Schwenke

Stefan Dreyer wrote:
>=20
> ich hatte heute mit einem MySQL-Server 5.0.51 ein absolut nerküwrdige=
s
> Problem. Zunächst sah alles so aus, als würde der Server tadellos
> funktionieren. Aber irgendwann, sind die Inserts im Nirwhana gelandet.
> Ich habe zwar fleißig eine mysql-insert-id zurückgeliefert bekommen=
,
> aber die Einträge sind nie in der Datenbank gelandet. Das ganze ist m=
ir
> ein riesengroßes Rätsel.
..

> Weiß jemand, was da los ist?

Nein. Und mangels Details wird das auch niemand je wissen.

Was ich aber positiv weiß: 5.0.51 und später wird von einigen zig-tau=
send
Leuten ohne derartige Probleme eingesetzt.


XL
--=20
In der klassischen Kryptographie verschlüsselt Alice Nachrichten an Bob=
um
sie vor Carol zu schützen. Bei DRM sind Bob und Carol die gleiche Perso=
n.

Re: Problem mit dem Mysql Server

am 24.01.2008 07:11:24 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: Problem mit dem Mysql Server

am 24.01.2008 10:22:13 von Christian Schmelzer

Stefan Dreyer wrote:
> Daniel Fischer wrote:
>> Stefan Dreyer!
>>
>>
>>> Weiß jemand, was da los ist?
>>
>>
>>
>> Nie committed?
> autocommit in diesem Fall.
>> Platte voll?
> Keine Spur
>> Filesystem auf readonly geschaltet, weil Platte am Sterben?
> Nein
>>

>>
>> Sprichst du von Cluster (wg. dem --with-ndbcluster)?
> Nein, das hatte ich nur mitkompiliert, um damit mal experimentieren zu
> können.
>
>> Hast du ein paar mehr Details?
> Tabellen in der DB sind hauptsächlich InnoDB, teilweise MyISAM.
> Also, zunächst sah alles sehr gut aus. Will heißen, einige
> Schreibzugriff funktionierten. Irgendwann sind dann aber fast
> alles an Schreibzugriffen in Luft aufgelöst.
>
> > Hast du Logfiles?
> Da steht nichts drin, was Aufschluss geben könnte. Ich habe jetzt noch
> mal etwas geschaut, und vermute fast, dass irgendwelche älteren
> shared-libs geladen worden sein könnten. Das könnte eine Erklärung
> sein.

Und die Hardware ist 100%ig vertrauenswürdig? D.h. es kann z.B. kein
defekter Raid Controller mit eigenem Cache sein, der aber nicht wirklich die
Daten aufgrund eines Fehlers auf die Platte schreibt.

Christian

Re: Problem mit dem Mysql Server

am 24.01.2008 11:49:47 von Daniel Fischer

Stefan Dreyer!

>> Hast du ein paar mehr Details?
> Tabellen in der DB sind hauptsächlich InnoDB, teilweise MyISAM.
> Also, zunächst sah alles sehr gut aus. Will heißen, einige
> Schreibzugriff funktionierten. Irgendwann sind dann aber fast
> alles an Schreibzugriffen in Luft aufgelöst.

Das ist irgendwie jetzt nicht ganz das, was ich mir unter "Details"
vorgestellt hatte.

> > Hast du Logfiles?
> Da steht nichts drin, was Aufschluss geben könnte. Ich habe jetzt noch
> mal etwas geschaut, und vermute fast, dass irgendwelche älteren
> shared-libs geladen worden sein könnten. Das könnte eine Erklärung sein.

Ebenso.

Willst du hier eigentlich Hilfe, oder willst du bloß, dass wir ein wenig
in der Luft rumraten?


Gruß
Daniel

Re: Problem mit dem Mysql Server

am 24.01.2008 13:27:20 von Stefan Dreyer

Axel Schwenke wrote:
> Stefan Dreyer wrote:
>
>>ich hatte heute mit einem MySQL-Server 5.0.51 ein absolut nerküwrdiges
>>Problem. Zunächst sah alles so aus, als würde der Server tadellos
>>funktionieren. Aber irgendwann, sind die Inserts im Nirwhana gelandet.
>>Ich habe zwar fleißig eine mysql-insert-id zurückgeliefert bekommen,
>>aber die Einträge sind nie in der Datenbank gelandet. Das ganze ist mir
>>ein riesengroßes Rätsel.
>
> ...
>
>
>>Weiß jemand, was da los ist?
>
>
> Nein. Und mangels Details wird das auch niemand je wissen.

Wenn ich mehr Details hätte, würde ich die ja liefern. Aber es war
wiklich ein seltsames Verhalten. Ich habe ja sogar insert-IDs geliefert
bekommen, aber nur manches ist in der DB gelandet. Wenn Du mir sagst,
welche Details du gerne hättest, würde ich die ja liefern.
>
> Was ich aber positiv weiß: 5.0.51 und später wird von einigen zig-tausend
> Leuten ohne derartige Probleme eingesetzt.

Das bringt mich auch nicht weiter.

Re: Problem mit dem Mysql Server

am 24.01.2008 13:42:25 von Stefan Dreyer

Daniel Fischer wrote:
> Stefan Dreyer!
>
>
>>>Hast du ein paar mehr Details?
>>
>>Tabellen in der DB sind hauptsächlich InnoDB, teilweise MyISAM.
>>Also, zunächst sah alles sehr gut aus. Will heißen, einige
>>Schreibzugriff funktionierten. Irgendwann sind dann aber fast
>>alles an Schreibzugriffen in Luft aufgelöst.
>
>
> Das ist irgendwie jetzt nicht ganz das, was ich mir unter "Details"
> vorgestellt hatte.

Was hast Du Dir denn vorgestellt? Ich liefer ja gerne alles, wenn Du
sagst, was.

>
>
>> > Hast du Logfiles?
>>Da steht nichts drin, was Aufschluss geben könnte. Ich habe jetzt noch
>>mal etwas geschaut, und vermute fast, dass irgendwelche älteren
>>shared-libs geladen worden sein könnten. Das könnte eine Erklärung sein.
>
>
> Ebenso.
>
> Willst du hier eigentlich Hilfe, oder willst du bloß, dass wir ein wenig
> in der Luft rumraten?

Wenn Du mir sagst, welche Logfiles, oder wie ich die erzeugen kann, dann
liefere ich Dir die. Zur Zeit habe ich ins mysqld.log geschaut und dort
steht nur drin, wann der Server gestartet wurde. Das hilft also nicht
und auch im binlog steht nur das drin, was dann auf Platte gelandet ist.
Nichts von den übrigen Sachen, die nicht in der DB gelandet sind.
Es ist auch kein Platten- oder RAID-Schreibcache involviert, der falsch
laufen könnte. Ich habe mir ja auch schon meine Gedanken gemacht, aber
nichts erhellendes finden können.

Re: Problem mit dem Mysql Server

am 24.01.2008 14:10:46 von Axel Schwenke

Stefan Dreyer wrote:
> Daniel Fischer wrote:

>>>> Hast du ein paar mehr Details?
>>>
>>> Tabellen in der DB sind hauptsächlich InnoDB, teilweise MyISAM.
>>> Also, zunächst sah alles sehr gut aus. Will heißen, einige
>>> Schreibzugriff funktionierten. Irgendwann sind dann aber fast
>>> alles an Schreibzugriffen in Luft aufgelöst.
>>
>> Das ist irgendwie jetzt nicht ganz das, was ich mir unter "Details"
>> vorgestellt hatte.
>=20
> Was hast Du Dir denn vorgestellt? Ich liefer ja gerne alles, wenn Du
> sagst, was.

Na z.B. ob die ausgeführten und die nicht ausgeführten inserts =
vom gleichen
Code in deinem Program (ist da überhaupt eins?) stammen.

>>> > Hast du Logfiles?
>>> Da steht nichts drin, was Aufschluss geben könnte. Ich habe jetz=
t
>>> noch mal etwas geschaut, und vermute fast, dass irgendwelche ält=
eren
>>> shared-libs geladen worden sein könnten. Das könnte eine Er=
klärung sein.

Ist es nicht.

>> Willst du hier eigentlich Hilfe, oder willst du bloß, dass wir ei=
n wenig
>> in der Luft rumraten?
>=20
> Wenn Du mir sagst, welche Logfiles, oder wie ich die erzeugen kann, dan=
n
> liefere ich Dir die. Zur Zeit habe ich ins mysqld.log geschaut und dort=

> steht nur drin, wann der Server gestartet wurde. Das hilft also nicht
> und auch im binlog steht nur das drin, was dann auf Platte gelandet ist=


Wenns nicht im Binlog steht, ist es nicht passiert. Also entweder wurden =
die
INSERTs gar nicht in *dieses* MySQL gemacht, sondern in ein anderes. Oder=
es
wurde wirklich schlicht das COMMIT vergessen. Das würde auch damit z=
usammen
passen, daß zwar eine INSERT-Id generiert wurde, die Daten nachher a=
ber
nicht da waren.

Vielleicht hat ja irgendein schrappeliges Abstractionlayer SET AUTOCOMMIT=
=3D0
injiziert und das implizite ROLLBACK beim Disconnect hat die Daten wieder=

ins Nirvana geschickt. Aber wie Daniel schon sagte: ohne Details, was
*genau* du da getrieben hast, können wir nur spekulieren.


XL
--=20
In der klassischen Kryptographie verschlüsselt Alice Nachrichten an =
Bob um
sie vor Carol zu schützen. Bei DRM sind Bob und Carol die gleiche Pe=
rson.

Re: Problem mit dem Mysql Server

am 24.01.2008 15:42:11 von Stefan Dreyer

Axel Schwenke wrote:
> Stefan Dreyer wrote:
>
>>Daniel Fischer wrote:
>
>
>>>>>Hast du ein paar mehr Details?
>>>>
>>>>Tabellen in der DB sind hauptsächlich InnoDB, teilweise MyISAM.
>>>>Also, zunächst sah alles sehr gut aus. Will heißen, einige
>>>>Schreibzugriff funktionierten. Irgendwann sind dann aber fast
>>>>alles an Schreibzugriffen in Luft aufgelöst.
>>>
>>>Das ist irgendwie jetzt nicht ganz das, was ich mir unter "Details"
>>>vorgestellt hatte.
>>
>>Was hast Du Dir denn vorgestellt? Ich liefer ja gerne alles, wenn Du
>>sagst, was.
>
>
> Na z.B. ob die ausgeführten und die nicht ausgeführten inserts vom gleichen
> Code in deinem Program (ist da überhaupt eins?) stammen.
Ja, das tuen sie. Wie bereits gesagt. Der gleiche Code läuft auf anderen
4.0 und 5.0-Servern ohne Probleme. Ich habe ja dann vom gleichen
Webserver aus auf eine andere Datenbank umgestellt. Man muss dazu sagen,
dass die Amok-Datenbank über LAN angesteuert war, aber das habe ich in
einer anderen Installation sogar über VPN am laufen.

>
>
>>>>>Hast du Logfiles?
>>>>
>>>>Da steht nichts drin, was Aufschluss geben könnte. Ich habe jetzt
>>>>noch mal etwas geschaut, und vermute fast, dass irgendwelche älteren
>>>>shared-libs geladen worden sein könnten. Das könnte eine Erklärung sein.
>
>
> Ist es nicht.
OK.
>
>
>>>Willst du hier eigentlich Hilfe, oder willst du bloß, dass wir ein wenig
>>>in der Luft rumraten?
>>
>>Wenn Du mir sagst, welche Logfiles, oder wie ich die erzeugen kann, dann
>>liefere ich Dir die. Zur Zeit habe ich ins mysqld.log geschaut und dort
>>steht nur drin, wann der Server gestartet wurde. Das hilft also nicht
>>und auch im binlog steht nur das drin, was dann auf Platte gelandet ist.
>
>
> Wenns nicht im Binlog steht, ist es nicht passiert. Also entweder wurden die
> INSERTs gar nicht in *dieses* MySQL gemacht, sondern in ein anderes. Oder es
> wurde wirklich schlicht das COMMIT vergessen. Das würde auch damit zusammen
> passen, daß zwar eine INSERT-Id generiert wurde, die Daten nachher aber
> nicht da waren.
>
> Vielleicht hat ja irgendein schrappeliges Abstractionlayer SET AUTOCOMMIT=0
> injiziert und das implizite ROLLBACK beim Disconnect hat die Daten wieder
> ins Nirvana geschickt. Aber wie Daniel schon sagte: ohne Details, was
> *genau* du da getrieben hast, können wir nur spekulieren.

Ich werde das noch mal testweise mitsniffen. Was mich aber irritiert,
ist dass bei fehlendem Commit ja eigentlich keines der Inserts hätte
gemacht werden dürfen. Aber es haben ja einige wenige funktioniert.
Diese undeterministische Verhalten ist es ja, was mich irritiert.