Improve shard concurrency:

* Reduce lock scope on all public functions
* Use TaskQueue to process shard finalization in separate thread
* Store shard last ledger hash and other info in backend
* Use temp SQLite DB versus control file when acquiring
* Remove boost serialization from cmake files
This commit is contained in:
Miguel Portilla
2019-09-13 18:44:24 -04:00
committed by manojsdoshi
parent f00f263852
commit cc452dfa9b
47 changed files with 1972 additions and 1346 deletions

View File

@@ -26,7 +26,7 @@ namespace ripple {
Workers::Workers (
Callback& callback,
perf::PerfLog& perfLog,
perf::PerfLog* perfLog,
std::string const& threadNames,
int numberOfThreads)
: m_callback (callback)
@@ -63,7 +63,8 @@ void Workers::setNumberOfThreads (int numberOfThreads)
static int instance {0};
if (m_numberOfThreads != numberOfThreads)
{
perfLog_.resizeJobs(numberOfThreads);
if (perfLog_)
perfLog_->resizeJobs(numberOfThreads);
if (numberOfThreads > m_numberOfThreads)
{