Aracılığıyla paylaş


JournaledGrain tanılaması

Bağlantı hatalarını izleme

Tasarım gereği, günlük tutarlılığı sağlayıcıları bağlantı hataları (hem depolama bağlantıları hem de kümeler arasındaki bağlantılar dahil) altında dayanıklıdır. Ancak uygulamaların bu tür sorunları izlemesi ve ciddi olması durumunda bunları operatörün dikkatine getirmesi gerektiğinden, yalnızca tolerans hataları yeterli değildir.

JournaledGrain alt sınıfları, bağlantı hataları gözlemlendiğinde ve bu hatalar giderildiğinde bildirim almak için aşağıdaki yöntemleri geçersiz kılabilir:

protected override void OnConnectionIssue(
    ConnectionIssue issue)
{
    /// handle the observed error described by issue
}

protected override void OnConnectionIssueResolved(
    ConnectionIssue issue)
{
    /// handle the resolution of a previously reported issue
}

ConnectionIssue soyut bir sınıftır ve bağlantının son başarılı olduğu zamandan bu yana kaç kez gözlemlendiği de dahil olmak üzere sorunu açıklayan birkaç ortak alan içerir. Gerçek bağlantı sorunu türü alt sınıflar tarafından tanımlanır. Bağlan ion sorunları veya NotificationFailedgibi PrimaryOperationFailed türlere ayrılır ve bazen kategoriyi daha da daraltan ek anahtarlar (örneğinRemoteCluster) vardır.

Aynı sorun kategorisi birkaç kez gerçekleşirse (örneğin, aynı RemoteClusterhedefi almaya NotificationFailed devam ediyoruz), her seferinde tarafından OnConnectionIssue bildirilir. Bu sorun kategorisi çözümlendikten sonra (örneğin, sonunda buna RemoteClusterbildirim göndermeyi başarıyoruz), ardından OnConnectionIssueResolved tarafından son bildirilen OnConnectionIssuenesneyle issue bir kez çağrılır. Bağlan ion sorunları ve bunların bağımsız kategorilere yönelik çözümleri bağımsız olarak bildirilir.

Basit istatistikler

Şu anda temel istatistikler için basit destek sunuyoruz (gelecekte, büyük olasılıkla bunu daha standart bir telemetri mekanizmasıyla değiştireceğiz). JournaledGrain için istatistik koleksiyonu şu çağrılarak etkinleştirilebilir veya devre dışı bırakılabilir:

void EnableStatsCollection()
void DisableStatsCollection()

İstatistikler çağrılarak alınabilir:

LogConsistencyStatistics GetStats()