Adds logs for silent exceptions thrown in tasks.

This commit is contained in:
Ahmed Yasin Koculu
2022-08-18 22:57:43 +02:00
parent 0d421a259d
commit e262361237
4 changed files with 37 additions and 10 deletions
+12 -5
View File
@@ -166,14 +166,21 @@ public class MutableSegment<TKey, TValue> : IMutableSegment<TKey, TValue>
Task.Factory.StartNew(FreezeWriteAheadLog);
}
private void FreezeWriteAheadLog()
void FreezeWriteAheadLog()
{
while (WritesInProgress > 0)
try
{
Thread.Yield();
while (WritesInProgress > 0)
{
Thread.Yield();
}
WriteAheadLog.MarkFrozen();
BTree.SetTreeReadOnlyAndLockFree();
}
catch(Exception e)
{
Options.Logger.LogError(e);
}
WriteAheadLog.MarkFrozen();
BTree.SetTreeReadOnlyAndLockFree();
}
public void Drop()
@@ -254,7 +254,14 @@ public sealed class CompressedFileSystemWriteAheadLog<TKey, TValue> : IWriteAhea
{
Task.Run(() =>
{
FileStream.Dispose();
try
{
FileStream.Dispose();
}
catch(Exception e)
{
Logger.LogError(e);
}
});
}
+8 -1
View File
@@ -268,7 +268,14 @@ public sealed class FileSystemWriteAheadLog<TKey, TValue> : IWriteAheadLog<TKey,
{
Task.Run(() =>
{
Dispose();
try
{
Dispose();
}
catch (Exception e)
{
Logger.LogError(e);
}
});
}
@@ -310,9 +310,15 @@ public sealed class LazyFileSystemWriteAheadLog<TKey, TValue> : IWriteAheadLog<T
{
Task.Run(() =>
{
StopWriter(true);
FileStream.WriteTail();
FileStream.Dispose();
try
{
StopWriter(true);
FileStream.Dispose();
}
catch (Exception e)
{
Logger.LogError(e);
}
});
}