access type for "UpdateAccessTime" methods
Enumerator eBlobStore eBlobUpdate eBlobReadDefinition at line 747 of file bdb_blobcache.hpp.
◆ EBlobCheckinModeBLOB check-in mode.
Enumerator eBlobCheckInCheck if record exists.
eBlobCheckIn_CreateIf record does not exist - create.
Definition at line 845 of file bdb_blobcache.hpp.
◆ EBlobCheckinResResult of BLOB check-in process.
Enumerator EBlobCheckIn_NotFoundBLOB does not exist.
eBlobCheckIn_FoundExisting BLOB.
eBlobCheckIn_CreatedBLOB record created.
Definition at line 851 of file bdb_blobcache.hpp.
◆ EErrGetPutPut/Get errors.
Enumerator eErr_Unknownno info on operation
eErr_PutPut error.
eErr_GetGet error.
Definition at line 207 of file bdb_blobcache.hpp.
◆ ELockModeLocking modes to protect cache instance.
Enumerator eNoLockDo not lock-protect cache instance.
ePidLockCreate PID lock on cache (exception if failed)
Definition at line 314 of file bdb_blobcache.hpp.
◆ ETRansactUnderlying BDB database can be configured using transactional or non-transactional API.
Transactional provides better protection from failures, non-transactional offers better performance.
Enumerator eUseTransUse transaction environment.
eNoTransNon-transactional environment.
Definition at line 342 of file bdb_blobcache.hpp.
◆ EWriteSyncModeSuggest page size.
Should be called before Open. Does not have any effect if cache is already created. Options controlling transaction and write syncronicity.
Enumerator eWriteSync eWriteNoSyncDefinition at line 303 of file bdb_blobcache.hpp.
◆ AddBlobQuotaError() [1/2] void SBDB_CacheUnitStatistics::AddBlobQuotaError ( ) ◆ AddBlobQuotaError() [2/2] void SBDB_CacheStatistics::AddBlobQuotaError ( const string & client ) ◆ AddCommError() [1/2] ◆ AddCommError() [2/2] void SBDB_CacheUnitStatistics::AddCommError ( EErrGetPut operation ) ◆ AddExplDelete() [1/2] void SBDB_CacheUnitStatistics::AddExplDelete ( ) inline ◆ AddExplDelete() [2/2] void SBDB_CacheStatistics::AddExplDelete ( const string & client ) ◆ AddInternalError() [1/2] ◆ AddInternalError() [2/2] void SBDB_CacheUnitStatistics::AddInternalError ( EErrGetPut operation ) ◆ AddNeverRead() [1/2] void SBDB_CacheUnitStatistics::AddNeverRead ( ) inline ◆ AddNeverRead() [2/2] void SBDB_CacheStatistics::AddNeverRead ( const string & client ) ◆ AddNoBlobError() [1/2] ◆ AddNoBlobError() [2/2] void SBDB_CacheUnitStatistics::AddNoBlobError ( EErrGetPut operation ) ◆ AddProtocolError() [1/2] ◆ AddProtocolError() [2/2] void SBDB_CacheUnitStatistics::AddProtocolError ( EErrGetPut operation ) ◆ AddPurgeDelete() [1/2] void SBDB_CacheUnitStatistics::AddPurgeDelete ( ) inline ◆ AddPurgeDelete() [2/2] void SBDB_CacheStatistics::AddPurgeDelete ( const string & client ) ◆ AddRead() [1/2] void SBDB_CacheStatistics::AddRead ( const string & client, time_t tm ) ◆ AddRead() [2/2] void SBDB_CacheUnitStatistics::AddRead ( time_t tm ) ◆ AddStore() [1/2] void SBDB_CacheStatistics::AddStore ( const string & client, time_t tm, unsigned store, unsigned update, unsigned blob_size, unsigned overflow ) ◆ AddStore() [2/2] void SBDB_CacheUnitStatistics::AddStore ( time_t tm, unsigned store, unsigned update, unsigned blob_size, unsigned overflow )Definition at line 669 of file bdb_blobcache.cpp.
References SBDB_CacheUnitStatistics::AddToHistogram(), SBDB_CacheUnitStatistics::blob_size_hist, SBDB_CacheUnitStatistics::blob_size_max_total, SBDB_CacheUnitStatistics::blobs_overflow_total, SBDB_CacheUnitStatistics::blobs_size_total, SBDB_CacheUnitStatistics::blobs_stored_total, SBDB_CacheUnitStatistics::blobs_updates_total, SBDB_TimeAccessStatistics::day, SBDB_TimeAccessStatistics::hour, SBDB_TimeAccessStatistics::put_count, s_GetDayHour(), and SBDB_CacheUnitStatistics::time_access.
Referenced by SBDB_CacheStatistics::AddStore().
◆ AddToHistogram() void SBDB_CacheUnitStatistics::AddToHistogram ( TBlobSizeHistogram * hist, unsigned size ) static ◆ AddToTimeLine() void CBDB_Cache::AddToTimeLine ( unsigned blob_id, time_t exp_time ) private ◆ BDB_ConfigureCache() ◆ BDB_Register_Cache() void BDB_Register_Cache ( void ) ◆ BlobCheckIn()Check if BLOB exists, create registration record if necessary.
Definition at line 4874 of file bdb_blobcache.cpp.
References _ASSERT, BDB_THROW, SCache_AttrDB::blob_id, SCache_IdIDX::blob_id, CBDB_Transaction::Commit(), eBDB_Ok, CBDB_Cache::eBlobCheckIn, CBDB_Cache::eBlobCheckIn_Create, CBDB_Cache::eBlobCheckIn_Created, CBDB_Cache::eBlobCheckIn_Found, CBDB_Cache::EBlobCheckIn_NotFound, CBDB_FileCursor::eEQ, CBDB_Transaction::eNoAssociation, CBDB_Transaction::eTransASync, CBDB_FileCursor::Fetch(), CBDB_FileCursor::From, CBDB_Cache::GetNextBlobId(), CBDB_File::Insert(), ncbi::grid::netcache::search::fields::key, SCache_AttrDB::key, SCache_IdIDX::key, CLockVectorGuard< TLockVect >::Lock(), CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_CacheIdIDX, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_Env, SCache_AttrDB::max_time, SCache_AttrDB::overflow, SCache_AttrDB::owner_name, SCache_AttrDB::read_count, CBDB_FileCursor::SetCondition(), CLockVectorGuard< TLockVect >::SetId(), CBDB_RawFile::SetTransaction(), SCache_AttrDB::split_id, ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::subkey, SCache_IdIDX::subkey, SCache_AttrDB::time_stamp, SCache_AttrDB::ttl, SCache_AttrDB::upd_count, SCache_AttrDB::version, SCache_IdIDX::version, dtl::version, and SCache_AttrDB::volume_id.
Referenced by CBDB_Cache::GetWriteStream(), and CBDB_Cache::x_Store().
◆ CacheKey() ◆ CBDB_Cache() [1/2] CBDB_Cache::CBDB_Cache ( ) ◆ CBDB_Cache() [2/2] ◆ CBDB_CacheHolder() [1/2] ◆ CBDB_CacheHolder() [2/2] ◆ CleanLog() void CBDB_Cache::CleanLog ( ) ◆ CleanLogOnPurge() void CBDB_Cache::CleanLogOnPurge ( unsigned int factor ) inline ◆ Close() void CBDB_Cache::Close ( void )Definition at line 1628 of file bdb_blobcache.cpp.
References CBDB_Env::CheckRemove(), CBDB_Cache::CleanLog(), ERR_POST_X, CBDB_Env::ForceTransactionCheckpoint(), Info(), kBDBCacheStartedFileName, LOG_POST_X, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_CacheAttrDB_RO1, CBDB_Cache::m_CacheAttrDB_RO2, CBDB_Cache::m_CacheIdIDX, CBDB_Cache::m_CacheIdIDX_RO, CBDB_Cache::m_Closed, CBDB_Cache::m_Env, CBDB_Cache::m_JoinedEnv, CBDB_Cache::m_Name, CBDB_Cache::m_Path, CBDB_Cache::m_PidGuard, CBDB_Cache::m_TimeLine, CDirEntry::MakePath(), CDirEntry::Remove(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::Save(), CBDB_Env::StopBackgroundWriterThread(), CBDB_Cache::StopPurgeThread(), and Warning().
Referenced by CBDB_Cache::Open(), CBDB_Cache::OpenReadOnly(), CBDB_Cache::Verify(), and CBDB_Cache::~CBDB_Cache().
◆ ComputeMaxTime() time_t CBDB_Cache::ComputeMaxTime ( time_t start ) const inlineprotected ◆ ConvertToRegistry() [1/2] void SBDB_CacheStatistics::ConvertToRegistry ( IRWRegistry * reg ) const ◆ ConvertToRegistry() [2/2] void SBDB_CacheUnitStatistics::ConvertToRegistry ( IRWRegistry * reg, const string & sect_name_postfix ) constConvert statistics into registry sections and entries.
Definition at line 830 of file bdb_blobcache.cpp.
References SBDB_CacheUnitStatistics::blob_size_hist, SBDB_CacheUnitStatistics::blob_size_max_total, SBDB_CacheUnitStatistics::blobs_db, SBDB_CacheUnitStatistics::blobs_expl_deleted_total, SBDB_CacheUnitStatistics::blobs_never_read_total, SBDB_CacheUnitStatistics::blobs_overflow_total, SBDB_CacheUnitStatistics::blobs_purge_deleted_total, SBDB_CacheUnitStatistics::blobs_read_total, SBDB_CacheUnitStatistics::blobs_size_db, SBDB_CacheUnitStatistics::blobs_size_total, SBDB_CacheUnitStatistics::blobs_stored_total, SBDB_CacheUnitStatistics::blobs_updates_total, map_checker< Container >::empty(), map_checker< Container >::end(), SBDB_CacheUnitStatistics::err_blob_get, SBDB_CacheUnitStatistics::err_blob_over_quota, SBDB_CacheUnitStatistics::err_blob_put, SBDB_CacheUnitStatistics::err_communication, SBDB_CacheUnitStatistics::err_internal, SBDB_CacheUnitStatistics::err_no_blob, SBDB_CacheUnitStatistics::err_protocol, SBDB_TimeAccessStatistics::get_count, SBDB_TimeAccessStatistics::hour, ITERATE, SBDB_TimeAccessStatistics::put_count, NStr::Replace(), IRWRegistry::Set(), SBDB_CacheUnitStatistics::time_access, and NStr::UIntToString().
Referenced by SBDB_CacheStatistics::ConvertToRegistry().
◆ DropBlob()Delete BLOB.
Returns non-zero blob_id if blob exists
Definition at line 1782 of file bdb_blobcache.cpp.
References _ASSERT, SBDB_CacheStatistics::AddExplDelete(), SBDB_CacheStatistics::AddNeverRead(), SCache_AttrDB::blob_id, CBDB_Transaction::Commit(), CBDB_FileCursor::Delete(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::Delete(), eBDB_Ok, CBDB_Transaction::eEnvDefault, CBDB_FileCursor::eEQ, CBDB_Transaction::eNoAssociation, CBDB_FileCursor::eReadModifyUpdate, CBDB_RawFile::eThrowOnError, CBDB_FileCursor::Fetch(), CBDB_FileCursor::From, CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::GetCoordinates(), CBDB_Cache::IsSaveStatistics(), ncbi::grid::netcache::search::fields::key, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_Env, CBDB_Cache::m_Statistics, SCache_AttrDB::overflow, SCache_AttrDB::owner_name, SCache_AttrDB::read_count, CBDB_FileCursor::SetCondition(), CBDB_RawFile::SetTransaction(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::SetTransaction(), SCache_AttrDB::split_id, ncbi::grid::netcache::search::fields::subkey, CBDB_FieldString::ToString(), dtl::version, SCache_AttrDB::volume_id, CBDB_Cache::x_DropOverflow(), and CBDB_Cache::x_UpdateOwnerStatOnDelete().
◆ DropBlobWithExpCheck() [1/2]Drop BLOB with time expiration check.
Definition at line 4678 of file bdb_blobcache.cpp.
References _ASSERT, CTimeLine< BV >::AddObject(), SCache_AttrDB::blob_id, SCache_IdIDX::blob_id, CBDB_File::Delete(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::Delete(), eBDB_Ok, CBDB_RawFile::eThrowOnError, CBDB_File::Fetch(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::GetCoordinates(), CBDB_Cache::IsReadOnly(), ncbi::grid::netcache::search::fields::key, SCache_AttrDB::key, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_CacheAttrDB_RO2, CBDB_Cache::m_CacheIdIDX, CBDB_Cache::m_CARO2_Lock, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_GC_Deleted, CBDB_Cache::m_TimeLine, CBDB_Cache::m_TimeLine_Lock, SCache_AttrDB::overflow, bm::bvector< Alloc >::set(), CBDB_RawFile::SetTransaction(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::SetTransaction(), SCache_AttrDB::split_id, ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::subkey, SCache_AttrDB::version, dtl::version, SCache_AttrDB::volume_id, CBDB_Cache::x_CheckTimeStampExpired(), and CBDB_Cache::x_DropOverflow().
Referenced by CBDB_Cache::DropBlobWithExpCheck(), CBDB_Cache::EvaluateTimeLine(), and CBDB_Cache::Purge().
◆ DropBlobWithExpCheck() [2/2]Drop BLOB with time expiration check.
Definition at line 4656 of file bdb_blobcache.cpp.
References SCache_IdIDX::blob_id, CBDB_Cache::DropBlobWithExpCheck(), eBDB_Ok, CBDB_File::Fetch(), ncbi::grid::netcache::search::fields::key, SCache_IdIDX::key, CBDB_Cache::m_CacheIdIDX_RO, CBDB_Cache::m_IDIDX_Lock_RO, ncbi::grid::netcache::search::fields::subkey, SCache_IdIDX::subkey, SCache_IdIDX::version, and dtl::version.
◆ EvaluateTimeLine() void CBDB_Cache::EvaluateTimeLine ( bool * interrupted ) privateEvaluate timeline BLOBs as deletion candidates.
Definition at line 3524 of file bdb_blobcache.cpp.
References _ASSERT, CTimeLine< BV >::AddObject(), bm::bvector< Alloc >::any(), CTime::AsString(), SCache_AttrDB::blob_id, SCache_IdIDX::blob_id, SCacheDescr::blob_id, CBDB_Transaction::Commit(), bm::bvector< Alloc >::count(), NStr::DoubleToString(), CBDB_Cache::DropBlobWithExpCheck(), eBDB_Ok, CBDB_FileCursor::eEQ, CBDB_FileCursor::eGE, CStopWatch::Elapsed(), CBDB_Transaction::eNoAssociation, CStopWatch::eStart, CBDB_Transaction::eTransASync, CTimeLine< BV >::ExtractObjects(), CBDB_FileCursor::Fetch(), bm::bvector< Alloc >::first(), CBDB_FileCursor::From, CTimeLine< BV >::GetDiscrFactor(), GetFastLocalTime(), i, IServer_Monitor::IsActive(), ncbi::grid::netcache::search::fields::key, SCache_IdIDX::key, SCacheDescr::key, CBDB_Cache::m_BatchSleep, CBDB_Cache::m_CacheAttrDB_RO2, CBDB_Cache::m_CacheIdIDX_RO, CBDB_Cache::m_CARO2_Lock, CBDB_Cache::m_Env, CBDB_Cache::m_GC_Deleted, CBDB_Cache::m_IDIDX_Lock_RO, CBDB_Cache::m_LastTimeLineCheck, CBDB_Cache::m_Monitor, CBDB_Cache::m_PurgeBatchSize, CBDB_Cache::m_PurgeStopSignal, CBDB_Cache::m_TimeLine, CBDB_Cache::m_TimeLine_Lock, msg(), bm::bvector< Alloc >::optimize(), SCache_AttrDB::overflow, SCacheDescr::overflow, IServer_Monitor::Send(), CBDB_FileCursor::SetCondition(), CBDB_RawFile::SetTransaction(), ncbi::grid::netcache::search::fields::subkey, SCache_IdIDX::subkey, SCacheDescr::subkey, sw, CSemaphore::TryWait(), NStr::UIntToString(), NStr::ULongToString(), bm::bvector< Alloc >::iterator_base::valid(), SCache_IdIDX::version, SCacheDescr::version, dtl::version, and CBDB_Cache::x_CheckTimeStampExpired().
Referenced by CBDB_Cache::Purge().
◆ GetAccessTime()Return last access time for the specified cache entry.
Class implementation may want to implement access time based aging scheme for cache managed objects. In this case it needs to track time of every request to BLOB data.
Implements ICache.
Definition at line 3417 of file bdb_blobcache.cpp.
References _ASSERT, eBDB_Ok, CBDB_File::Fetch(), ncbi::grid::netcache::search::fields::key, SCache_AttrDB::key, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_DB_Lock, CBDB_RawFile::SetTransaction(), ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::subkey, SCache_AttrDB::time_stamp, SCache_AttrDB::version, and dtl::version.
◆ GetBatchSleep() unsigned CBDB_Cache::GetBatchSleep ( ) const ◆ GetBlobAccess()Get BLOB access using BlobAccessDescr.
Method fills blob_descr parameter. If provided buffer has sufficient capacity for BLOB storage, BLOB is saved into the buffer, otherwise IReader is created.
Implements ICache.
Definition at line 2890 of file bdb_blobcache.cpp.
References _ASSERT, SBDB_CacheStatistics::AddRead(), ICache::SBlobAccessDescr::blob_found, ICache::SBlobAccessDescr::blob_size, ICache::SBlobAccessDescr::buf, ICache::SBlobAccessDescr::buf_size, buffer, CBDB_Cache::CBDB_CacheIReader, CBDB_Transaction::Commit(), eBDB_Ok, CBDB_FileCursor::eEQ, CBDB_Transaction::eNoAssociation, CBDB_FileCursor::eReadModifyUpdate, CBDB_RawFile::eReallocForbidden, CBDB_Transaction::eTransASync, ICache::fCheckExpirationAlways, CBDB_FileCursor::Fetch(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::Fetch(), CBDB_FileCursor::From, ICache::fTimeStampOnRead, CBDB_Cache::GetBlobId(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::GetCoordinates(), CFastLocalTime::GetLocalTimezone(), CBDB_Cache::IsSaveStatistics(), ncbi::grid::netcache::search::fields::key, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_Env, CBDB_Cache::m_LocalTimer, CBDB_Cache::m_LockTimeout, CBDB_Cache::m_LockVector, CBDB_Cache::m_Statistics, CBDB_Cache::m_TimeStampFlag, SCache_AttrDB::max_time, SCache_AttrDB::overflow, SCache_AttrDB::owner_name, SCache_AttrDB::read_count, ICache::SBlobAccessDescr::reader, CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::ReadRealloc(), CBDB_FileCursor::SetCondition(), CBDB_RawFile::SetTransaction(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::SetTransaction(), SCache_AttrDB::split_id, ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::time_stamp, CBDB_FieldString::ToString(), CBDB_FileCursor::Update(), dtl::version, SCache_AttrDB::volume_id, CBDB_Cache::x_CheckTimeStampExpired(), and CBDB_Cache::x_CreateOverflowReader().
◆ GetBlobCache() ICache* CBDB_CacheHolder::GetBlobCache ( ) inline ◆ GetBlobId()Determines BLOB size (requires fetched attribute record)
Definition at line 3177 of file bdb_blobcache.cpp.
References SCache_AttrDB::blob_id, eBDB_Ok, CBDB_File::Fetch(), ncbi::grid::netcache::search::fields::key, SCache_AttrDB::key, CBDB_Cache::m_CacheAttrDB_RO1, CBDB_Cache::m_CARO1_Lock, CBDB_RawFile::SetTransaction(), ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::subkey, SCache_AttrDB::version, and dtl::version.
Referenced by CBDB_Cache::GetBlobAccess(), CBDB_Cache::GetReadStream(), CBDB_Cache::GetSizeEx(), CBDB_Cache::IsLocked(), and CBDB_Cache::Read().
◆ GetBlobOwner()Retrieve BLOB owner.
Implements ICache.
Definition at line 2350 of file bdb_blobcache.cpp.
References _ASSERT, ncbi::grid::netcache::search::fields::key, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_DB_Lock, SCache_AttrDB::owner_name, CBDB_RawFile::SetTransaction(), ncbi::grid::netcache::search::fields::subkey, CBDB_FieldString::ToString(), dtl::version, and CBDB_Cache::x_FetchBlobAttributes().
◆ GetCacheName() virtual string CBDB_Cache::GetCacheName ( void ) const inlinevirtual ◆ GetEnv() ◆ GetFlags()Retrieve the effective combination of flags from the underlying storage.
Implements ICache.
Definition at line 1699 of file bdb_blobcache.cpp.
◆ GetIdCache() ICache* CBDB_CacheHolder::GetIdCache ( ) inline ◆ GetMaxBlobSize() unsigned CBDB_Cache::GetMaxBlobSize ( ) const inline ◆ GetMonitor() ◆ GetName() ◆ GetNextBlobId() unsigned CBDB_Cache::GetNextBlobId ( bool lock_id ) ◆ GetOverflowLimit() unsigned CBDB_Cache::GetOverflowLimit ( ) const inline ◆ GetPurgeBatchSize() unsigned CBDB_Cache::GetPurgeBatchSize ( ) const ◆ GetReadStream() [1/2]Request the latest version of a BLOB.
Implements ICache.
Definition at line 2871 of file bdb_blobcache.cpp.
References NCBI_USER_THROW.
◆ GetReadStream() [2/2]Return sequential stream interface to read BLOB data.
Implements ICache.
Definition at line 2671 of file bdb_blobcache.cpp.
References _ASSERT, SBDB_CacheStatistics::AddRead(), SCache_AttrDB::blob_id, buffer, CBDB_Cache::CBDB_CacheIReader, CBDB_Transaction::Commit(), eBDB_Ok, CBDB_FileCursor::eEQ, CBDB_Transaction::eNoAssociation, CBDB_FileCursor::eReadModifyUpdate, CBDB_Transaction::eTransASync, ICache::fCheckExpirationAlways, CBDB_FileCursor::Fetch(), CBDB_FileCursor::From, ICache::fTimeStampOnRead, CBDB_Cache::GetBlobId(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::GetCoordinates(), CFastLocalTime::GetLocalTimezone(), CBDB_Cache::IsSaveStatistics(), ncbi::grid::netcache::search::fields::key, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_Env, CBDB_Cache::m_LocalTimer, CBDB_Cache::m_LockTimeout, CBDB_Cache::m_LockVector, CBDB_Cache::m_Statistics, CBDB_Cache::m_TimeStampFlag, SCache_AttrDB::max_time, SCache_AttrDB::overflow, SCache_AttrDB::owner_name, SCache_AttrDB::read_count, CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::ReadRealloc(), CBDB_FileCursor::SetCondition(), CBDB_RawFile::SetTransaction(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::SetTransaction(), SCache_AttrDB::split_id, ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::time_stamp, CBDB_FieldString::ToString(), CBDB_FileCursor::Update(), dtl::version, SCache_AttrDB::volume_id, CBDB_Cache::x_CheckTimeStampExpired(), and CBDB_Cache::x_CreateOverflowReader().
◆ GetSize() ◆ GetSizeEx()Definition at line 2281 of file bdb_blobcache.cpp.
References CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::BlobSize(), eBDB_Ok, CFile::Exists(), ICache::fCheckExpirationAlways, CBDB_Cache::GetBlobId(), CFile::GetLength(), CBDB_Cache::GetName(), ncbi::grid::netcache::search::fields::key, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_LockTimeout, CBDB_Cache::m_LockVector, CBDB_Cache::m_Path, CBDB_Cache::m_TimeStampFlag, SCache_AttrDB::overflow, s_MakeOverflowFileName(), CBDB_RawFile::SetTransaction(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::SetTransaction(), ncbi::grid::netcache::search::fields::size, ncbi::grid::netcache::search::fields::subkey, dtl::version, CBDB_Cache::x_CheckTimeStampExpired(), and CBDB_Cache::x_RetrieveBlobAttributes().
Referenced by CBDB_Cache::GetSize().
◆ GetStatistics() [1/2] ◆ GetStatistics() [2/2] ◆ GetTimeout() int CBDB_Cache::GetTimeout ( ) const virtual ◆ GetTimeStampPolicy() ◆ GetTTL_Prolongation() unsigned CBDB_Cache::GetTTL_Prolongation ( ) const inline ◆ GetVersionRetention() ◆ GetWriteStream() [1/2] ◆ GetWriteStream() [2/2]Definition at line 3207 of file bdb_blobcache.cpp.
References _ASSERT, _VERIFY, CBDB_Cache::BlobCheckIn(), CBDB_Cache::CBDB_CacheIWriter, CBDB_Cache::eBlobCheckIn_Create, CBDB_Cache::EBlobCheckIn_NotFound, ICache::eDropAll, ICache::eDropOlder, CLockVectorGuard< TLockVect >::GetId(), CFastLocalTime::GetLocalTimezone(), CBDB_Cache::IsReadOnly(), ncbi::grid::netcache::search::fields::key, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_LocalTimer, CBDB_Cache::m_LockTimeout, CBDB_Cache::m_LockVector, CBDB_Cache::m_MaxTimeout, CBDB_Cache::m_MaxTTL_prolong, CBDB_Cache::m_Path, CBDB_Cache::m_Timeout, CBDB_Cache::m_VersionFlag, min(), CBDB_Cache::Purge(), ncbi::grid::netcache::search::fields::subkey, and dtl::version.
Referenced by CBDB_Cache::GetWriteStream().
◆ GetWriteSync() ◆ GlobalStatistics() ◆ HasBlobs()Check if any BLOB exists (any version)
Implements ICache.
Definition at line 2369 of file bdb_blobcache.cpp.
References eBDB_Ok, CBDB_FileCursor::eEQ, CBDB_FileCursor::eGE, CBDB_FileCursor::FetchFirst(), CBDB_FileCursor::From, ncbi::grid::netcache::search::fields::key, SCache_AttrDB::key, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_DB_Lock, CBDB_FileCursor::SetCondition(), CBDB_RawFile::SetTransaction(), ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::version, dtl::version, and CBDB_Cache::x_CheckTimeStampExpired().
◆ Init() [1/2] void SBDB_CacheUnitStatistics::Init ( void )Definition at line 617 of file bdb_blobcache.cpp.
References SBDB_CacheUnitStatistics::blob_size_hist, SBDB_CacheUnitStatistics::blob_size_max_total, SBDB_CacheUnitStatistics::blobs_db, SBDB_CacheUnitStatistics::blobs_expl_deleted_total, SBDB_CacheUnitStatistics::blobs_never_read_total, SBDB_CacheUnitStatistics::blobs_overflow_total, SBDB_CacheUnitStatistics::blobs_purge_deleted_total, SBDB_CacheUnitStatistics::blobs_read_total, SBDB_CacheUnitStatistics::blobs_size_db, SBDB_CacheUnitStatistics::blobs_size_total, SBDB_CacheUnitStatistics::blobs_stored_total, SBDB_CacheUnitStatistics::blobs_updates_total, SBDB_CacheUnitStatistics::err_blob_get, SBDB_CacheUnitStatistics::err_blob_over_quota, SBDB_CacheUnitStatistics::err_blob_put, SBDB_CacheUnitStatistics::err_communication, SBDB_CacheUnitStatistics::err_internal, SBDB_CacheUnitStatistics::err_no_blob, SBDB_CacheUnitStatistics::err_protocol, SBDB_CacheUnitStatistics::InitHistorgam(), and SBDB_CacheUnitStatistics::time_access.
Referenced by SBDB_CacheStatistics::Init(), and SBDB_CacheUnitStatistics::SBDB_CacheUnitStatistics().
◆ Init() [2/2] void SBDB_CacheStatistics::Init ( void ) ◆ InitHistorgam() ◆ InitStatistics() void CBDB_Cache::InitStatistics ( ) ◆ IsJoinedEnv() bool CBDB_Cache::IsJoinedEnv ( ) inline ◆ IsLocked() [1/2] ◆ IsLocked() [2/2] bool CBDB_Cache::IsLocked ( unsigned blob_id ) ◆ IsOpen() virtual bool CBDB_Cache::IsOpen ( ) const inlinevirtual ◆ IsReadOnly() bool CBDB_Cache::IsReadOnly ( ) const inline ◆ IsSaveStatistics() bool CBDB_Cache::IsSaveStatistics ( void ) const inlineDefinition at line 513 of file bdb_blobcache.hpp.
References CBDB_Cache::m_SaveStatistics.
Referenced by CBDB_Cache::DropBlob(), CBDB_Cache::GetBlobAccess(), CBDB_Cache::GetReadStream(), CBDB_Cache::Purge(), CBDB_Cache::Read(), CBDB_Cache::RegisterCommError(), CBDB_Cache::RegisterInternalError(), CBDB_Cache::RegisterNoBlobError(), CBDB_Cache::RegisterProtocolError(), CBDB_Cache::Remove(), CBDB_CacheIWriter::Write(), CBDB_Cache::x_Store(), and CBDB_CacheIWriter::~CBDB_CacheIWriter().
◆ KillBlob()Definition at line 1763 of file bdb_blobcache.cpp.
References CBDB_Transaction::Commit(), CBDB_Transaction::eEnvDefault, CBDB_Transaction::eNoAssociation, ncbi::grid::netcache::search::fields::key, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_Env, CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::SetTransaction(), ncbi::grid::netcache::search::fields::subkey, dtl::version, and CBDB_Cache::x_DropBlob().
Referenced by CBDB_CacheIWriter::Flush(), CBDB_CacheIWriter::Write(), CBDB_Cache::x_Store(), CBDB_CacheIWriter::x_WriteOverflow(), and CBDB_CacheIWriter::~CBDB_CacheIWriter().
◆ Lock() void CBDB_Cache::Lock ( void ) ◆ NCBI_BDB_ICacheEntryPoint() ◆ NCBI_EntryPoint_xcache_bdb() ◆ Open()Open local cache instance (read-write access) If cache does not exists it is created.
Definition at line 1233 of file bdb_blobcache.cpp.
References _ASSERT, CDirEntry::AddTrailingPathSeparator(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::AssignCoordinates(), BDB_RecoverEnv(), SCache_AttrDB::blob_id, SCache_IdIDX::blob_id, CBDB_Cache::Close(), CDir::Create(), eBDB_Ok, CBDB_FileCursor::eFirst, CDir::eIgnoreRecursive, CBDB_Cache::eNoTrans, CBDB_RawFile::eReadOnly, CBDB_RawFile::eReadWriteCreate, ERR_POST, ERR_POST_X, CBDB_Env::eRunRecovery, CBDB_Env::eThreaded, CBDB_Transaction::eTransASync, CBDB_Transaction::eTransSync, CBDB_Cache::eUseTrans, CBDB_Cache::eWriteSync, CFile::Exists(), CDir::Exists(), CBDB_File::Fetch(), CBDB_FileCursor::Fetch(), ICache::fPurgeOnStartup, CDir::GetEntries(), CDirEntry::GetPath(), CCurrentProcess::GetPid(), CBDB_FieldString::GetString(), CBDB_Cache::GetTimeout(), CBDB_Cache::GetWriteSync(), Info(), CBDB_FileCursor::InitMultiFetch(), set< Key, Compare >::insert(), CBDB_File::Insert(), int, CBDB_ErrnoException::IsRecovery(), CBDB_Env::IsTransactional(), CBDB_Env::JoinEnv(), kBDBCacheStartedFileName, ncbi::grid::netcache::search::fields::key, SCache_AttrDB::key, SCache_IdIDX::key, LOG_POST_X, CBDB_Cache::m_BatchSleep, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_BlobIdCounter, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_CacheAttrDB_RO1, CBDB_Cache::m_CacheAttrDB_RO2, CBDB_Cache::m_CacheIdIDX, CBDB_Cache::m_CacheIdIDX_RO, CBDB_Cache::m_CheckPointInterval, CBDB_Cache::m_Closed, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_Env, CBDB_Cache::m_InitIfDirty, CBDB_Cache::m_JoinedEnv, CBDB_Cache::m_LastTimeLineCheck, CBDB_Cache::m_LogDir, CBDB_Cache::m_LogSizeMax, CBDB_Cache::m_Name, CBDB_Cache::m_NextExpTime, CBDB_Cache::m_Path, CBDB_Cache::m_PurgeBatchSize, CBDB_Cache::m_PurgeThreadDelay, CBDB_Cache::m_ReadOnly, CBDB_Cache::m_RoundRobinVolumes, CBDB_Cache::m_RunPurgeThread, CBDB_Cache::m_TimeLine, CBDB_Cache::m_Timeout, CBDB_Cache::m_TimeStampFlag, CDirEntry::MakePath(), max(), NStr::NumericToString(), CBDB_File::Open(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::Open(), CBDB_Env::OpenErrFile(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::OpenProjections(), CBDB_Env::OpenWithLocks(), CBDB_Env::OpenWithTrans(), CBDB_Cache::Purge(), CDirEntry::Remove(), CDir::Remove(), CAtomicCounter::Set(), CBDB_Env::SetCacheSize(), CBDB_Env::SetCheckPointKB(), CBDB_FileCursor::SetCondition(), CBDB_RawFile::SetEnv(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::SetEnv(), CBDB_Env::SetLockTimeout(), CBDB_Env::SetLogAutoRemove(), CBDB_Env::SetLogBSize(), CBDB_Env::SetLogDir(), CBDB_Env::SetLogFileMax(), CBDB_Env::SetLogInMemory(), CBDB_Env::SetMaxLocks(), CBDB_RawFile::SetTransaction(), CBDB_Env::SetTransactionSync(), CBDB_Env::SetTransactionTimeout(), SCache_AttrDB::split_id, CBDB_Cache::StartPurgeThread(), string, ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::subkey, SCache_IdIDX::subkey, SCache_AttrDB::version, SCache_IdIDX::version, dtl::version, SCache_AttrDB::volume_id, Warning(), CFileWriter::Write(), and CBDB_Cache::x_PidLock().
Referenced by BDB_ConfigureCache(), and CSplitCacheApp::SetupCache().
◆ OpenReadOnly()Open local cache in read-only mode.
This is truely passive mode of operations. All modification calls are ignored, no statistics is going to be collected, no timestamps. PID locking is also not available.
Definition at line 1590 of file bdb_blobcache.cpp.
References CDirEntry::AddTrailingPathSeparator(), CBDB_Cache::Close(), CBDB_RawFile::eReadOnly, Info(), LOG_POST_X, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_Name, CBDB_Cache::m_Path, CBDB_Cache::m_ReadOnly, CBDB_File::Open(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::Open(), and string.
◆ operator<() ◆ operator=() [1/2] ◆ operator=() [2/2] ◆ PrintStatistics() [1/2] void SBDB_CacheUnitStatistics::PrintStatistics ( CNcbiOstream & out ) constDefinition at line 769 of file bdb_blobcache.cpp.
References SBDB_CacheUnitStatistics::blob_size_hist, SBDB_CacheUnitStatistics::blob_size_max_total, SBDB_CacheUnitStatistics::blobs_db, SBDB_CacheUnitStatistics::blobs_expl_deleted_total, SBDB_CacheUnitStatistics::blobs_never_read_total, SBDB_CacheUnitStatistics::blobs_overflow_total, SBDB_CacheUnitStatistics::blobs_purge_deleted_total, SBDB_CacheUnitStatistics::blobs_read_total, SBDB_CacheUnitStatistics::blobs_size_db, SBDB_CacheUnitStatistics::blobs_stored_total, SBDB_CacheUnitStatistics::blobs_updates_total, map_checker< Container >::empty(), map_checker< Container >::end(), SBDB_CacheUnitStatistics::err_blob_get, SBDB_CacheUnitStatistics::err_blob_over_quota, SBDB_CacheUnitStatistics::err_blob_put, SBDB_CacheUnitStatistics::err_communication, SBDB_CacheUnitStatistics::err_internal, SBDB_CacheUnitStatistics::err_no_blob, SBDB_CacheUnitStatistics::err_protocol, SBDB_TimeAccessStatistics::get_count, SBDB_TimeAccessStatistics::hour, ITERATE, out(), SBDB_TimeAccessStatistics::put_count, and SBDB_CacheUnitStatistics::time_access.
Referenced by SBDB_CacheStatistics::PrintStatistics().
◆ PrintStatistics() [2/2] void SBDB_CacheStatistics::PrintStatistics ( CNcbiOstream & out ) const ◆ Purge() [1/2]Delete BLOBs with access time older than specified.
Function finds all BLOB versions with the specified key and removes the old instances.
Implements ICache.
Definition at line 4239 of file bdb_blobcache.cpp.
References SBDB_CacheStatistics::AddNeverRead(), SBDB_CacheStatistics::AddPurgeDelete(), SCache_AttrDB::blob_id, CBDB_Transaction::Commit(), eBDB_Ok, CBDB_Transaction::eEnvDefault, CBDB_FileCursor::eEQ, CBDB_Transaction::eNoAssociation, CBDB_FileCursor::Fetch(), CBDB_FileCursor::From, CBDB_Cache::GetTimeout(), if(), int, CBDB_Cache::IsReadOnly(), CBDB_Cache::IsSaveStatistics(), ITERATE, ncbi::grid::netcache::search::fields::key, SCache_AttrDB::key, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_Env, CBDB_Cache::m_MaxTimeout, CBDB_Cache::m_Statistics, max(), SCache_AttrDB::overflow, SCache_AttrDB::owner_name, SCache_AttrDB::read_count, CBDB_FileCursor::SetCondition(), CBDB_RawFile::SetTransaction(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::SetTransaction(), ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::subkey, SCache_AttrDB::time_stamp, CBDB_FieldString::ToString(), SCache_AttrDB::ttl, SCache_AttrDB::version, dtl::version, CBDB_Cache::x_DropBlob(), CBDB_Cache::x_TruncateDB(), and CBDB_Cache::x_UpdateOwnerStatOnDelete().
◆ Purge() [2/2] void CBDB_Cache::Purge ( time_t access_timeout ) virtualDelete all BLOBs older than specified.
Implements ICache.
Definition at line 3865 of file bdb_blobcache.cpp.
References SBDB_CacheStatistics::AddNeverRead(), CTimeLine< BV >::AddObject(), SBDB_CacheStatistics::AddPurgeDelete(), CTime::AsString(), SCache_AttrDB::blob_id, SBDB_CacheUnitStatistics::blobs_db, CBDB_Env::CleanLog(), CBDB_Transaction::Commit(), bm::bvector< Alloc >::count(), CBDB_RawFile::CountRecs(), delta(), CBDB_Cache::DropBlobWithExpCheck(), eBDB_Ok, CBDB_FileCursor::eGE, CBDB_Transaction::eNoAssociation, CTimeLine< BV >::EnumerateObjects(), ERR_POST_X, Error(), CBDB_Transaction::eTransASync, CBDB_Cache::EvaluateTimeLine(), fabs, CBDB_FileCursor::Fetch(), CBDB_Env::ForceTransactionCheckpoint(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::FreeUnusedMem(), CLockVector< BV >::FreeUnusedMem(), CBDB_FileCursor::From, CTimeLine< BV >::GetDiscrFactor(), GetFastLocalTime(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::GetIdVector(), CBDB_Cache::GetPurgeBatchSize(), SBDB_CacheStatistics::GlobalStatistics(), i, Info(), IServer_Monitor::IsActive(), CBDB_Cache::IsReadOnly(), CBDB_ErrnoException::IsRecovery(), CBDB_Cache::IsSaveStatistics(), ncbi::grid::netcache::search::fields::key, SCache_AttrDB::key, SCacheDescr::key, LOG_POST_X, CBDB_Cache::m_BatchSleep, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB_RO2, CBDB_Cache::m_CARO2_Lock, CBDB_Cache::m_CleanLogOnPurge, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_Env, CBDB_Cache::m_LockVector, CBDB_Cache::m_Monitor, CBDB_Cache::m_NextExpTime, CBDB_Cache::m_PurgeCount, CBDB_Cache::m_PurgeNowRunning, CBDB_Cache::m_PurgeStopSignal, CBDB_Cache::m_PurgeThreadDelay, CBDB_Cache::m_Statistics, CBDB_Cache::m_TimeLine, CBDB_Cache::m_TimeLine_Lock, msg(), SCache_AttrDB::overflow, SCache_AttrDB::owner_name, precision, SCache_AttrDB::read_count, CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::Save(), IServer_Monitor::Send(), CBDB_FileCursor::SetCondition(), CPurgeFlagGuard::SetFlag(), CBDB_RawFile::SetTransaction(), NStr::SizetToString(), ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::subkey, SCacheDescr::subkey, CBDB_FieldString::ToString(), CSemaphore::TryWait(), NStr::UIntToString(), SCache_AttrDB::version, SCacheDescr::version, dtl::version, Warning(), CBDB_Cache::x_CheckTimeStampExpired(), CBDB_Cache::x_TruncateDB(), and CBDB_Cache::x_UpdateOwnerStatOnDelete().
Referenced by CBDB_Cache::GetWriteStream(), CBDB_Cache::Open(), CSplitCacheApp::SetupCache(), and CBDB_Cache::x_Store().
◆ Read()Fetch the BLOB.
Implements ICache.
Definition at line 2429 of file bdb_blobcache.cpp.
References _ASSERT, SBDB_CacheStatistics::AddRead(), SCache_AttrDB::blob_id, buf, CBDB_Transaction::Commit(), eBDB_Ok, CBDB_FileCursor::eEQ, CBDB_Transaction::eNoAssociation, CBDB_FileCursor::eReadModifyUpdate, CBDB_RawFile::eReallocForbidden, CBDB_Transaction::eTransASync, ICache::fCheckExpirationAlways, CBDB_FileCursor::Fetch(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::Fetch(), CBDB_FileCursor::From, ICache::fTimeStampOnRead, CBDB_Cache::GetBlobId(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::GetCoordinates(), CFastLocalTime::GetLocalTimezone(), CBDB_Cache::GetName(), in(), CBDB_Cache::IsSaveStatistics(), ncbi::grid::netcache::search::fields::key, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_Env, CBDB_Cache::m_LocalTimer, CBDB_Cache::m_LockTimeout, CBDB_Cache::m_LockVector, CBDB_Cache::m_Path, CBDB_Cache::m_Statistics, CBDB_Cache::m_TimeStampFlag, SCache_AttrDB::max_time, SCache_AttrDB::overflow, SCache_AttrDB::owner_name, SCache_AttrDB::read_count, s_MakeOverflowFileName(), CBDB_FileCursor::SetCondition(), CBDB_RawFile::SetTransaction(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::SetTransaction(), SCache_AttrDB::split_id, ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::time_stamp, CBDB_FieldString::ToString(), CBDB_FileCursor::Update(), dtl::version, SCache_AttrDB::volume_id, and CBDB_Cache::x_CheckTimeStampExpired().
◆ RegisterCommError() ◆ RegisterInternalError() ◆ RegisterNoBlobError() ◆ RegisterOverflow()Register BLOB object as overflow file.
Definition at line 1868 of file bdb_blobcache.cpp.
References SCache_AttrDB::blob_id, SCache_IdIDX::blob_id, CBDB_Transaction::Commit(), CBDB_Cache::ComputeMaxTime(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::Delete(), eBDB_Ok, CBDB_Transaction::eEnvDefault, CBDB_FileCursor::eEQ, CBDB_Transaction::eNoAssociation, CBDB_FileCursor::eReadModifyUpdate, ERR_POST_X, Error(), CBDB_RawFile::eThrowOnError, CBDB_FileCursor::Fetch(), CBDB_FileCursor::From, CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::GetCoordinates(), CBDB_Cache::GetNextBlobId(), CBDB_File::Insert(), ncbi::grid::netcache::search::fields::key, SCache_AttrDB::key, SCache_IdIDX::key, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_CacheIdIDX, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_Env, SCache_AttrDB::max_time, SCache_AttrDB::overflow, SCache_AttrDB::owner_name, SCache_AttrDB::read_count, CBDB_FileCursor::SetCondition(), CBDB_RawFile::SetTransaction(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::SetTransaction(), SCache_AttrDB::split_id, ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::subkey, SCache_IdIDX::subkey, SCache_AttrDB::time_stamp, SCache_AttrDB::ttl, SCache_AttrDB::upd_count, CBDB_FileCursor::Update(), SCache_AttrDB::version, SCache_IdIDX::version, dtl::version, and SCache_AttrDB::volume_id.
Referenced by CBDB_CacheIWriter::~CBDB_CacheIWriter().
◆ RegisterProtocolError() ◆ Remove() [1/2]Definition at line 3272 of file bdb_blobcache.cpp.
References SBDB_CacheStatistics::AddExplDelete(), SBDB_CacheStatistics::AddNeverRead(), SCache_AttrDB::blob_id, CBDB_Transaction::Commit(), eBDB_Ok, CBDB_Transaction::eEnvDefault, CBDB_FileCursor::eEQ, CBDB_Transaction::eNoAssociation, CBDB_FileCursor::Fetch(), CBDB_FileCursor::From, CBDB_Cache::IsReadOnly(), CBDB_Cache::IsSaveStatistics(), ITERATE, ncbi::grid::netcache::search::fields::key, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_Env, CBDB_Cache::m_Statistics, CBDB_Cache::m_TimeLine, CBDB_Cache::m_TimeLine_Lock, SCache_AttrDB::overflow, SCache_AttrDB::owner_name, SCache_AttrDB::read_count, CTimeLine< BV >::RemoveObject(), CBDB_FileCursor::SetCondition(), CBDB_RawFile::SetTransaction(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::SetTransaction(), ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::subkey, CBDB_FieldString::ToString(), SCache_AttrDB::version, dtl::version, CBDB_Cache::x_DropBlob(), and CBDB_Cache::x_UpdateOwnerStatOnDelete().
◆ Remove() [2/2]Remove specific cache entry.
Implements ICache.
Definition at line 3346 of file bdb_blobcache.cpp.
References SBDB_CacheStatistics::AddExplDelete(), SBDB_CacheStatistics::AddNeverRead(), SCache_AttrDB::blob_id, CBDB_Transaction::Commit(), eBDB_Ok, CBDB_Transaction::eEnvDefault, CBDB_FileCursor::eEQ, CBDB_Transaction::eNoAssociation, CBDB_FileCursor::Fetch(), CBDB_FileCursor::From, CBDB_Cache::IsReadOnly(), CBDB_Cache::IsSaveStatistics(), ITERATE, ncbi::grid::netcache::search::fields::key, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_Env, CBDB_Cache::m_Statistics, CBDB_Cache::m_TimeLine, CBDB_Cache::m_TimeLine_Lock, SCache_AttrDB::overflow, SCache_AttrDB::owner_name, SCache_AttrDB::read_count, CTimeLine< BV >::RemoveObject(), CBDB_FileCursor::SetCondition(), CBDB_RawFile::SetTransaction(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::SetTransaction(), ncbi::grid::netcache::search::fields::subkey, CBDB_FieldString::ToString(), dtl::version, CBDB_Cache::x_DropBlob(), and CBDB_Cache::x_UpdateOwnerStatOnDelete().
◆ RunPurgeThread() void CBDB_Cache::RunPurgeThread ( unsigned purge_delay =30
) ◆ SameCacheParams()
Implements ICache.
Definition at line 5219 of file bdb_blobcache.cpp.
References CDirEntry::AddTrailingPathSeparator(), CTreeNode< TValue, TKeyGetterP >::FindNode(), CTreeNode< TValue, TKeyGetterP >::GetValue(), kBDBCacheDriverName, kCFParam_name, kCFParam_path, kEmptyStr, CBDB_Cache::m_Name, and CBDB_Cache::m_Path.
◆ SBDB_CacheStatistics() ◆ SBDB_CacheUnitStatistics() SBDB_CacheUnitStatistics::SBDB_CacheUnitStatistics ( ) ◆ SBDB_TimeAccessStatistics() SBDB_TimeAccessStatistics::SBDB_TimeAccessStatistics ( unsigned d, unsigned hr, unsigned put, unsigned get ) inlineDefinition at line 150 of file bdb_blobcache.hpp.
◆ SCache_AttrDB() SCache_AttrDB::SCache_AttrDB ( ) inlineDefinition at line 89 of file bdb_blobcache.hpp.
References CBDB_File::BindData(), CBDB_File::BindKey(), SCache_AttrDB::blob_id, CBDB_File::DisableNull(), SCache_AttrDB::key, SCache_AttrDB::max_time, SCache_AttrDB::overflow, SCache_AttrDB::owner_name, SCache_AttrDB::read_count, SCache_AttrDB::split_id, SCache_AttrDB::subkey, SCache_AttrDB::time_stamp, SCache_AttrDB::ttl, SCache_AttrDB::upd_count, SCache_AttrDB::version, and SCache_AttrDB::volume_id.
◆ SCache_IdIDX() SCache_IdIDX::SCache_IdIDX ( ) inline ◆ SetBatchSleep() void CBDB_Cache::SetBatchSleep ( unsigned sleep ) ◆ SetBlobVersionAsCurrent()Set current valid version for a BLOB.
Implements ICache.
Definition at line 2881 of file bdb_blobcache.cpp.
References NCBI_USER_THROW.
◆ SetCheckpoint() void CBDB_Cache::SetCheckpoint ( unsigned int bytes ) inline ◆ SetCheckpointDelay() void CBDB_Cache::SetCheckpointDelay ( unsigned int delay ) inline ◆ SetFlags() void CBDB_Cache::SetFlags ( TFlags flags ) virtual ◆ SetInitIfDirty() void CBDB_Cache::SetInitIfDirty ( bool value ) inline ◆ SetLogDir() ◆ SetLogFileMax() void CBDB_Cache::SetLogFileMax ( unsigned fl_size ) inline ◆ SetMaxBlobSize() void CBDB_Cache::SetMaxBlobSize ( unsigned max_size ) inline ◆ SetMempTrickle() void CBDB_Cache::SetMempTrickle ( unsigned memp_trickle ) inline ◆ SetMonitor()Set monitor (class does NOT take ownership)
Monitor should be set at right after construction, before using cache. (Especially important in MT environment)
Definition at line 406 of file bdb_blobcache.hpp.
References CBDB_Cache::m_Monitor.
◆ SetOverflowLimit() void CBDB_Cache::SetOverflowLimit ( unsigned limit ) ◆ SetPurgeBatchSize() void CBDB_Cache::SetPurgeBatchSize ( unsigned batch_size ) ◆ SetReadUpdateLimit() void CBDB_Cache::SetReadUpdateLimit ( unsigned ) inlineSet update attribute limit (0 by default)
When cache is configured to update BLOB time stamps on read it can cause delays because it needs to initiate a transaction every time you read. This method configures a delayed update. Cache keeps all updates until it reaches the limit and saves it all in one transaction.
Definition at line 419 of file bdb_blobcache.hpp.
Referenced by CSplitCacheApp::SetupCache().
◆ SetRR_Volumes() void CBDB_Cache::SetRR_Volumes ( unsigned rrv ) inline ◆ SetSaveStatistics() void CBDB_Cache::SetSaveStatistics ( bool save ) inline ◆ SetTimeStampPolicy() void CBDB_Cache::SetTimeStampPolicy ( TTimeStampFlags policy, unsigned int timeout, unsigned int max_timeout =0
) virtual ◆ SetTTL_Prolongation() void CBDB_Cache::SetTTL_Prolongation ( unsigned ttl_prolong ) ◆ SetVersionRetention() ◆ SetWriteSync() ◆ StartPurgeThread() void CBDB_Cache::StartPurgeThread ( )
Start background thread.
Definition at line 1545 of file bdb_blobcache.cpp.
References CBDB_Cache_OnAppExit::AddOnExitCallback(), CBDB_Env::eBackground_Checkpoint, CBDB_Env::eBackground_DeadLockDetect, CBDB_Env::eBackground_MempTrickle, ERR_POST_X, flags, Info(), LOG_POST_X, CBDB_Cache::m_CheckPointDelay, CBDB_Cache::m_Env, CBDB_Cache::m_JoinedEnv, CBDB_Cache::m_MempTrickle, CBDB_Cache::m_PurgeThread, CBDB_Cache::m_PurgeThreadDelay, CBDB_Cache::m_RunPurgeThread, CBDB_Cache::m_StopThreadFlag, CRef< C, Locker >::Reset(), CThread::Run(), CBDB_Env::RunBackgroundWriter(), CBDB_Env::TransactionCheckpoint(), and Warning().
Referenced by CBDB_Cache::Open().
◆ StopPurge() void CBDB_Cache::StopPurge ( ) ◆ StopPurgeThread() void CBDB_Cache::StopPurgeThread ( )Stop background thread.
Definition at line 1575 of file bdb_blobcache.cpp.
References CRef< C, Locker >::Empty(), Info(), CThread::Join(), LOG_POST_X, CBDB_Cache::m_PurgeThread, CBDB_Cache::m_StopThreadFlag, CThreadNonStop::RequestStop(), CRef< C, Locker >::Reset(), and CBDB_Cache::StopPurge().
Referenced by CBDB_Cache::Close(), and CBDB_Cache_OnAppExit::operator()().
◆ Store() [1/2] ◆ Store() [2/2] ◆ Unlock() void CBDB_Cache::Unlock ( void ) ◆ Verify()Run verification of the cache database.
Definition at line 4348 of file bdb_blobcache.cpp.
References CDirEntry::AddTrailingPathSeparator(), CBDB_Cache::Close(), ERR_POST_X, CBDB_Env::ForceRemove(), CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_Env, CBDB_Cache::m_Path, CBDB_Env::Open(), CBDB_Env::OpenErrFile(), CBDB_Env::Remove(), CBDB_Env::SetCacheSize(), CBDB_RawFile::SetEnv(), string, and CBDB_File::Verify().
Referenced by CBDB_CacheVerifyApp::Run().
◆ WriteOverflow() ◆ x_AddErrGetPut() void SBDB_CacheUnitStatistics::x_AddErrGetPut ( EErrGetPut operation ) private ◆ x_CheckTimeStampExpired() bool CBDB_Cache::x_CheckTimeStampExpired ( SCache_AttrDB & attr_db, time_t curr, time_t * exp_time =0
) private
Definition at line 4426 of file bdb_blobcache.cpp.
References CBDB_Cache::GetTimeout(), int, CBDB_Cache::m_MaxTimeout, max(), SCache_AttrDB::time_stamp, and SCache_AttrDB::ttl.
Referenced by CBDB_Cache::DropBlobWithExpCheck(), CBDB_Cache::EvaluateTimeLine(), CBDB_Cache::GetBlobAccess(), CBDB_Cache::GetReadStream(), CBDB_Cache::GetSizeEx(), CBDB_Cache::HasBlobs(), CBDB_Cache::Purge(), and CBDB_Cache::Read().
◆ x_Close() void CBDB_Cache::x_Close ( void ) private ◆ x_ComputeExpTime() time_t CBDB_Cache::x_ComputeExpTime ( int time_stamp, unsigned ttl, int timeout ) private ◆ x_CreateOverflowReader() ◆ x_DropBlob()Definition at line 4792 of file bdb_blobcache.cpp.
References SCache_IdIDX::blob_id, CBDB_File::Delete(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::Delete(), eBDB_Ok, CBDB_FileCursor::eEQ, CBDB_RawFile::eThrowOnError, CBDB_FileCursor::Fetch(), CBDB_FileCursor::From, CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::GetCoordinates(), CBDB_Cache::IsReadOnly(), ncbi::grid::netcache::search::fields::key, SCache_AttrDB::key, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_CacheIdIDX, CBDB_FileCursor::SetCondition(), CBDB_RawFile::SetTransaction(), SCache_AttrDB::split_id, ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::subkey, SCache_AttrDB::version, dtl::version, SCache_AttrDB::volume_id, and CBDB_Cache::x_DropOverflow().
Referenced by CBDB_Cache::KillBlob(), CBDB_Cache::Purge(), and CBDB_Cache::Remove().
◆ x_DropOverflow() [1/2] void CBDB_Cache::x_DropOverflow ( const string & file_path ) private ◆ x_DropOverflow() [2/2]Definition at line 4612 of file bdb_blobcache.cpp.
References ERR_POST_X, CBDB_Cache::GetName(), ncbi::grid::netcache::search::fields::key, CBDB_Cache::m_Path, s_MakeOverflowFileName(), ncbi::grid::netcache::search::fields::subkey, and dtl::version.
Referenced by CBDB_Cache::DropBlob(), CBDB_Cache::DropBlobWithExpCheck(), CBDB_Cache::WriteOverflow(), CBDB_Cache::x_DropBlob(), and CBDB_Cache::x_Store().
◆ x_FetchBlobAttributes() ◆ x_PerformCheckPointNoLock() void CBDB_Cache::x_PerformCheckPointNoLock ( unsigned bytes_written ) private ◆ x_PidLock() ◆ x_RetrieveBlobAttributes() ◆ x_Store()Definition at line 1985 of file bdb_blobcache.cpp.
References _ASSERT, SBDB_CacheStatistics::AddBlobQuotaError(), CTimeLine< BV >::AddObject(), SBDB_CacheStatistics::AddStore(), BDB_THROW, SCache_AttrDB::blob_id, CBDB_Cache::BlobCheckIn(), CBDB_Transaction::Commit(), CBDB_Cache::ComputeMaxTime(), data, CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::Delete(), eBDB_Ok, CBDB_Cache::eBlobCheckIn_Create, CBDB_Cache::eBlobCheckIn_Found, CBDB_Cache::EBlobCheckIn_NotFound, ICache::eDropAll, ICache::eDropOlder, CBDB_Transaction::eEnvDefault, CBDB_FileCursor::eEQ, CBDB_Transaction::eNoAssociation, CBDB_FileCursor::eReadModifyUpdate, ERR_POST_X, Error(), CBDB_RawFile::eThrowOnError, CBDB_FileCursor::Fetch(), CBDB_FileCursor::From, CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::GetCoordinates(), CLockVectorGuard< TLockVect >::GetId(), CFastLocalTime::GetLocalTimezone(), CBDB_Cache::GetMaxBlobSize(), CBDB_Cache::GetName(), CBDB_Cache::GetOverflowLimit(), CBDB_Cache::GetTimeout(), IServer_Monitor::IsActive(), CBDB_Cache::IsReadOnly(), CBDB_Cache::IsSaveStatistics(), ncbi::grid::netcache::search::fields::key, CBDB_Cache::KillBlob(), CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_DB_Lock, CBDB_Cache::m_Env, CBDB_Cache::m_LocalTimer, CBDB_Cache::m_LockTimeout, CBDB_Cache::m_LockVector, CBDB_Cache::m_MaxTimeout, CBDB_Cache::m_MaxTTL_prolong, CBDB_Cache::m_Monitor, CBDB_Cache::m_Path, CBDB_Cache::m_Statistics, CBDB_Cache::m_TimeLine, CBDB_Cache::m_TimeLine_Lock, CBDB_Cache::m_Timeout, CBDB_Cache::m_VersionFlag, SCache_AttrDB::max_time, min(), msg(), out(), SCache_AttrDB::overflow, SCache_AttrDB::owner_name, CBDB_Cache::Purge(), s_MakeOverflowFileName(), IServer_Monitor::Send(), CBDB_FileCursor::SetCondition(), CBDB_RawFile::SetTransaction(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::SetTransaction(), ncbi::grid::netcache::search::fields::size, NStr::SizetToString(), SCache_AttrDB::split_id, ncbi::grid::netcache::search::fields::subkey, SCache_AttrDB::time_stamp, trunc, SCache_AttrDB::ttl, NStr::UIntToString(), SCache_AttrDB::upd_count, CBDB_FileCursor::Update(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::UpdateInsert(), dtl::version, SCache_AttrDB::volume_id, CBDB_Cache::WriteOverflow(), CBDB_Cache::x_ComputeExpTime(), and CBDB_Cache::x_DropOverflow().
Referenced by CBDB_CacheIWriter::Flush(), CBDB_Cache::Store(), and CBDB_CacheIWriter::~CBDB_CacheIWriter().
◆ x_TruncateDB() void CBDB_Cache::x_TruncateDB ( ) privateDefinition at line 4514 of file bdb_blobcache.cpp.
References SCache_AttrDB::blob_id, CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::Delete(), eBDB_Ok, CBDB_FileCursor::eFirst, CDir::Exists(), CBDB_FileCursor::Fetch(), CDir::GetEntries(), CBDB_Cache::GetName(), Info(), CBDB_Cache::IsReadOnly(), ITERATE, LOG_POST_X, CBDB_Cache::m_BLOB_SplitStore, CBDB_Cache::m_CacheAttrDB, CBDB_Cache::m_Path, mask, CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::Save(), CBDB_FileCursor::SetCondition(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::SetTransaction(), SCache_AttrDB::split_id, CBDB_RawFile::Truncate(), and SCache_AttrDB::volume_id.
Referenced by CBDB_Cache::Purge().
◆ x_UpdateAccessTime()Transactional update of access time attributes.
Definition at line 4460 of file bdb_blobcache.cpp.
References _ASSERT, eBDB_Ok, CBDB_Cache::eBlobRead, CBDB_Cache::eBlobStore, CBDB_Cache::eBlobUpdate, CBDB_FileCursor::eEQ, CBDB_FileCursor::eReadModifyUpdate, CBDB_FileCursor::Fetch(), CBDB_FileCursor::From, CBDB_Cache::IsReadOnly(), ncbi::grid::netcache::search::fields::key, CBDB_Cache::m_CacheAttrDB, SCache_AttrDB::max_time, SCache_AttrDB::read_count, CBDB_FileCursor::SetCondition(), SCache_AttrDB::time_stamp, SCache_AttrDB::upd_count, CBDB_FileCursor::Update(), and dtl::version.
Referenced by CBDB_Cache::x_UpdateReadAccessTime().
◆ x_UpdateOwnerStatOnDelete() void CBDB_Cache::x_UpdateOwnerStatOnDelete ( const string & owner, bool expl_delete ) private ◆ x_UpdateReadAccessTime() ◆ ~CBDB_Cache() CBDB_Cache::~CBDB_Cache ( ) virtual ◆ ~CBDB_CacheHolder() CBDB_CacheHolder::~CBDB_CacheHolder ( ) ◆ blob_id [1/2]BLOB counter.
Definition at line 83 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::BlobCheckIn(), CBDB_Cache::DropBlob(), CBDB_Cache::DropBlobWithExpCheck(), CBDB_Cache::EvaluateTimeLine(), CBDB_Cache::GetBlobId(), CBDB_Cache::GetReadStream(), CBDB_Cache::Open(), CBDB_Cache::Purge(), CBDB_Cache::Read(), CBDB_Cache::RegisterOverflow(), CBDB_Cache::Remove(), SCache_AttrDB::SCache_AttrDB(), CBDB_Cache::x_RetrieveBlobAttributes(), CBDB_Cache::x_Store(), and CBDB_Cache::x_TruncateDB().
◆ blob_id [2/2] ◆ blob_size_hist ◆ blob_size_max_total unsigned SBDB_CacheUnitStatistics::blob_size_max_total ◆ blobs_db unsigned SBDB_CacheUnitStatistics::blobs_db ◆ blobs_expl_deleted_total unsigned SBDB_CacheUnitStatistics::blobs_expl_deleted_total ◆ blobs_never_read_total unsigned SBDB_CacheUnitStatistics::blobs_never_read_total ◆ blobs_overflow_total unsigned SBDB_CacheUnitStatistics::blobs_overflow_total ◆ blobs_purge_deleted_total unsigned SBDB_CacheUnitStatistics::blobs_purge_deleted_total ◆ blobs_read_total unsigned SBDB_CacheUnitStatistics::blobs_read_total ◆ blobs_size_db double SBDB_CacheUnitStatistics::blobs_size_db ◆ blobs_size_total double SBDB_CacheUnitStatistics::blobs_size_total ◆ blobs_stored_total unsigned SBDB_CacheUnitStatistics::blobs_stored_total ◆ blobs_updates_total unsigned SBDB_CacheUnitStatistics::blobs_updates_total ◆ day unsigned SBDB_TimeAccessStatistics::day ◆ err_blob_get unsigned SBDB_CacheUnitStatistics::err_blob_get ◆ err_blob_over_quota unsigned SBDB_CacheUnitStatistics::err_blob_over_quota ◆ err_blob_put unsigned SBDB_CacheUnitStatistics::err_blob_put ◆ err_communication unsigned SBDB_CacheUnitStatistics::err_communication ◆ err_internal unsigned SBDB_CacheUnitStatistics::err_internal ◆ err_no_blob unsigned SBDB_CacheUnitStatistics::err_no_blob ◆ err_protocol unsigned SBDB_CacheUnitStatistics::err_protocol ◆ get_count unsigned SBDB_TimeAccessStatistics::get_count ◆ hour unsigned SBDB_TimeAccessStatistics::hour ◆ kBDBCacheDriverName const char* kBDBCacheDriverName extern ◆ key [1/3]Definition at line 74 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::BlobCheckIn(), CBDB_Cache::DropBlobWithExpCheck(), CBDB_Cache::GetAccessTime(), CBDB_Cache::GetBlobId(), CBDB_Cache::HasBlobs(), CBDB_Cache::Open(), CBDB_Cache::Purge(), CBDB_Cache::RegisterOverflow(), SCache_AttrDB::SCache_AttrDB(), CBDB_Cache::x_DropBlob(), and CBDB_Cache::x_FetchBlobAttributes().
◆ key [2/3] ◆ key [3/3] string CBDB_Cache::CacheKey::key ◆ m_BatchSleep unsigned CBDB_Cache::m_BatchSleep private ◆ m_BLOB_SplitStoreCache BLOB storage.
Definition at line 914 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::Close(), CBDB_Cache::DropBlob(), CBDB_Cache::DropBlobWithExpCheck(), CBDB_Cache::GetBlobAccess(), CBDB_Cache::GetReadStream(), CBDB_Cache::GetSizeEx(), CBDB_Cache::IsOpen(), CBDB_Cache::KillBlob(), CBDB_Cache::Open(), CBDB_Cache::OpenReadOnly(), CBDB_Cache::Purge(), CBDB_Cache::Read(), CBDB_Cache::RegisterOverflow(), CBDB_Cache::Remove(), CBDB_Cache::x_DropBlob(), CBDB_Cache::x_Store(), and CBDB_Cache::x_TruncateDB().
◆ m_BlobCache ICache* CBDB_CacheHolder::m_BlobCache private ◆ m_BlobIdCounter ◆ m_CacheAttrDBCache attributes database.
Definition at line 915 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::BlobCheckIn(), CBDB_Cache::Close(), CBDB_Cache::DropBlob(), CBDB_Cache::DropBlobWithExpCheck(), CBDB_Cache::GetAccessTime(), CBDB_Cache::GetBlobAccess(), CBDB_Cache::GetBlobOwner(), CBDB_Cache::GetReadStream(), CBDB_Cache::GetSizeEx(), CBDB_Cache::GetWriteStream(), CBDB_Cache::HasBlobs(), CBDB_Cache::Open(), CBDB_Cache::OpenReadOnly(), CBDB_Cache::Purge(), CBDB_Cache::Read(), CBDB_Cache::RegisterOverflow(), CBDB_Cache::Remove(), CBDB_Cache::Verify(), CBDB_Cache::x_Close(), CBDB_Cache::x_DropBlob(), CBDB_Cache::x_FetchBlobAttributes(), CBDB_Cache::x_RetrieveBlobAttributes(), CBDB_Cache::x_Store(), CBDB_Cache::x_TruncateDB(), and CBDB_Cache::x_UpdateAccessTime().
◆ m_CacheAttrDB_RO1 ◆ m_CacheAttrDB_RO2 ◆ m_CacheIdIDX ◆ m_CacheIdIDX_RO ◆ m_CARO1_Lock ◆ m_CARO2_Lock ◆ m_CheckPointDelay unsigned CBDB_Cache::m_CheckPointDelay private ◆ m_CheckPointInterval unsigned CBDB_Cache::m_CheckPointInterval private ◆ m_CleanLogOnPurge unsigned CBDB_Cache::m_CleanLogOnPurge private ◆ m_Closed bool CBDB_Cache::m_Closed private ◆ m_DB_LockDatabase lock.
Definition at line 917 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::BlobCheckIn(), CBDB_Cache::DropBlob(), CBDB_Cache::DropBlobWithExpCheck(), CBDB_Cache::GetAccessTime(), CBDB_Cache::GetBatchSleep(), CBDB_Cache::GetBlobAccess(), CBDB_Cache::GetBlobOwner(), CBDB_Cache::GetPurgeBatchSize(), CBDB_Cache::GetReadStream(), CBDB_Cache::GetSizeEx(), CBDB_Cache::GetStatistics(), CBDB_Cache::HasBlobs(), CBDB_Cache::InitStatistics(), CBDB_Cache::KillBlob(), CBDB_Cache::Lock(), CBDB_Cache::Open(), CBDB_Cache::OpenReadOnly(), CBDB_Cache::Purge(), CBDB_Cache::Read(), CBDB_Cache::RegisterCommError(), CBDB_Cache::RegisterInternalError(), CBDB_Cache::RegisterNoBlobError(), CBDB_Cache::RegisterOverflow(), CBDB_Cache::RegisterProtocolError(), CBDB_Cache::Remove(), CBDB_Cache::SetBatchSleep(), CBDB_Cache::SetPurgeBatchSize(), CBDB_Cache::SetTimeStampPolicy(), CBDB_Cache::SetVersionRetention(), CBDB_Cache::StopPurge(), CBDB_Cache::Unlock(), CBDB_CacheIWriter::Write(), CBDB_Cache::x_Store(), and CBDB_CacheIWriter::~CBDB_CacheIWriter().
◆ m_EnvCommon environment for cache DBs.
Definition at line 912 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::BlobCheckIn(), CBDB_Cache::CleanLog(), CBDB_Cache::Close(), CBDB_Cache::DropBlob(), CBDB_Cache::EvaluateTimeLine(), CBDB_Cache::GetBlobAccess(), CBDB_Cache::GetEnv(), CBDB_Cache::GetReadStream(), CBDB_Cache::KillBlob(), CBDB_Cache::Open(), CBDB_Cache::Purge(), CBDB_Cache::Read(), CBDB_Cache::RegisterOverflow(), CBDB_Cache::Remove(), CBDB_Cache::StartPurgeThread(), CBDB_Cache::Verify(), CBDB_Cache::x_Close(), CBDB_Cache::x_PerformCheckPointNoLock(), and CBDB_Cache::x_Store().
◆ m_GC_Deleted ◆ m_GlobalStatDefinition at line 281 of file bdb_blobcache.hpp.
Referenced by SBDB_CacheStatistics::AddBlobQuotaError(), SBDB_CacheStatistics::AddCommError(), SBDB_CacheStatistics::AddExplDelete(), SBDB_CacheStatistics::AddInternalError(), SBDB_CacheStatistics::AddNeverRead(), SBDB_CacheStatistics::AddNoBlobError(), SBDB_CacheStatistics::AddProtocolError(), SBDB_CacheStatistics::AddPurgeDelete(), SBDB_CacheStatistics::AddRead(), SBDB_CacheStatistics::AddStore(), SBDB_CacheStatistics::ConvertToRegistry(), SBDB_CacheStatistics::GlobalStatistics(), SBDB_CacheStatistics::Init(), and SBDB_CacheStatistics::PrintStatistics().
◆ m_IdCache ICache* CBDB_CacheHolder::m_IdCache private ◆ m_IDIDX_Lock_RO ◆ m_InitIfDirty bool CBDB_Cache::m_InitIfDirty private ◆ m_JoinedEnv bool CBDB_Cache::m_JoinedEnv private ◆ m_LastTimeLineCheck time_t CBDB_Cache::m_LastTimeLineCheck private ◆ m_LocalTimer ◆ m_LockTimeout unsigned CBDB_Cache::m_LockTimeout private ◆ m_LockVector ◆ m_LogDir ◆ m_LogSizeMax unsigned CBDB_Cache::m_LogSizeMax private ◆ m_MaxBlobSize unsigned CBDB_Cache::m_MaxBlobSize private ◆ m_MaxTimeout unsigned CBDB_Cache::m_MaxTimeout private ◆ m_MaxTTL_prolong unsigned CBDB_Cache::m_MaxTTL_prolong private ◆ m_MempTrickle unsigned CBDB_Cache::m_MempTrickle private ◆ m_Monitor ◆ m_Name ◆ m_NextExpTime time_t CBDB_Cache::m_NextExpTime private ◆ m_OverflowLimit unsigned CBDB_Cache::m_OverflowLimit private ◆ m_OwnerStatMapDefinition at line 282 of file bdb_blobcache.hpp.
Referenced by SBDB_CacheStatistics::AddBlobQuotaError(), SBDB_CacheStatistics::AddCommError(), SBDB_CacheStatistics::AddExplDelete(), SBDB_CacheStatistics::AddInternalError(), SBDB_CacheStatistics::AddNeverRead(), SBDB_CacheStatistics::AddNoBlobError(), SBDB_CacheStatistics::AddProtocolError(), SBDB_CacheStatistics::AddPurgeDelete(), SBDB_CacheStatistics::AddRead(), SBDB_CacheStatistics::AddStore(), SBDB_CacheStatistics::ConvertToRegistry(), SBDB_CacheStatistics::Init(), and SBDB_CacheStatistics::PrintStatistics().
◆ m_PathPath to storage.
Definition at line 903 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::Close(), CBDB_Cache::GetCacheName(), CBDB_Cache::GetSizeEx(), CBDB_Cache::GetWriteStream(), CBDB_Cache::Open(), CBDB_Cache::OpenReadOnly(), CBDB_Cache::Read(), CBDB_Cache::SameCacheParams(), CBDB_Cache::Verify(), CBDB_Cache::x_CreateOverflowReader(), CBDB_Cache::x_DropOverflow(), CBDB_Cache::x_PidLock(), CBDB_Cache::x_Store(), and CBDB_Cache::x_TruncateDB().
◆ m_PidGuard ◆ m_PurgeBatchSize unsigned CBDB_Cache::m_PurgeBatchSize private ◆ m_PurgeCount unsigned CBDB_Cache::m_PurgeCount private ◆ m_PurgeNowRunning bool CBDB_Cache::m_PurgeNowRunning private ◆ m_PurgeStopSignal ◆ m_PurgeThread ◆ m_PurgeThreadDelay unsigned CBDB_Cache::m_PurgeThreadDelay private ◆ m_ReadOnly bool CBDB_Cache::m_ReadOnly private ◆ m_RoundRobinVolumes unsigned CBDB_Cache::m_RoundRobinVolumes private ◆ m_RunPurgeThread bool CBDB_Cache::m_RunPurgeThread private ◆ m_SaveStatistics bool CBDB_Cache::m_SaveStatistics private ◆ m_StatisticsStat counters.
Definition at line 968 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::DropBlob(), CBDB_Cache::GetBlobAccess(), CBDB_Cache::GetReadStream(), CBDB_Cache::GetStatistics(), CBDB_Cache::InitStatistics(), CBDB_Cache::Purge(), CBDB_Cache::Read(), CBDB_Cache::RegisterCommError(), CBDB_Cache::RegisterInternalError(), CBDB_Cache::RegisterNoBlobError(), CBDB_Cache::RegisterProtocolError(), CBDB_Cache::Remove(), CBDB_CacheIWriter::Write(), CBDB_Cache::x_Store(), and CBDB_CacheIWriter::~CBDB_CacheIWriter().
◆ m_StopThreadFlag shared_ptr<bool> CBDB_Cache::m_StopThreadFlag private ◆ m_TimeLine ◆ m_TimeLine_Lock ◆ m_Timeout unsigned CBDB_Cache::m_Timeout private ◆ m_TimeStampFlag ◆ m_VersionFlag ◆ m_WSync ◆ max_time ◆ overflowoverflow flag
Definition at line 78 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::BlobCheckIn(), CBDB_Cache::DropBlob(), CBDB_Cache::DropBlobWithExpCheck(), CBDB_Cache::EvaluateTimeLine(), CBDB_Cache::GetBlobAccess(), CBDB_Cache::GetReadStream(), CBDB_Cache::GetSizeEx(), CBDB_Cache::Purge(), CBDB_Cache::Read(), CBDB_Cache::RegisterOverflow(), CBDB_Cache::Remove(), SCache_AttrDB::SCache_AttrDB(), CBDB_Cache::x_RetrieveBlobAttributes(), and CBDB_Cache::x_Store().
◆ owner_nameowner's name
Definition at line 87 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::BlobCheckIn(), CBDB_Cache::DropBlob(), CBDB_Cache::GetBlobAccess(), CBDB_Cache::GetBlobOwner(), CBDB_Cache::GetReadStream(), CBDB_Cache::Purge(), CBDB_Cache::Read(), CBDB_Cache::RegisterOverflow(), CBDB_Cache::Remove(), SCache_AttrDB::SCache_AttrDB(), and CBDB_Cache::x_Store().
◆ put_count unsigned SBDB_TimeAccessStatistics::put_count ◆ read_count ◆ split_iddemux coord[1]
Definition at line 85 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::BlobCheckIn(), CBDB_Cache::DropBlob(), CBDB_Cache::DropBlobWithExpCheck(), CBDB_Cache::GetBlobAccess(), CBDB_Cache::GetReadStream(), CBDB_Cache::Open(), CBDB_Cache::Read(), CBDB_Cache::RegisterOverflow(), SCache_AttrDB::SCache_AttrDB(), CBDB_Cache::x_DropBlob(), CBDB_Cache::x_RetrieveBlobAttributes(), CBDB_Cache::x_Store(), and CBDB_Cache::x_TruncateDB().
◆ subkey [1/3]Definition at line 76 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::BlobCheckIn(), CBDB_Cache::DropBlobWithExpCheck(), CBDB_Cache::GetAccessTime(), CBDB_Cache::GetBlobId(), CBDB_Cache::Open(), CBDB_Cache::Purge(), CBDB_Cache::RegisterOverflow(), CBDB_Cache::Remove(), SCache_AttrDB::SCache_AttrDB(), CBDB_Cache::x_DropBlob(), and CBDB_Cache::x_FetchBlobAttributes().
◆ subkey [2/3] ◆ subkey [3/3] string CBDB_Cache::CacheKey::subkey ◆ time_access ◆ time_stampaccess timestamp
Definition at line 77 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::BlobCheckIn(), CBDB_Cache::GetAccessTime(), CBDB_Cache::GetBlobAccess(), CBDB_Cache::GetReadStream(), CBDB_Cache::Purge(), CBDB_Cache::Read(), CBDB_Cache::RegisterOverflow(), SCache_AttrDB::SCache_AttrDB(), CBDB_Cache::x_CheckTimeStampExpired(), CBDB_Cache::x_Store(), and CBDB_Cache::x_UpdateAccessTime().
◆ ttl ◆ upd_count ◆ version [1/3]Definition at line 75 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::BlobCheckIn(), CBDB_Cache::DropBlobWithExpCheck(), CBDB_Cache::GetAccessTime(), CBDB_Cache::GetBlobId(), CBDB_Cache::HasBlobs(), CBDB_Cache::Open(), CBDB_Cache::Purge(), CBDB_Cache::RegisterOverflow(), CBDB_Cache::Remove(), SCache_AttrDB::SCache_AttrDB(), CBDB_Cache::x_DropBlob(), and CBDB_Cache::x_FetchBlobAttributes().
◆ version [2/3] ◆ version [3/3] int CBDB_Cache::CacheKey::version ◆ volume_iddemux coord[0]
Definition at line 84 of file bdb_blobcache.hpp.
Referenced by CBDB_Cache::BlobCheckIn(), CBDB_Cache::DropBlob(), CBDB_Cache::DropBlobWithExpCheck(), CBDB_Cache::GetBlobAccess(), CBDB_Cache::GetReadStream(), CBDB_Cache::Open(), CBDB_Cache::Read(), CBDB_Cache::RegisterOverflow(), SCache_AttrDB::SCache_AttrDB(), CBDB_Cache::x_DropBlob(), CBDB_Cache::x_RetrieveBlobAttributes(), CBDB_Cache::x_Store(), and CBDB_Cache::x_TruncateDB().
◆ CBDB_Cache_OnAppExit ◆ CBDB_CacheIReader ◆ CBDB_CacheIWriter ◆ CCacheTransactionRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4