YugabyteDB (2.13.0.0-b42, bfc6a6643e7399ac8a0e81d06a3ee6d6571b33ab)

Coverage Report

Created: 2022-03-09 17:30

/Users/deen/code/yugabyte-db/src/yb/client/transaction_rpc.cc
Line
Count
Source (jump to first uncovered line)
1
//
2
// Copyright (c) YugaByte, Inc.
3
//
4
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5
// in compliance with the License.  You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software distributed under the License
10
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11
// or implied.  See the License for the specific language governing permissions and limitations
12
// under the License.
13
//
14
//
15
16
#include "yb/client/transaction_rpc.h"
17
18
#include <boost/preprocessor/cat.hpp>
19
20
#include "yb/client/client.h"
21
#include "yb/client/tablet_rpc.h"
22
23
#include "yb/common/transaction.h"
24
25
#include "yb/rpc/rpc.h"
26
#include "yb/rpc/rpc_controller.h"
27
28
#include "yb/tserver/tserver_service.pb.h"
29
#include "yb/tserver/tserver_service.proxy.h"
30
31
#include "yb/util/trace.h"
32
33
using namespace std::literals;
34
35
namespace yb {
36
namespace client {
37
38
namespace {
39
40
class TransactionRpcBase : public rpc::Rpc, public internal::TabletRpc {
41
 public:
42
  TransactionRpcBase(CoarseTimePoint deadline,
43
                     internal::RemoteTablet* tablet,
44
                     YBClient* client)
45
      : rpc::Rpc(deadline, client->messenger(), &client->proxy_cache()),
46
        invoker_(false /* local_tserver_only */,
47
                 false /* consistent_prefix */,
48
                 client,
49
                 this,
50
                 this,
51
                 tablet,
52
                 /* table =*/ nullptr,
53
                 mutable_retrier(),
54
1.25M
                 trace_.get()) {
55
1.25M
  }
56
57
1.25M
  virtual ~TransactionRpcBase() {}
58
59
1.28M
  void SendRpc() override {
60
1.28M
    invoker_.Execute(tablet_id());
61
1.28M
  }
62
63
1.27M
  void Finished(const Status& status) override {
64
1.27M
    Status new_status = status;
65
1.27M
    if (invoker_.Done(&new_status)) {
66
1.25M
      auto retain_self = shared_from_this();
67
1.25M
      InvokeCallback(new_status);
68
1.25M
    }
69
1.27M
  }
70
71
  // TODO(dtxn)
72
54.9k
  void Failed(const Status& status) override {}
73
74
0
  void Abort() override {
75
0
    rpc::Rpc::Abort();
76
0
  }
77
78
 private:
79
1.27M
  void SendRpcToTserver(int attempt_num) override {
80
1.27M
    InvokeAsync(invoker_.proxy().get(),
81
1.27M
                PrepareController(),
82
1.27M
                std::bind(&TransactionRpcBase::Finished, this, Status::OK()));
83
1.27M
  }
84
85
  virtual void InvokeCallback(const Status& status) = 0;
86
  virtual const TabletId& tablet_id() const = 0;
87
  virtual void InvokeAsync(tserver::TabletServerServiceProxy* proxy,
88
                           rpc::RpcController* controller,
89
                           rpc::ResponseCallback callback) = 0;
90
91
  internal::TabletInvoker invoker_;
92
};
93
94
// UpdateTransactionRpc is used to call UpdateTransaction remote method of appropriate tablet.
95
template <class Traits>
96
class TransactionRpc : public TransactionRpcBase {
97
 public:
98
  TransactionRpc(CoarseTimePoint deadline,
99
                 internal::RemoteTablet* tablet,
100
                 YBClient* client,
101
                 typename Traits::Request* req,
102
                 typename Traits::Callback callback)
103
      : TransactionRpcBase(deadline, tablet, client),
104
1.25M
        callback_(std::move(callback)) {
105
1.25M
    req_.Swap(req);
106
1.25M
    TRACE_TO(trace_, Traits::kName);
107
1.25M
  }
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_23UpdateTransactionTraitsEEC2ENSt3__16chrono10time_pointINS_15CoarseMonoClockENS6_8durationIxNS5_5ratioILl1ELl1000000000EEEEEEEPNS0_8internal12RemoteTabletEPNS0_8YBClientEPNS_7tserver26UpdateTransactionRequestPBENS5_8functionIFvRKNS_6StatusERKSK_RKNSJ_27UpdateTransactionResponsePBEEEE
Line
Count
Source
104
932k
        callback_(std::move(callback)) {
105
932k
    req_.Swap(req);
106
932k
    TRACE_TO(trace_, Traits::kName);
107
932k
  }
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_26GetTransactionStatusTraitsEEC2ENSt3__16chrono10time_pointINS_15CoarseMonoClockENS6_8durationIxNS5_5ratioILl1ELl1000000000EEEEEEEPNS0_8internal12RemoteTabletEPNS0_8YBClientEPNS_7tserver29GetTransactionStatusRequestPBENS5_8functionIFvRKNS_6StatusERKNSJ_30GetTransactionStatusResponsePBEEEE
Line
Count
Source
104
208k
        callback_(std::move(callback)) {
105
208k
    req_.Swap(req);
106
208k
    TRACE_TO(trace_, Traits::kName);
107
208k
  }
Unexecuted instantiation: transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_39GetTransactionStatusAtParticipantTraitsEEC2ENSt3__16chrono10time_pointINS_15CoarseMonoClockENS6_8durationIxNS5_5ratioILl1ELl1000000000EEEEEEEPNS0_8internal12RemoteTabletEPNS0_8YBClientEPNS_7tserver42GetTransactionStatusAtParticipantRequestPBENS5_8functionIFvRKNS_6StatusERKNSJ_43GetTransactionStatusAtParticipantResponsePBEEEE
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_22AbortTransactionTraitsEEC2ENSt3__16chrono10time_pointINS_15CoarseMonoClockENS6_8durationIxNS5_5ratioILl1ELl1000000000EEEEEEEPNS0_8internal12RemoteTabletEPNS0_8YBClientEPNS_7tserver25AbortTransactionRequestPBENS5_8functionIFvRKNS_6StatusERKNSJ_26AbortTransactionResponsePBEEEE
Line
Count
Source
104
116k
        callback_(std::move(callback)) {
105
116k
    req_.Swap(req);
106
116k
    TRACE_TO(trace_, Traits::kName);
107
116k
  }
108
109
1.25M
  virtual ~TransactionRpc() {}
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_23UpdateTransactionTraitsEED2Ev
Line
Count
Source
109
932k
  virtual ~TransactionRpc() {}
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_26GetTransactionStatusTraitsEED2Ev
Line
Count
Source
109
208k
  virtual ~TransactionRpc() {}
Unexecuted instantiation: transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_39GetTransactionStatusAtParticipantTraitsEED2Ev
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_22AbortTransactionTraitsEED2Ev
Line
Count
Source
109
115k
  virtual ~TransactionRpc() {}
110
111
1.27M
  const tserver::TabletServerErrorPB* response_error() const override {
112
1.20M
    return resp_.has_error() ? &resp_.error() : nullptr;
113
1.27M
  }
transaction_rpc.cc:_ZNK2yb6client12_GLOBAL__N_114TransactionRpcINS1_23UpdateTransactionTraitsEE14response_errorEv
Line
Count
Source
111
938k
  const tserver::TabletServerErrorPB* response_error() const override {
112
877k
    return resp_.has_error() ? &resp_.error() : nullptr;
113
938k
  }
transaction_rpc.cc:_ZNK2yb6client12_GLOBAL__N_114TransactionRpcINS1_26GetTransactionStatusTraitsEE14response_errorEv
Line
Count
Source
111
208k
  const tserver::TabletServerErrorPB* response_error() const override {
112
208k
    return resp_.has_error() ? &resp_.error() : nullptr;
113
208k
  }
Unexecuted instantiation: transaction_rpc.cc:_ZNK2yb6client12_GLOBAL__N_114TransactionRpcINS1_39GetTransactionStatusAtParticipantTraitsEE14response_errorEv
transaction_rpc.cc:_ZNK2yb6client12_GLOBAL__N_114TransactionRpcINS1_22AbortTransactionTraitsEE14response_errorEv
Line
Count
Source
111
125k
  const tserver::TabletServerErrorPB* response_error() const override {
112
115k
    return resp_.has_error() ? &resp_.error() : nullptr;
113
125k
  }
114
115
 private:
116
1.28M
  const std::string& tablet_id() const override {
117
1.28M
    return req_.tablet_id();
118
1.28M
  }
transaction_rpc.cc:_ZNK2yb6client12_GLOBAL__N_114TransactionRpcINS1_23UpdateTransactionTraitsEE9tablet_idEv
Line
Count
Source
116
943k
  const std::string& tablet_id() const override {
117
943k
    return req_.tablet_id();
118
943k
  }
transaction_rpc.cc:_ZNK2yb6client12_GLOBAL__N_114TransactionRpcINS1_26GetTransactionStatusTraitsEE9tablet_idEv
Line
Count
Source
116
208k
  const std::string& tablet_id() const override {
117
208k
    return req_.tablet_id();
118
208k
  }
Unexecuted instantiation: transaction_rpc.cc:_ZNK2yb6client12_GLOBAL__N_114TransactionRpcINS1_39GetTransactionStatusAtParticipantTraitsEE9tablet_idEv
transaction_rpc.cc:_ZNK2yb6client12_GLOBAL__N_114TransactionRpcINS1_22AbortTransactionTraitsEE9tablet_idEv
Line
Count
Source
116
130k
  const std::string& tablet_id() const override {
117
130k
    return req_.tablet_id();
118
130k
  }
119
120
55.0k
  std::string ToString() const override {
121
55.0k
    return Format("$0: $1, retrier: $2", Traits::kName, req_, retrier());
122
55.0k
  }
transaction_rpc.cc:_ZNK2yb6client12_GLOBAL__N_114TransactionRpcINS1_23UpdateTransactionTraitsEE8ToStringEv
Line
Count
Source
120
55.0k
  std::string ToString() const override {
121
55.0k
    return Format("$0: $1, retrier: $2", Traits::kName, req_, retrier());
122
55.0k
  }
Unexecuted instantiation: transaction_rpc.cc:_ZNK2yb6client12_GLOBAL__N_114TransactionRpcINS1_26GetTransactionStatusTraitsEE8ToStringEv
Unexecuted instantiation: transaction_rpc.cc:_ZNK2yb6client12_GLOBAL__N_114TransactionRpcINS1_39GetTransactionStatusAtParticipantTraitsEE8ToStringEv
transaction_rpc.cc:_ZNK2yb6client12_GLOBAL__N_114TransactionRpcINS1_22AbortTransactionTraitsEE8ToStringEv
Line
Count
Source
120
12
  std::string ToString() const override {
121
12
    return Format("$0: $1, retrier: $2", Traits::kName, req_, retrier());
122
12
  }
123
124
1.25M
  void InvokeCallback(const Status& status) override {
125
1.25M
    Traits::CallCallback(callback_, status, req_, resp_);
126
1.25M
  }
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_23UpdateTransactionTraitsEE14InvokeCallbackERKNS_6StatusE
Line
Count
Source
124
931k
  void InvokeCallback(const Status& status) override {
125
931k
    Traits::CallCallback(callback_, status, req_, resp_);
126
931k
  }
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_26GetTransactionStatusTraitsEE14InvokeCallbackERKNS_6StatusE
Line
Count
Source
124
208k
  void InvokeCallback(const Status& status) override {
125
208k
    Traits::CallCallback(callback_, status, req_, resp_);
126
208k
  }
Unexecuted instantiation: transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_39GetTransactionStatusAtParticipantTraitsEE14InvokeCallbackERKNS_6StatusE
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_22AbortTransactionTraitsEE14InvokeCallbackERKNS_6StatusE
Line
Count
Source
124
115k
  void InvokeCallback(const Status& status) override {
125
115k
    Traits::CallCallback(callback_, status, req_, resp_);
126
115k
  }
127
128
  void InvokeAsync(tserver::TabletServerServiceProxy* proxy,
129
                   rpc::RpcController* controller,
130
1.27M
                   rpc::ResponseCallback callback) override {
131
1.27M
    Traits::InvokeAsync(proxy, &req_, &resp_, controller, std::move(callback));
132
1.27M
  }
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_23UpdateTransactionTraitsEE11InvokeAsyncEPNS_7tserver24TabletServerServiceProxyEPNS_3rpc13RpcControllerENSt3__18functionIFvvEEE
Line
Count
Source
130
940k
                   rpc::ResponseCallback callback) override {
131
940k
    Traits::InvokeAsync(proxy, &req_, &resp_, controller, std::move(callback));
132
940k
  }
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_26GetTransactionStatusTraitsEE11InvokeAsyncEPNS_7tserver24TabletServerServiceProxyEPNS_3rpc13RpcControllerENSt3__18functionIFvvEEE
Line
Count
Source
130
208k
                   rpc::ResponseCallback callback) override {
131
208k
    Traits::InvokeAsync(proxy, &req_, &resp_, controller, std::move(callback));
132
208k
  }
Unexecuted instantiation: transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_39GetTransactionStatusAtParticipantTraitsEE11InvokeAsyncEPNS_7tserver24TabletServerServiceProxyEPNS_3rpc13RpcControllerENSt3__18functionIFvvEEE
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_114TransactionRpcINS1_22AbortTransactionTraitsEE11InvokeAsyncEPNS_7tserver24TabletServerServiceProxyEPNS_3rpc13RpcControllerENSt3__18functionIFvvEEE
Line
Count
Source
130
126k
                   rpc::ResponseCallback callback) override {
131
126k
    Traits::InvokeAsync(proxy, &req_, &resp_, controller, std::move(callback));
132
126k
  }
133
134
  typename Traits::Request req_;
135
  typename Traits::Response resp_;
136
  typename Traits::Callback callback_;
137
};
138
139
334k
void PrepareRequest(...) {}
140
141
939k
void PrepareRequest(tserver::UpdateTransactionRequestPB* req) {
142
939k
  if (req->state().status() == TransactionStatus::CREATED) {
143
243k
    auto id = TransactionId::GenerateRandom();
144
243k
    req->mutable_state()->set_transaction_id(id.data(), id.size());
145
243k
  }
146
939k
}
147
148
#define TRANSACTION_RPC_TRAITS_NAME(entry) BOOST_PP_CAT(TRANSACTION_RPC_NAME(entry), Traits)
149
150
#define TRANSACTION_RPC_TRAITS_CALL_CALLBACK_HELPER_WITHOUT_REQUEST() \
151
323k
    callback(status, response)
