2016-04-07 11 views
1

Her seferinde bir arada komutları işlemeye çalışırken Cirqus'ta istisnalar alıyorum. Farklı komut türleri ile gerçekleşir, ancak her zaman bu özel toplam kök türüyle olur (bunun bir kayıt formu olduğunu varsayalım). Olayları hiçbir şekilde silmedik ve Etkinlikler tablosunu hiçbir şekilde çözmedik, bu yüzden sorunun neden başka ne olabileceğini merak ediyorum.Cirqus: "Sıra numarası 0 olan bir olay bekleniyordu." istisna

kesin (ama anonim) hata iletisi: Tried to apply event with sequence number 12 to aggregate root of type RegistrationForm with ID d863ac79-6bc0-480d-9d83-30b7696e7ea1 with current sequence number -1. Expected an event with sequence number 0.

Yani örnek bu agrega kimliği için veritabanı sorgulanan ve karşılığında 37 olayları var istisnasız en son örneğini hata ayıklamak için. Sonra dizileri kontrol ettim ve diziler doğru görünüyordu. Ayrıca global dizilerin en azından kronolojik olarak doğru olduğunu kontrol ettim. Sonra, "meta" sütununun kayıttan farklı bir global diziye sahip olup olmadığını kontrol ettim, ancak bu da Tamam'a işaret etti.

En çok kafa karıştırıcı bulduğum şey, diğer kayıt formlarının geçebileceğidir. Günlüklerimize baktığımda, tanımlayabileceğim bir model yoktur ve ayrıca zamanın sadece% 3-5'inde gerçekleşir.

Merak ediyorum ne merak ediyorum: bu sorun neden olabilir? Bunu nasıl ayıklayabilirim? Gelecekte nasıl olmasını engelleyebilirim?

Sistem özellikleri: Veri tabanı olarak Postgres 9.4 kullanarak ve Cirqus.Postgres paketinin v0.63.12'sini kullanarak, 0.41.12 (ve daha sonra da 0.66.4 üzerinde de test edilmiş) kullanılarak .net 4.5 altında çalışıyoruz.).

cevap

1

Sorunu buldum! Görünüşe göre PostgreSQL olay kaynağının SQL kodu bir Order By fıkrasında eksikti ve bazı durumlarda olaylarımın sırasına döndü. Bu çekme isteğini sorun için önerilen bir düzeltme olarak gönderdim: https://github.com/d60/Cirqus/pull/75

İlgili konular