|
1 |
| -#ifndef READ_SESSION_ACTOR_IMPL |
2 | 1 | #include "read_session_actor.h"
|
3 |
| -#error "Do not include this file directly" |
4 |
| -#endif |
5 |
| - |
6 | 2 |
|
7 | 3 | #include "helpers.h"
|
8 | 4 | #include "read_init_auth_actor.h"
|
|
13 | 9 | #include <library/cpp/protobuf/util/repeated_field_utils.h>
|
14 | 10 | #include <library/cpp/random_provider/random_provider.h>
|
15 | 11 |
|
16 |
| -#include <google/protobuf/util/time_util.h> |
17 |
| - |
18 | 12 | #include <util/string/join.h>
|
19 | 13 | #include <util/string/strip.h>
|
20 | 14 |
|
@@ -478,7 +472,7 @@ void TReadSessionActor<UseMigrationProtocol>::Handle(TEvPQProxy::TEvDirectReadAc
|
478 | 472 |
|
479 | 473 | if (it->second.MaxProcessedDirectReadId + 1 != (ui64)ev->Get()->DirectReadId) {
|
480 | 474 | return CloseSession(PersQueue::ErrorCode::BAD_REQUEST, TStringBuilder()
|
481 |
| - << "direct reads must be confirmed in strict order - expecting " << (it->second.MaxProcessedDirectReadId + 1) |
| 475 | + << "direct reads must be confirmed in strict order - expecting " << (it->second.MaxProcessedDirectReadId + 1) |
482 | 476 | << " but got " << ev->Get()->DirectReadId, ctx);
|
483 | 477 | }
|
484 | 478 |
|
@@ -565,7 +559,7 @@ void TReadSessionActor<UseMigrationProtocol>::Handle(TEvPQProxy::TEvReleased::TP
|
565 | 559 | return CloseSession(PersQueue::ErrorCode::BAD_REQUEST, TStringBuilder()
|
566 | 560 | << "release of partition that is not requested is forbiden for " << partitionInfo.Partition, ctx);
|
567 | 561 | }
|
568 |
| - //TODO: filter all direct reads |
| 562 | + //TODO: filter all direct reads |
569 | 563 | ReleasePartition(it, true, ctx);
|
570 | 564 | }
|
571 | 565 | }
|
@@ -1076,7 +1070,7 @@ void TReadSessionActor<UseMigrationProtocol>::InitSession(const TActorContext& c
|
1076 | 1070 | if (!ReadWithoutConsumer) {
|
1077 | 1071 | holder.PipeClient = CreatePipeClient(holder.TabletID, ctx);
|
1078 | 1072 | }
|
1079 |
| - |
| 1073 | + |
1080 | 1074 | Y_ABORT_UNLESS(holder.FullConverter);
|
1081 | 1075 | auto it = TopicGroups.find(holder.FullConverter->GetInternalName());
|
1082 | 1076 | if (it != TopicGroups.end()) {
|
@@ -1738,6 +1732,9 @@ i64 TFormedReadResponse<TServerMessage>::ApplyDirectReadResponse(TEvPQProxy::TEv
|
1738 | 1732 | return diff;
|
1739 | 1733 | }
|
1740 | 1734 |
|
| 1735 | +//explicit instantation |
| 1736 | +template struct TFormedReadResponse<PersQueue::V1::MigrationStreamingReadServerMessage>; |
| 1737 | +template struct TFormedReadResponse<Topic::StreamReadMessage::FromServer>; |
1741 | 1738 |
|
1742 | 1739 | template <bool UseMigrationProtocol>
|
1743 | 1740 | void TReadSessionActor<UseMigrationProtocol>::Handle(typename TEvReadResponse::TPtr& ev, const TActorContext& ctx) {
|
@@ -2252,4 +2249,8 @@ void TReadSessionActor<UseMigrationProtocol>::RunAuthActor(const TActorContext&
|
2252 | 2249 | TopicsHandler.GetLocalCluster(), ReadWithoutConsumer));
|
2253 | 2250 | }
|
2254 | 2251 |
|
| 2252 | +//explicit instantation |
| 2253 | +template class TReadSessionActor<true>; |
| 2254 | +template class TReadSessionActor<false>; |
| 2255 | + |
2255 | 2256 | }
|
0 commit comments