@@ -59,19 +59,22 @@ Y_UNIT_TEST_SUITE(DataShardWrite) {
5959 auto opts = TShardedTableOptions ().Columns ({{" key" , " Uint32" , true , false }, {" value" , " Uint32" , false , false }});
6060 auto [shards, tableId] = CreateShardedTable (server, sender, " /Root" , " table-1" , opts);
6161 const ui64 shard = shards[0 ];
62-
6362 const ui32 rowCount = 3 ;
63+
6464 ui64 txId = 100 ;
6565
6666 Cout << " ========= Send immediate write =========\n " ;
6767 {
6868 const auto writeResult = Write (runtime, sender, shard, tableId, opts.Columns_ , rowCount, txId, NKikimrDataEvents::TEvWrite::MODE_IMMEDIATE);
69+
6970 UNIT_ASSERT_VALUES_EQUAL (writeResult.GetOrigin (), shard);
7071 UNIT_ASSERT_VALUES_EQUAL (writeResult.GetStep (), 0 );
7172 UNIT_ASSERT_VALUES_EQUAL (writeResult.GetOrderId (), txId);
7273 UNIT_ASSERT_VALUES_EQUAL (writeResult.GetTxId (), txId);
73- UNIT_ASSERT_VALUES_EQUAL (writeResult.GetDomainCoordinators ().size (), 1 );
74- UNIT_ASSERT_VALUES_EQUAL (writeResult.GetTabletInfo ().GetTabletId (), shard);
74+
75+ const auto & tableAccessStats = writeResult.GetTxStats ().GetTableAccessStats (0 );
76+ UNIT_ASSERT_VALUES_EQUAL (tableAccessStats.GetTableInfo ().GetName (), " /Root/table-1" );
77+ UNIT_ASSERT_VALUES_EQUAL (tableAccessStats.GetUpdateRow ().GetCount (), rowCount);
7578 }
7679
7780 Cout << " ========= Read table =========\n " ;
@@ -87,13 +90,14 @@ Y_UNIT_TEST_SUITE(DataShardWrite) {
8790 auto opts = TShardedTableOptions ().Columns ({{" key64" , " Uint64" , true , false }, {" key32" , " Uint32" , true , false },
8891 {" value64" , " Uint64" , false , false }, {" value32" , " Uint32" , false , false }, {" valueUtf8" , " Utf8" , false , false }});
8992 auto [shards, tableId] = CreateShardedTable (server, sender, " /Root" , " table-1" , opts);
90-
93+ const ui64 shard = shards[ 0 ];
9194 const ui32 rowCount = 3 ;
95+
9296 ui64 txId = 100 ;
9397
9498 Cout << " ========= Send immediate write =========\n " ;
9599 {
96- Write (runtime, sender, shards[ 0 ] , tableId, opts.Columns_ , rowCount, txId, NKikimrDataEvents::TEvWrite::MODE_IMMEDIATE);
100+ Write (runtime, sender, shard , tableId, opts.Columns_ , rowCount, txId, NKikimrDataEvents::TEvWrite::MODE_IMMEDIATE);
97101 }
98102
99103 Cout << " ========= Read table =========\n " ;
@@ -110,6 +114,7 @@ Y_UNIT_TEST_SUITE(DataShardWrite) {
110114
111115 auto opts = TShardedTableOptions ().Columns ({{" key" , " Utf8" , true , false }});
112116 auto [shards, tableId] = CreateShardedTable (server, sender, " /Root" , " table-1" , opts);
117+ const ui64 shard = shards[0 ];
113118
114119 Cout << " ========= Send immediate write =========\n " ;
115120 {
@@ -120,7 +125,7 @@ Y_UNIT_TEST_SUITE(DataShardWrite) {
120125 ui64 payloadIndex = NKikimr::NEvWrite::TPayloadHelper<NKikimr::NEvents::TDataEvents::TEvWrite>(*evWrite).AddDataToPayload (matrix.ReleaseBuffer ());
121126 evWrite->AddOperation (NKikimrDataEvents::TEvWrite::TOperation::OPERATION_UPSERT, tableId, {1 }, payloadIndex, NKikimrDataEvents::FORMAT_CELLVEC);
122127
123- const auto writeResult = Write (runtime, sender, shards[ 0 ] , std::move (evWrite), NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST);
128+ const auto writeResult = Write (runtime, sender, shard , std::move (evWrite), NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST);
124129 UNIT_ASSERT_VALUES_EQUAL (writeResult.GetIssues ().size (), 1 );
125130 UNIT_ASSERT (writeResult.GetIssues (0 ).message ().Contains (" Row key size of 1049601 bytes is larger than the allowed threshold 1049600" ));
126131 }
@@ -133,13 +138,14 @@ Y_UNIT_TEST_SUITE(DataShardWrite) {
133138 const auto [shards, tableId] = CreateShardedTable (server, sender, " /Root" , " table-1" , opts);
134139 const ui64 shard = shards[0 ];
135140 const ui64 coordinator = ChangeStateStorage (Coordinator, server->GetSettings ().Domain );
141+ const ui32 rowCount = 3 ;
136142
137143 ui64 txId = 100 ;
138144 ui64 stepId;
139145
140146 Cout << " ========= Send prepare =========\n " ;
141147 {
142- const auto writeResult = Write (runtime, sender, shard, tableId, opts.Columns_ , 3 , txId, NKikimrDataEvents::TEvWrite::MODE_PREPARE);
148+ const auto writeResult = Write (runtime, sender, shard, tableId, opts.Columns_ , rowCount , txId, NKikimrDataEvents::TEvWrite::MODE_PREPARE);
143149
144150 UNIT_ASSERT_VALUES_EQUAL (writeResult.GetStatus (), NKikimrDataEvents::TEvWriteResult::STATUS_PREPARED);
145151 UNIT_ASSERT_GT (writeResult.GetMinStep (), 0 );
@@ -162,11 +168,16 @@ Y_UNIT_TEST_SUITE(DataShardWrite) {
162168 {
163169 auto ev = runtime.GrabEdgeEventRethrow <NEvents::TDataEvents::TEvWriteResult>(sender);
164170 auto writeResult = ev->Get ()->Record ;
171+
165172 UNIT_ASSERT_C (writeResult.GetStatus () == NKikimrDataEvents::TEvWriteResult::STATUS_COMPLETED, " Status: " << writeResult.GetStatus () << " Issues: " << writeResult.GetIssues ());
166173 UNIT_ASSERT_VALUES_EQUAL (writeResult.GetOrigin (), shard);
167174 UNIT_ASSERT_VALUES_EQUAL (writeResult.GetStep (), stepId);
168175 UNIT_ASSERT_VALUES_EQUAL (writeResult.GetOrderId (), txId);
169176 UNIT_ASSERT_VALUES_EQUAL (writeResult.GetTxId (), txId);
177+
178+ const auto & tableAccessStats = writeResult.GetTxStats ().GetTableAccessStats (0 );
179+ UNIT_ASSERT_VALUES_EQUAL (tableAccessStats.GetTableInfo ().GetName (), " /Root/table-1" );
180+ UNIT_ASSERT_VALUES_EQUAL (tableAccessStats.GetUpdateRow ().GetCount (), rowCount);
170181 }
171182
172183 Cout << " ========= Read table =========\n " ;
0 commit comments