Now guarding put calls with a transaction flush before and after.
This solves #1243.
This commit is contained in:
@@ -594,7 +594,11 @@ namespace Duplicati.Library.Main.Operation
|
||||
m_database.UpdateRemoteVolume(m_blockvolume.RemoteFilename, RemoteVolumeState.Uploading, -1, null, m_transaction);
|
||||
m_blockvolume.Close();
|
||||
UpdateIndexVolume();
|
||||
|
||||
|
||||
using(new Logging.Timer("CommitUpdateRemoteVolume"))
|
||||
m_transaction.Commit();
|
||||
m_transaction = m_database.BeginTransaction();
|
||||
|
||||
m_backend.Put(m_blockvolume, m_indexvolume);
|
||||
|
||||
using(new Logging.Timer("CommitUpdateRemoteVolume"))
|
||||
@@ -641,6 +645,11 @@ namespace Duplicati.Library.Main.Operation
|
||||
else
|
||||
{
|
||||
m_database.UpdateRemoteVolume(m_filesetvolume.RemoteFilename, RemoteVolumeState.Uploading, -1, null, m_transaction);
|
||||
|
||||
using(new Logging.Timer("CommitUpdateRemoteVolume"))
|
||||
m_transaction.Commit();
|
||||
m_transaction = m_database.BeginTransaction();
|
||||
|
||||
m_backend.Put(m_filesetvolume);
|
||||
|
||||
using(new Logging.Timer("CommitUpdateRemoteVolume"))
|
||||
@@ -1075,6 +1084,10 @@ namespace Duplicati.Library.Main.Operation
|
||||
m_backend.FlushDbMessages(m_database, m_transaction);
|
||||
m_backendLogFlushTimer = DateTime.Now.Add(FLUSH_TIMESPAN);
|
||||
|
||||
using(new Logging.Timer("CommitAddBlockToOutputFlush"))
|
||||
m_transaction.Commit();
|
||||
m_transaction = m_database.BeginTransaction();
|
||||
|
||||
m_backend.Put(m_blockvolume, m_indexvolume);
|
||||
m_blockvolume = null;
|
||||
m_indexvolume = null;
|
||||
|
||||
Reference in New Issue
Block a user