152
#define TRANSACTION_RPC_TRAITS_CALL_CALLBACK_HELPER_WITH_REQUEST() \
153
931k
    callback(status, request, response)
154
155
#define TRANSACTION_RPC_TRAITS_CALL_CALLBACK(entry) \
156
1.25M
  BOOST_PP_CAT(TRANSACTION_RPC_TRAITS_CALL_CALLBACK_HELPER_, BOOST_PP_TUPLE_ELEM(2, 1, entry))()
157
158
#define TRANSACTION_RPC_TRAITS(i, data, entry) \
159
struct TRANSACTION_RPC_TRAITS_NAME(entry) { \
160
  static constexpr const char* kName = BOOST_PP_STRINGIZE(TRANSACTION_RPC_NAME(entry)); \
161
  typedef TRANSACTION_RPC_REQUEST_PB(entry) Request; \
162
  typedef TRANSACTION_RPC_RESPONSE_PB(entry) Response; \
163
  typedef TRANSACTION_RPC_CALLBACK(entry) Callback; \
164
  \
165
  static void CallCallback( \
166
      const Callback& callback, const Status& status, const Request& request, \
167
1.25M
      const Response& response) { \
168
1.25M
    TRANSACTION_RPC_TRAITS_CALL_CALLBACK(entry); \
169
1.25M
  } \
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_123UpdateTransactionTraits12CallCallbackERKNSt3__18functionIFvRKNS_6StatusERKNS_7tserver26UpdateTransactionRequestPBERKNS8_27UpdateTransactionResponsePBEEEES7_SB_SE_
Line
Count
Source
167
931k
      const Response& response) { \
168
931k
    TRANSACTION_RPC_TRAITS_CALL_CALLBACK(entry); \
169
931k
  } \
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_126GetTransactionStatusTraits12CallCallbackERKNSt3__18functionIFvRKNS_6StatusERKNS_7tserver30GetTransactionStatusResponsePBEEEES7_RKNS8_29GetTransactionStatusRequestPBESB_
Line
Count
Source
167
208k
      const Response& response) { \
168
208k
    TRANSACTION_RPC_TRAITS_CALL_CALLBACK(entry); \
169
208k
  } \
