Skip to content

Commit 3ac9325

Browse files
committed
Hopefully fix crash. Fix peer json rendering.
1 parent 1df8d59 commit 3ac9325

File tree

2 files changed

+31
-13
lines changed

2 files changed

+31
-13
lines changed

src/xrpld/app/ledger/detail/TransactionAcquire.cpp

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -64,23 +64,26 @@ TransactionAcquire::done()
6464
{
6565
// We hold a PeerSet lock and so cannot do real work here
6666

67+
std::stringstream ss;
68+
if (mPeerSet) {
69+
ss << " total peers " << mPeerSet->getPeerIds().size()
70+
<< " peers " << mPeerSet->to_string();
71+
} else {
72+
ss << " no peer set";
73+
}
6774
if (failed_)
6875
{
6976
JLOG(journal_.debug()) << "ACQUIRE done Failed to acquire TX set " << hash_
7077
<< " duration " << to_string(std::chrono::duration_cast<std::chrono::nanoseconds>(
7178
std::chrono::steady_clock::now() - startTime_).count()) << "ns total nodes " << nodeCount_
72-
<< " total peers " << mPeerSet->getPeerIds().size()
73-
<< " peers " << mPeerSet->to_string();
74-
79+
<< ss.str();
7580
}
7681
else
7782
{
7883
JLOG(journal_.debug()) << "ACQUIRE done Acquired TX set " << hash_
7984
<< " duration " << to_string(std::chrono::duration_cast<std::chrono::nanoseconds>(
8085
std::chrono::steady_clock::now() - startTime_).count()) << "ns total nodes " << nodeCount_
81-
<< " total peers " << mPeerSet->getPeerIds().size()
82-
<< " peers " << mPeerSet->to_string();
83-
86+
<< ss.str();
8487
mMap->setImmutable();
8588

8689
uint256 const& hash(hash_);
@@ -112,8 +115,14 @@ TransactionAcquire::onTimer(bool progress, ScopedLockType& psl)
112115
trigger(nullptr);
113116

114117
addPeers(1);
115-
JLOG(journal_.debug()) << "ACQUIRE onTimer " << hash_ << " num peers: " << mPeerSet->getPeerIds().size()
116-
<< " peers " << mPeerSet->to_string();
118+
std::stringstream ss;
119+
if (mPeerSet) {
120+
ss << " total peers " << mPeerSet->getPeerIds().size()
121+
<< " peers " << mPeerSet->to_string();
122+
} else {
123+
ss << " no peer set";
124+
}
125+
JLOG(journal_.debug()) << "ACQUIRE onTimer " << hash_ << " num peers: " << ss.str();
117126
}
118127

119128
std::weak_ptr<TimeoutCounter>
@@ -150,7 +159,8 @@ TransactionAcquire::trigger(std::shared_ptr<Peer> const& peer)
150159

151160
*(tmGL.add_nodeids()) = SHAMapNodeID().getRawString();
152161
mPeerSet->sendRequest(tmGL, peer);
153-
JLOG(journal_.debug()) << "ACQUIRE trigger " << hash_ << " no root sending to: " << peer.get()->id();
162+
JLOG(journal_.debug()) << "ACQUIRE trigger " << hash_ << " no root sending to: "
163+
<< (peer ? std::to_string(peer.get()->id()) : "no peerid");
154164
}
155165
else if (!mMap->isValid())
156166
{
@@ -187,7 +197,7 @@ TransactionAcquire::trigger(std::shared_ptr<Peer> const& peer)
187197
mPeerSet->sendRequest(tmGL, peer);
188198
nodeCount_ += nodes.size();
189199
JLOG(journal_.debug()) << "ACQUIRE trigger " << hash_ << " need " << nodes.size()
190-
<< " nodes sending to: " << peer.get()->id();
200+
<< " nodes sending to: " << (peer ? std::to_string(peer.get()->id()) : "no peerid");
191201
}
192202
}
193203

@@ -243,7 +253,8 @@ TransactionAcquire::takeNodes(
243253
trigger(peer);
244254
progress_ = true;
245255
JLOG(journal_.debug()) << "ACQUIRE takeNodes " << hash_ << " got " << data.size()
246-
<< " nodes from " << peer.get()->id();
256+
<< " nodes from "
257+
<< (peer ? to_string(peer.get()->id()) : "no peerid");
247258
return SHAMapAddNode::useful();
248259
}
249260
catch (std::exception const& ex)
@@ -270,8 +281,14 @@ TransactionAcquire::init(int numPeers)
270281
ScopedLockType sl(mtx_);
271282

272283
addPeers(numPeers);
273-
JLOG(journal_.debug()) << "ACQUIRE init " << hash_ << " num peers: " << mPeerSet->getPeerIds().size()
274-
<< " peers " << mPeerSet->to_string();
284+
std::stringstream ss;
285+
if (mPeerSet) {
286+
ss << " total peers " << mPeerSet->getPeerIds().size()
287+
<< " peers " << mPeerSet->to_string();
288+
} else {
289+
ss << " no peer set";
290+
}
291+
JLOG(journal_.debug()) << "ACQUIRE init " << hash_ << " num peers: " << ss.str();
275292

276293
setTimer(sl);
277294
}

src/xrpld/perflog/detail/PerfLogImp.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ PerfLogImp::Counters::countersJson(std::size_t const peers) const
175175
// even if empty.
176176
counters[jss::rpc] = rpcobj;
177177
counters[jss::job_queue] = jqobj;
178+
counters[jss::peers] = peer;
178179
return counters;
179180
}
180181

0 commit comments

Comments
 (0)