Also in Sydneys Thread gibts "nur" noch 4 Mrd. *g* Da hat wohl jemand kräftig eingekauft. Mal sehen bis wann die Lose leer sind und was sich dann auf dem Markt tut.
 
Also nochmal eine Sache zum angeblichen Losebug!


Eine MySQL Datenbank kann unmöglich durch überlastung einen ID präfizierte Datenbank doppelt beschreiben. Der Grund liegt darin, dass eine Sloche Tabelle immer gelockt wird. Es ist unmöglich einen Doppeldatensatz zu bekommen. Einzige Möglichkeit die es gibt, den Datensatz 2 Mal in Auftrag geben.

Es gibt hunderte Stellungnahmen zu diesem Thema im Web. Einfach googeln. Das heist auf gut deutsch, es gibt keinen Losebug!

Für die, die technisch estwas weniger Verständnis haben.

Wird in eine Datenbank geschrieben, wird in dieser Zeit der Datensatz auf Lock gestellt. Das heist, ein weiterer Prozess der an diesen Datensatz ran will, muss so lange warten bis er wieder unlock ist.

Jetzt kommen die Beweise dafür:
Quelle MySQL:
Locks und Locking

Wie wir in den vergangenen Ausgaben dieser Serie auch gesehen haben, kann es Datenbankoperationen geben, die vergleichsweise lange dauern. Es kann sein, daß eine solche Operation während dieser Zeit ein LOCK auf einer Tabelle erzeugt. MyISAM kennt zwei Arten von Locks und sie gelten immer für die gesamte Tabelle - MyISAM kann nicht Bereiche einer Tabelle oder gar einzelne Zeilen locken.

Ein SHARED LOCK oder READ LOCK erlaubt dem Lockinhaber den Lesezugriff auf eine Tabelle, und erlaubt gleichzeitig weitere Lesezugriffe durch andere Threads. Schreibende Threads werden jedoch ausgesperrt und müssen warten. Ein EXCLUSIVE LOCK oder WRITE LOCK erlaubt dem Lockinhaber und nur diesem den Schreibzugriff auf die Tabelle. Alle anderen Threads, egal ob sie lesen oder schreiben wollen, müssen warten.

Was heist das?

Wenn ich User B 100 Lose sende, findet ein LOCK statt. In dieser Zeit wird die gesamte Tabelle für das Schreiben (Schreiben = Updaten und Hinzufügen) gesperrt. Das heist nur noch lesen ist maximal erlaubt. Sind mir die 100 Lose abgezogen, ist die Tabelle wieder unlock = Frei. Úser Nummer B wérden diese 100 Lose gutegeschrieben. Die Tabelle steht auf LOCK.

Dahinter es ist unmöglich, dass einen SQL Datenbank Lose generiert.

Es gibt dazu hunderte Diskussionen im Web. Es gibt kein Losebug!

Denn eine DB wir immer ein Prozess ausführen. Die anderen werden warten bis diese Prozess durch ist. Lese Prozesse können hunderte gelichzeitig durchgeführt werden. Bei Schreibprozessen findet ein Lock statt. Somit kann niemals ein Befehl doppelt ausgeführt werden.

Die Ausnahme: Man gibt den Befehl absichtlich 2 Mal in Auftrag. Von alleine kann das nie passieren.
 
Zuletzt bearbeitet:
Naja man kann sagen, wenn ein Bug, dann nicht von der MySQL Datenbank her! Wenn ein Bug, dann ein Script Bug im PHP Code!
 
Also in Sydneys Thread gibts "nur" noch 4 Mrd. *g* Da hat wohl jemand kräftig eingekauft. Mal sehen bis wann die Lose leer sind und was sich dann auf dem Markt tut.

bei dem preis muss man ja auch kaufen :)
werd meine lose imme rnoch für 75 cent die mio los und da kann man gutes geschäft machen. ;)
 
da hat er gesagt aber nein weil er eine SMS bekommt wenn lose generiert worden sind und er nachgeschaut hat und die lose nirgends finden konnte.


:ugly: :ugly: :mrgreen: :LOL: ;)

Therie:
Demnach können, Lose nur verschwinden. Denn Jeder Anfrage in einer Datenbank bekommt eine so genannte ID. Nach dieser ID werden die Befehle ausgeführt. Hier zeige ich euch mal ein Screen, damit man sich das vorstellen kann:



Mann sieht im Screen wie die Befehle (Prozesse) aufgeführt werden.
Einer der Befehle muss dafür verantwortlich sein, dass Lose einem User abgezogen werden. Der Datensatz würde gelockt werden. Die Lose werden abgezogen, der Datensatz würde wieder freigegeben werden.

So Schritt 1 ist durchgeführt. Kein Prozess konnte dazwischenfummeln. Zu100% garantiert nicht!

nun muss für den Transfer noch einem anderen User die Lose gutgeschrieben werden. Sollte nun die Datenbank zusammenbrechen, so sind Lose verschwunden. Aber keine dazugekommen! Ich hoffe versteht jeder soweit?

Nun werden dem 2ten User die Lose gutgeschrieben. Dazu wird der Datensatz gesperrt, die Anzahl erhöht, und wieder freigegeben.

Lose können so nie entstehen.

Es muss sie also einer in Auftrag geben!
 
Och geht doch. Momentan scheint der Preisverfall etwas gestoppt zu sein. Ich denke der Preis bleibt bis Weihnachten bei 50-60 Cent je Mio. Nach Weihnachten gehts dann hoch und im Januar auf 1€ je Mio. ;)

EDIT: Und da kanns dann von mir aus stabil bleiben. *g*
 
Lose können so nie entstehen.

Es muss sie also einer in Auftrag geben!


verschwinden hin oder her wenn sowas "normales" passiert kann man die "fehltransaktionen" sicher problemlos rausfiltern. aber lukas meinte doch dass man das nicht nachvollziehne kann hinterher...!

UND: es hat sich weder jemand beschwert, dass lose abgezogen werden, noch hat jemand mitbekommen dass er lose doppelt, dreifach oder was weiß ich wie oft erhalten hat. Mal ehrlich: das würde doch jeder von euch melden (okay okay außer bei 1 Milliarde, aber das würde Lukas dann sicher "sehen" können?)
 
Ich denke eher die werden (angeblich) auf anderen Seiten verspielt, so das man die ja nciht wieder holen kann...

Weil wenn die einfach verkauft werden, kann man die einfach zurück verfolgen.

P.S. wer ein Safari/Schatz oder ähnlichen Slot nutzt sollte den Entbugen!!!!!!!