@@ -602,8 +602,11 @@ Y_UNIT_TEST_SUITE(TFlatTableExecutor_CompactionScan) {
602602 Y_UNIT_TEST (TestCompactionScan) {
603603 TMyEnvBase env;
604604 TRowsModel data;
605+ auto counters = GetSharedPageCounters (env);
605606
606607 env->SetLogPriority (NKikimrServices::RESOURCE_BROKER, NActors::NLog::PRI_DEBUG);
608+ env->SetLogPriority (NKikimrServices::TABLET_EXECUTOR, NActors::NLog::PRI_DEBUG);
609+ env->SetLogPriority (NKikimrServices::TABLET_SAUSAGECACHE, NActors::NLog::PRI_TRACE);
607610
608611 env.FireTablet (env.Edge , env.Tablet , [&env](const TActorId &tablet, TTabletStorageInfo *info) {
609612 return new TTestFlatTablet (env.Edge , tablet, info);
@@ -634,13 +637,21 @@ Y_UNIT_TEST_SUITE(TFlatTableExecutor_CompactionScan) {
634637 env.WaitFor <NFake::TEvCompacted>(28 );
635638 env.WaitForWakeUp ();
636639
637- env.SendSync (new TEvTestFlatTablet::TEvQueueScan (data.Rows (), true ));
640+ auto queueScan = new TEvTestFlatTablet::TEvQueueScan (data.Rows (), true );
641+ queueScan->ExpectedPageFaults = 8 ;
642+ env.SendSync (std::move (queueScan));
638643 env.SendAsync (data.MakeRows (1 ));
639644 env.WaitFor <NFake::TEvCompacted>(3 );
640645 env.WaitForWakeUp ();
646+
647+ auto cacheHitsBefore = counters->CacheHitPages ->Val ();
648+ auto cacheMissBefore = counters->CacheMissPages ->Val ();
641649 env.SendAsync (new TEvTestFlatTablet::TEvStartQueuedScan ());
642650 TAutoPtr<IEventHandle> handle;
643651 env->GrabEdgeEventRethrow <TEvTestFlatTablet::TEvScanFinished>(handle);
652+ UNIT_ASSERT_VALUES_EQUAL (cacheHitsBefore + 8 , counters->CacheHitPages ->Val ());
653+ UNIT_ASSERT_VALUES_EQUAL (cacheMissBefore, counters->CacheMissPages ->Val ());
654+
644655 env.SendSync (new TEvents::TEvPoison, false , true );
645656 }
646657}
@@ -6756,7 +6767,7 @@ Y_UNIT_TEST_SUITE(TFlatTableExecutor_BTreeIndex) {
67566767 env.WaitFor <NFake::TEvCompacted>();
67576768
67586769 // all pages are always kept in shared cache (except flat index)
6759- UNIT_ASSERT_VALUES_EQUAL (counters->ActivePages ->Val (), 334 );
6770+ UNIT_ASSERT_GE (counters->ActivePages ->Val (), 334 );
67606771
67616772 env.SendSync (new NFake::TEvExecute{ new TTxFullScan (readRows, failedAttempts) });
67626773 UNIT_ASSERT_VALUES_EQUAL (readRows, 1000 );
@@ -6794,7 +6805,7 @@ Y_UNIT_TEST_SUITE(TFlatTableExecutor_BTreeIndex) {
67946805 env.WaitFor <NFake::TEvCompacted>();
67956806
67966807 // all pages are always kept in shared cache (except flat index)
6797- UNIT_ASSERT_VALUES_EQUAL (counters->ActivePages ->Val (), 334 );
6808+ UNIT_ASSERT_GE (counters->ActivePages ->Val (), 334 );
67986809
67996810 env.SendSync (new NFake::TEvExecute{ new TTxFullScan (readRows, failedAttempts) });
68006811 UNIT_ASSERT_VALUES_EQUAL (readRows, 1000 );
@@ -6833,7 +6844,7 @@ Y_UNIT_TEST_SUITE(TFlatTableExecutor_BTreeIndex) {
68336844 env.WaitFor <NFake::TEvCompacted>();
68346845
68356846 // all pages are always kept in shared cache
6836- UNIT_ASSERT_VALUES_EQUAL (counters->ActivePages ->Val (), 290 );
6847+ UNIT_ASSERT_GE (counters->ActivePages ->Val (), 290 );
68376848
68386849 env.SendSync (new NFake::TEvExecute{ new TTxFullScan (readRows, failedAttempts) });
68396850 UNIT_ASSERT_VALUES_EQUAL (readRows, 1000 );
@@ -6872,7 +6883,7 @@ Y_UNIT_TEST_SUITE(TFlatTableExecutor_BTreeIndex) {
68726883 env.WaitFor <NFake::TEvCompacted>();
68736884
68746885 // all pages are always kept in shared cache
6875- UNIT_ASSERT_VALUES_EQUAL (counters->ActivePages ->Val (), 334 );
6886+ UNIT_ASSERT_GE (counters->ActivePages ->Val (), 334 );
68766887
68776888 env.SendSync (new NFake::TEvExecute{ new TTxFullScan (readRows, failedAttempts) });
68786889 UNIT_ASSERT_VALUES_EQUAL (readRows, 1000 );
@@ -6911,7 +6922,7 @@ Y_UNIT_TEST_SUITE(TFlatTableExecutor_BTreeIndex) {
69116922 env.WaitFor <NFake::TEvCompacted>();
69126923
69136924 // all pages are always kept in shared cache
6914- UNIT_ASSERT_VALUES_EQUAL (counters->ActivePages ->Val (), 290 );
6925+ UNIT_ASSERT_GE (counters->ActivePages ->Val (), 290 );
69156926
69166927 env.SendSync (new NFake::TEvExecute{ new TTxFullScan (readRows, failedAttempts) });
69176928 UNIT_ASSERT_VALUES_EQUAL (readRows, 1000 );
@@ -6950,7 +6961,7 @@ Y_UNIT_TEST_SUITE(TFlatTableExecutor_BTreeIndex) {
69506961 env.WaitFor <NFake::TEvCompacted>();
69516962
69526963 // all pages are always kept in shared cache (except flat index)
6953- UNIT_ASSERT_VALUES_EQUAL (counters->ActivePages ->Val (), 334 );
6964+ UNIT_ASSERT_GE (counters->ActivePages ->Val (), 334 );
69546965
69556966 env.SendSync (new NFake::TEvExecute{ new TTxFullScan (readRows, failedAttempts) });
69566967 UNIT_ASSERT_VALUES_EQUAL (readRows, 1000 );
@@ -6999,7 +7010,7 @@ Y_UNIT_TEST_SUITE(TFlatTableExecutor_BTreeIndex) {
69997010
70007011 // gen 0 data pages are always kept in shared cache
70017012 // b-tree index pages are always kept in shared cache
7002- UNIT_ASSERT_VALUES_EQUAL (counters->ActivePages ->Val (), 48 );
7013+ UNIT_ASSERT_GE (counters->ActivePages ->Val (), 48 );
70037014
70047015 env.SendSync (new NFake::TEvExecute{ new TTxFullScan (readRows, failedAttempts) });
70057016 UNIT_ASSERT_VALUES_EQUAL (readRows, 1000 );
0 commit comments