Unexecuted instantiation: transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_139GetTransactionStatusAtParticipantTraits12CallCallbackERKNSt3__18functionIFvRKNS_6StatusERKNS_7tserver43GetTransactionStatusAtParticipantResponsePBEEEES7_RKNS8_42GetTransactionStatusAtParticipantRequestPBESB_
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_122AbortTransactionTraits12CallCallbackERKNSt3__18functionIFvRKNS_6StatusERKNS_7tserver26AbortTransactionResponsePBEEEES7_RKNS8_25AbortTransactionRequestPBESB_
Line
Count
Source
167
115k
      const Response& response) { \
168
115k
    TRANSACTION_RPC_TRAITS_CALL_CALLBACK(entry); \
169
115k
  } \
170
  \
171
  static void InvokeAsync(tserver::TabletServerServiceProxy* proxy, \
172
                          Request* request, \
173
                          Response* response, \
174
                          rpc::RpcController* controller, \
175
1.27M
                          rpc::ResponseCallback callback) { \
176
1.27M
    PrepareRequest(request); \
177
1.27M
    proxy->BOOST_PP_CAT(TRANSACTION_RPC_NAME(entry), Async)( \
178
1.27M
        *request, response, controller, std::move(callback)); \
179
1.27M
  } \
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_123UpdateTransactionTraits11InvokeAsyncEPNS_7tserver24TabletServerServiceProxyEPNS3_26UpdateTransactionRequestPBEPNS3_27UpdateTransactionResponsePBEPNS_3rpc13RpcControllerENSt3__18functionIFvvEEE
Line
Count
Source
175
939k
                          rpc::ResponseCallback callback) { \
176
939k
    PrepareRequest(request); \
177
939k
    proxy->BOOST_PP_CAT(TRANSACTION_RPC_NAME(entry), Async)( \
178
939k
        *request, response, controller, std::move(callback)); \
179
939k
  } \
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_126GetTransactionStatusTraits11InvokeAsyncEPNS_7tserver24TabletServerServiceProxyEPNS3_29GetTransactionStatusRequestPBEPNS3_30GetTransactionStatusResponsePBEPNS_3rpc13RpcControllerENSt3__18functionIFvvEEE
Line
Count
Source
175
208k
                          rpc::ResponseCallback callback) { \
176
208k
    PrepareRequest(request); \
177
208k
    proxy->BOOST_PP_CAT(TRANSACTION_RPC_NAME(entry), Async)( \
178
208k
        *request, response, controller, std::move(callback)); \
179
208k
  } \
