24
24
25
25
namespace {
26
26
constexpr i64 kInFlightMemoryLimitPerActor = 64_MB;
27
- constexpr i64 kMemoryLimitPerMessage = 48_MB ;
28
- constexpr i64 kMaxBatchesPerMessage = 1 ;
27
+ constexpr i64 kMemoryLimitPerMessage = 64_MB ;
28
+ constexpr i64 kMaxBatchesPerMessage = 8 ;
29
29
30
30
struct TWriteActorBackoffSettings {
31
31
TDuration StartRetryDelay = TDuration::MilliSeconds(250 );
@@ -81,12 +81,12 @@ namespace {
81
81
namespace NKikimr {
82
82
namespace NKqp {
83
83
84
- class TKqpWriteActor : public TActorBootstrapped <TKqpWriteActor >, public NYql::NDq::IDqComputeActorAsyncOutput {
85
- using TBase = TActorBootstrapped<TKqpWriteActor >;
84
+ class TKqpDirectWriteActor : public TActorBootstrapped <TKqpDirectWriteActor >, public NYql::NDq::IDqComputeActorAsyncOutput {
85
+ using TBase = TActorBootstrapped<TKqpDirectWriteActor >;
86
86
87
87
class TResumeNotificationManager {
88
88
public:
89
- TResumeNotificationManager (TKqpWriteActor & writer)
89
+ TResumeNotificationManager (TKqpDirectWriteActor & writer)
90
90
: Writer(writer) {
91
91
CheckMemory ();
92
92
}
@@ -102,7 +102,7 @@ class TKqpWriteActor : public TActorBootstrapped<TKqpWriteActor>, public NYql::N
102
102
}
103
103
104
104
private:
105
- TKqpWriteActor & Writer;
105
+ TKqpDirectWriteActor & Writer;
106
106
i64 LastFreeMemory = std::numeric_limits<i64>::max();
107
107
};
108
108
@@ -127,7 +127,7 @@ class TKqpWriteActor : public TActorBootstrapped<TKqpWriteActor>, public NYql::N
127
127
};
128
128
129
129
public:
130
- TKqpWriteActor (
130
+ TKqpDirectWriteActor (
131
131
NKikimrKqp::TKqpTableSinkSettings&& settings,
132
132
NYql::NDq::TDqAsyncIoFactory::TSinkArguments&& args,
133
133
TIntrusivePtr<TKqpCounters> counters)
@@ -157,13 +157,13 @@ class TKqpWriteActor : public TActorBootstrapped<TKqpWriteActor>, public NYql::N
157
157
void Bootstrap () {
158
158
LogPrefix = TStringBuilder () << " SelfId: " << this ->SelfId () << " , " << LogPrefix;
159
159
ResolveTable ();
160
- Become (&TKqpWriteActor ::StateFunc);
160
+ Become (&TKqpDirectWriteActor ::StateFunc);
161
161
}
162
162
163
163
static constexpr char ActorName[] = " KQP_WRITE_ACTOR" ;
164
164
165
165
private:
166
- virtual ~TKqpWriteActor () {
166
+ virtual ~TKqpDirectWriteActor () {
167
167
}
168
168
169
169
void CommitState (const NYql::NDqProto::TCheckpoint&) final {};
@@ -491,7 +491,7 @@ class TKqpWriteActor : public TActorBootstrapped<TKqpWriteActor>, public NYql::N
491
491
<< " , Cookie=" << ev->Cookie
492
492
<< " , LocksCount=" << ev->Get ()->Record .GetTxLocks ().size ());
493
493
494
- PopShardBatch (ev->Get ()->Record .GetOrigin (), ev->Cookie );
494
+ OnMessageAcknowledged (ev->Get ()->Record .GetOrigin (), ev->Cookie );
495
495
496
496
for (const auto & lock : ev->Get ()->Record .GetTxLocks ()) {
497
497
LocksInfo[ev->Get ()->Record .GetOrigin ()].AddAndCheckLock (lock);
@@ -500,7 +500,7 @@ class TKqpWriteActor : public TActorBootstrapped<TKqpWriteActor>, public NYql::N
500
500
ProcessBatches ();
501
501
}
502
502
503
- void PopShardBatch (ui64 shardId, ui64 cookie) {
503
+ void OnMessageAcknowledged (ui64 shardId, ui64 cookie) {
504
504
TResumeNotificationManager resumeNotificator (*this );
505
505
const auto removedDataSize = ShardedWriteController->OnMessageAcknowledged (shardId, cookie);
506
506
if (removedDataSize) {
@@ -669,7 +669,7 @@ class TKqpWriteActor : public TActorBootstrapped<TKqpWriteActor>, public NYql::N
669
669
670
670
void PassAway () override {
671
671
Send (PipeCacheId, new TEvPipeCache::TEvUnlink (0 ));
672
- TActorBootstrapped<TKqpWriteActor >::PassAway ();
672
+ TActorBootstrapped<TKqpDirectWriteActor >::PassAway ();
673
673
}
674
674
675
675
void Prepare () {
@@ -721,7 +721,6 @@ class TKqpWriteActor : public TActorBootstrapped<TKqpWriteActor>, public NYql::N
721
721
Callbacks->ResumeExecution ();
722
722
}
723
723
724
- NActors::TActorId TxProxyId = MakeTxProxyID();
725
724
NActors::TActorId PipeCacheId = NKikimr::MakePipePerNodeCacheID(false );
726
725
727
726
TString LogPrefix;
@@ -754,7 +753,7 @@ void RegisterKqpWriteActor(NYql::NDq::TDqAsyncIoFactory& factory, TIntrusivePtr<
754
753
factory.RegisterSink <NKikimrKqp::TKqpTableSinkSettings>(
755
754
TString (NYql::KqpTableSinkName),
756
755
[counters] (NKikimrKqp::TKqpTableSinkSettings&& settings, NYql::NDq::TDqAsyncIoFactory::TSinkArguments&& args) {
757
- auto * actor = new TKqpWriteActor (std::move (settings), std::move (args), counters);
756
+ auto * actor = new TKqpDirectWriteActor (std::move (settings), std::move (args), counters);
758
757
return std::make_pair<NYql::NDq::IDqComputeActorAsyncOutput*, NActors::IActor*>(actor, actor);
759
758
});
760
759
}
0 commit comments