You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
auto operation = OperationsManager->GetOperation((TWriteId)writeMeta.GetWriteId());
118
118
Y_ABORT_UNLESS(operation);
119
-
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), operation->GetTxId(), NKikimrDataEvents::TEvWriteResult::STATUS_INTERNAL_ERROR, "put data fails");
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), operation->GetLockId(), NKikimrDataEvents::TEvWriteResult::STATUS_INTERNAL_ERROR, "put data fails");
Result = NEvents::TDataEvents::TEvWriteResult::BuildPrepared(Self->TabletID(), txInfo.TxId, Self->GetProgressTxController().BuildCoordinatorInfo(txInfo));
if (behaviour == EOperationBehaviour::Undefined) {
297
+
IncCounter(COUNTER_WRITE_FAIL);
298
+
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), 0, NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST, "invalid write event");
299
+
ctx.Send(source, result.release(), 0, cookie);
300
+
return;
301
+
}
302
+
303
+
if (behaviour == EOperationBehaviour::CommitWriteLock) {
304
+
auto commitOperation = std::make_shared<TCommitOperation>();
305
+
if (!commitOperation->Parse(*ev->Get())) {
306
+
IncCounter(COUNTER_WRITE_FAIL);
307
+
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), 0, NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST, "invalid commit event");
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), txId, NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST, "only single operation is supported");
234
-
ctx.Send(source, result.release());
318
+
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), 0, NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST, "only single operation is supported");
319
+
ctx.Send(source, result.release(), 0, cookie);
235
320
return;
236
321
}
237
322
238
323
constauto& operation = record.GetOperations()[0];
239
-
240
324
if (operation.GetType() != NKikimrDataEvents::TEvWrite::TOperation::OPERATION_REPLACE) {
241
325
IncCounter(COUNTER_WRITE_FAIL);
242
-
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), txId, NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST, "only REPLACE operation is supported");
243
-
ctx.Send(source, result.release());
326
+
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), 0, NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST, "only REPLACE operation is supported");
327
+
ctx.Send(source, result.release(), 0, cookie);
244
328
return;
245
329
}
246
330
247
331
if (!operation.GetTableId().HasSchemaVersion()) {
248
332
IncCounter(COUNTER_WRITE_FAIL);
249
-
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), txId, NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST, "schema version not set");
250
-
ctx.Send(source, result.release());
333
+
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), 0, NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST, "schema version not set");
334
+
ctx.Send(source, result.release(), 0, cookie);
251
335
return;
252
336
}
253
337
254
338
auto schema = TablesManager.GetPrimaryIndex()->GetVersionedIndex().GetSchema(operation.GetTableId().GetSchemaVersion());
255
339
if (!schema) {
256
340
IncCounter(COUNTER_WRITE_FAIL);
257
-
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), txId, NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST, "unknown schema version");
258
-
ctx.Send(source, result.release());
341
+
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), 0, NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST, "unknown schema version");
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), txId, NKikimrDataEvents::TEvWriteResult::STATUS_INTERNAL_ERROR, "table not writable");
267
-
ctx.Send(source, result.release());
350
+
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), 0, NKikimrDataEvents::TEvWriteResult::STATUS_INTERNAL_ERROR, "table not writable");
351
+
ctx.Send(source, result.release(), 0, cookie);
268
352
return;
269
353
}
270
354
271
355
auto arrowData = std::make_shared<TArrowData>(schema);
272
356
if (!arrowData->Parse(operation, NEvWrite::TPayloadReader<NEvents::TDataEvents::TEvWrite>(*ev->Get()))) {
273
357
IncCounter(COUNTER_WRITE_FAIL);
274
-
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), txId, NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST, "parsing data error");
275
-
ctx.Send(source, result.release());
358
+
auto result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), 0, NKikimrDataEvents::TEvWriteResult::STATUS_BAD_REQUEST, "parsing data error");
std::unique_ptr<NActors::IEventBase> result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), txId, NKikimrDataEvents::TEvWriteResult::STATUS_OVERLOADED, "overload data error");
std::unique_ptr<NActors::IEventBase> result = NEvents::TDataEvents::TEvWriteResult::BuildError(TabletID(), 0, NKikimrDataEvents::TEvWriteResult::STATUS_OVERLOADED, "overload data error");
0 commit comments