Unexecuted instantiation: transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_139GetTransactionStatusAtParticipantTraits11InvokeAsyncEPNS_7tserver24TabletServerServiceProxyEPNS3_42GetTransactionStatusAtParticipantRequestPBEPNS3_43GetTransactionStatusAtParticipantResponsePBEPNS_3rpc13RpcControllerENSt3__18functionIFvvEEE
transaction_rpc.cc:_ZN2yb6client12_GLOBAL__N_122AbortTransactionTraits11InvokeAsyncEPNS_7tserver24TabletServerServiceProxyEPNS3_25AbortTransactionRequestPBEPNS3_26AbortTransactionResponsePBEPNS_3rpc13RpcControllerENSt3__18functionIFvvEEE
Line
Count
Source
175
126k
                          rpc::ResponseCallback callback) { \
176
126k
    PrepareRequest(request); \
177
126k
    proxy->BOOST_PP_CAT(TRANSACTION_RPC_NAME(entry), Async)( \
178
126k
        *request, response, controller, std::move(callback)); \
179
126k
  } \
180
}; \
181
\
182
constexpr const char* TRANSACTION_RPC_TRAITS_NAME(entry)::kName;
183
184
BOOST_PP_SEQ_FOR_EACH(TRANSACTION_RPC_TRAITS, ~, TRANSACTION_RPCS)
185
186
} // namespace
187
188
1.25M
#define TRANSACTION_RPC_BODY(entry) { \
189
1.25M
  return std::make_shared<TransactionRpc<TRANSACTION_RPC_TRAITS_NAME(entry)>>( \
190
1.25M
      deadline, tablet, client, req, std::move(callback)); \
