@@ -444,8 +444,15 @@ bool VersionedLayerClientImpl::RemoveFromCache(
444444 repository::PartitionsCacheRepository partitions_cache_repository (
445445 catalog_, settings_.cache );
446446 boost::optional<model::Partition> partition;
447+ auto version = catalog_version_.load ();
448+ if (version == kInvalidVersion ) {
449+ OLP_SDK_LOG_WARNING (
450+ kLogTag , " Method RemoveFromCache failed, version is not initialized" );
451+ return false ;
452+ }
453+
447454 if (!partitions_cache_repository.ClearPartitionMetadata (
448- catalog_version_. load () , partition_id, layer_id_, partition)) {
455+ version , partition_id, layer_id_, partition)) {
449456 return false ;
450457 }
451458
@@ -463,8 +470,15 @@ bool VersionedLayerClientImpl::RemoveFromCache(const geo::TileKey& tile) {
463470 read::QuadTreeIndex cached_tree;
464471 repository::PartitionsCacheRepository partitions_cache_repository (
465472 catalog_, settings_.cache );
466- if (partitions_cache_repository.FindQuadTree (
467- layer_id_, catalog_version_.load (), tile, cached_tree)) {
473+ auto version = catalog_version_.load ();
474+ if (version == kInvalidVersion ) {
475+ OLP_SDK_LOG_WARNING (
476+ kLogTag , " Method RemoveFromCache failed, version is not initialized" );
477+ return false ;
478+ }
479+
480+ if (partitions_cache_repository.FindQuadTree (layer_id_, version, tile,
481+ cached_tree)) {
468482 auto data = cached_tree.Find (tile, false );
469483 if (!data) {
470484 return true ;
@@ -481,8 +495,7 @@ bool VersionedLayerClientImpl::RemoveFromCache(const geo::TileKey& tile) {
481495 }
482496 }
483497 return partitions_cache_repository.ClearQuadTree (
484- layer_id_, cached_tree.GetRootTile (), kQuadTreeDepth ,
485- catalog_version_.load ());
498+ layer_id_, cached_tree.GetRootTile (), kQuadTreeDepth , version);
486499 }
487500 return result;
488501 }
@@ -619,6 +632,11 @@ bool VersionedLayerClientImpl::Protect(const TileKeys& tiles) {
619632 return false ;
620633 }
621634 auto version = catalog_version_.load ();
635+ if (version == kInvalidVersion ) {
636+ OLP_SDK_LOG_WARNING (kLogTag ,
637+ " Method Protect failed, version is not initialized" );
638+ return false ;
639+ }
622640
623641 auto tiles_dependency_resolver =
624642 ProtectDependencyResolver (catalog_, layer_id_, version, settings_);
@@ -636,6 +654,11 @@ bool VersionedLayerClientImpl::Release(const TileKeys& tiles) {
636654 return false ;
637655 }
638656 auto version = catalog_version_.load ();
657+ if (version == kInvalidVersion ) {
658+ OLP_SDK_LOG_WARNING (kLogTag ,
659+ " Method Release failed, version is not initialized" );
660+ return false ;
661+ }
639662
640663 auto tiles_dependency_resolver =
641664 ReleaseDependencyResolver (catalog_, layer_id_, version, settings_);
0 commit comments