-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Schreibzugriffe verhungern
PostPosted: Mon Apr 07, 2008 8:12 am 
Newbie

Joined: Mon Apr 07, 2008 7:14 am
Posts: 1
Hallo,

weiss jemand eine Lösung für folgendes Problem ?

Ich habe eine Tabelle, mit sehr vielen Lesezugriffen und wenige-mittlere Anzahl Schreibzugriffe. Unter Hochlast bekommen die Schreibzugriffe einen Timeout-Fehler.

Nachdem ich die IsolationLevel- und LockMode-Einstellungen überprüft habe, habe ich folgendes festgestellt:

* die Transaktionen habe default-mäßig immer IsolationLevel. ReadCommitted, was ich auch eine vernünftige Einstellung finde

* der LockMode der Session wird sobald ein "select" in irgendeiner Form auftaucht automatisch auf "Read" Lock gesetzt.

Der "Read"-Lock hat den Nachteil, dass die jeweiligen Elemente für das Ändern gesperrt sind und zwar solange bis keine Leseanfrage mehr kommt, die Lesesperre weggenommen wird und dann geschrieben werden kann.

Jetzt ist es aber so, dass bei den sehr vielen Lesezugriffen der Zustand "keine Leseanfrage mehr vorhanden" nicht auftritt, die Sperre nicht weggenommen wird und die Schreibzugriffe ewig warten, bis sie von der Datenbank mit Timeout-Fehler abgebrochen werden.

Jetzt habe ich versucht, der Query bzw. der Session ein LockMode.None mitzugeben, damit die Lesesperre nicht gesetzt wird und das Lesen nur über den IsolationLevel gehandhabt wird. Leider ignoriert Hibernate diese Einstellung und setzt den LockMode automatisch auf "Read" und mein Problem bleibt bestehen.

Weiss jemand, wie ich Hibernate bei Abfragen den LockMode.Read abgewöhnen kann ? Oder verstehe ich grundsätzlich was falsch und muss die Sache ganz anders angehen ?

Für eure Hilfe wäre ich dankbar.

Nicole


Top
 Profile  
 
 Post subject:
PostPosted: Tue Apr 08, 2008 7:40 am 
Expert
Expert

Joined: Thu Jul 05, 2007 9:38 am
Posts: 287
Ich bin mir nicht sicher, aber ich vermute, dass dieses Problem zu einen DB Anbieter spezifischen Anteil hat. Von daher: Welche DB nutzt du?

_________________
Please rate useful posts.


Schauderhaft: Softwaredevelopment, Projectmanagement, Qualitymanagement and all things "schauderhaft"


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.