191
1.25M
  }
_ZN2yb6client17UpdateTransactionENSt3__16chrono10time_pointINS_15CoarseMonoClockENS2_8durationIxNS1_5ratioILl1ELl1000000000EEEEEEEPNS0_8internal12RemoteTabletEPNS0_8YBClientEPNS_7tserver26UpdateTransactionRequestPBENS1_8functionIFvRKNS_6StatusERKSG_RKNSF_27UpdateTransactionResponsePBEEEE
Line
Count
Source
188
933k
#define TRANSACTION_RPC_BODY(entry) { \
189
933k
  return std::make_shared<TransactionRpc<TRANSACTION_RPC_TRAITS_NAME(entry)>>( \
190
933k
      deadline, tablet, client, req, std::move(callback)); \
191
933k
  }
_ZN2yb6client20GetTransactionStatusENSt3__16chrono10time_pointINS_15CoarseMonoClockENS2_8durationIxNS1_5ratioILl1ELl1000000000EEEEEEEPNS0_8internal12RemoteTabletEPNS0_8YBClientEPNS_7tserver29GetTransactionStatusRequestPBENS1_8functionIFvRKNS_6StatusERKNSF_30GetTransactionStatusResponsePBEEEE
Line
Count
Source
188
208k
#define TRANSACTION_RPC_BODY(entry) { \
189
208k
  return std::make_shared<TransactionRpc<TRANSACTION_RPC_TRAITS_NAME(entry)>>( \
190
208k
      deadline, tablet, client, req, std::move(callback)); \
