我們有一個使用collective.tin,collective.lead和SqlAlchemy將MySql數據庫與Plone集成的混合Web應用程序(最後一次升級到Plone 4.0)。Plone + SqlAlchemy + MySql中的未提交事務
好吧,我知道collective.tin從未發佈過,並且collective.lead已被取代;然而,所有的事情幾年以來都幾乎完美地發揮作用。
最近我們經歷了一個非常奇怪的行爲,並尋求幫助,以瞭解它。
其中,我們有2個Plone內容類型,比如A和B,通過子類化collective.tin和相應的innodb MySql表定義; B的行具有朝向外部的鍵。
在15-20分鐘的時間跨度內,2個不同的用戶創建了3個A對象和一些10-20B對象,這些對象未提交給MySql但由Plone建立索引;我從linux shell中用MySql客戶端執行的查詢無法找到那些A行(沒有查找B行);然而,這兩個用戶以及其他用戶通過Web應用程序(上述組件堆棧)執行的查詢有時仍在查找並正確顯示這些3A對象中的一些對象。
只有在我重新啓動Zope實例後,纔有可能從Plone Web界面恢復正常活動; 3 MySql數據庫中仍缺少A行和許多B行,但自動增量計數器顯示了預期的增量;我不得不從Plone索引中爲A對象移除3個無效的大腦(不用擔心B對象)。
對可能的原因和如何調查問題的任何建議?
的什麼版本'sqlalchemy'被使用? –
sqlalchemy 0.4.8;因爲我使用了collective.tin 0.3(svn /未發佈),我記得我無法使用更新版本的sqlalchemy。 – gtoffoli