@@ -444,8 +444,15 @@ bool VersionedLayerClientImpl::RemoveFromCache(
444
444
repository::PartitionsCacheRepository partitions_cache_repository (
445
445
catalog_, settings_.cache );
446
446
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
+
447
454
if (!partitions_cache_repository.ClearPartitionMetadata (
448
- catalog_version_. load () , partition_id, layer_id_, partition)) {
455
+ version , partition_id, layer_id_, partition)) {
449
456
return false ;
450
457
}
451
458
@@ -463,8 +470,15 @@ bool VersionedLayerClientImpl::RemoveFromCache(const geo::TileKey& tile) {
463
470
read::QuadTreeIndex cached_tree;
464
471
repository::PartitionsCacheRepository partitions_cache_repository (
465
472
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)) {
468
482
auto data = cached_tree.Find (tile, false );
469
483
if (!data) {
470
484
return true ;
@@ -481,8 +495,7 @@ bool VersionedLayerClientImpl::RemoveFromCache(const geo::TileKey& tile) {
481
495
}
482
496
}
483
497
return partitions_cache_repository.ClearQuadTree (
484
- layer_id_, cached_tree.GetRootTile (), kQuadTreeDepth ,
485
- catalog_version_.load ());
498
+ layer_id_, cached_tree.GetRootTile (), kQuadTreeDepth , version);
486
499
}
487
500
return result;
488
501
}
@@ -619,6 +632,11 @@ bool VersionedLayerClientImpl::Protect(const TileKeys& tiles) {
619
632
return false ;
620
633
}
621
634
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
+ }
622
640
623
641
auto tiles_dependency_resolver =
624
642
ProtectDependencyResolver (catalog_, layer_id_, version, settings_);
@@ -636,6 +654,11 @@ bool VersionedLayerClientImpl::Release(const TileKeys& tiles) {
636
654
return false ;
637
655
}
638
656
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
+ }
639
662
640
663
auto tiles_dependency_resolver =
641
664
ReleaseDependencyResolver (catalog_, layer_id_, version, settings_);
0 commit comments