191
208k
  }
Unexecuted instantiation: _ZN2yb6client33GetTransactionStatusAtParticipantENSt3__16chrono10time_pointINS_15CoarseMonoClockENS2_8durationIxNS1_5ratioILl1ELl1000000000EEEEEEEPNS0_8internal12RemoteTabletEPNS0_8YBClientEPNS_7tserver42GetTransactionStatusAtParticipantRequestPBENS1_8functionIFvRKNS_6StatusERKNSF_43GetTransactionStatusAtParticipantResponsePBEEEE
_ZN2yb6client16AbortTransactionENSt3__16chrono10time_pointINS_15CoarseMonoClockENS2_8durationIxNS1_5ratioILl1ELl1000000000EEEEEEEPNS0_8internal12RemoteTabletEPNS0_8YBClientEPNS_7tserver25AbortTransactionRequestPBENS1_8functionIFvRKNS_6StatusERKNSF_26AbortTransactionResponsePBEEEE
Line
Count
Source
188
116k
#define TRANSACTION_RPC_BODY(entry) { \
189
116k
  return std::make_shared<TransactionRpc<TRANSACTION_RPC_TRAITS_NAME(entry)>>( \
190
116k
      deadline, tablet, client, req, std::move(callback)); \
191
116k
  }
192
193
BOOST_PP_SEQ_FOR_EACH(TRANSACTION_RPC_FUNCTION, TRANSACTION_RPC_BODY, TRANSACTION_RPCS)
194
195
} // namespace client
196
} // namespace yb