From b7c19232bcaba3464c018fb665b30e10ddb29d97 Mon Sep 17 00:00:00 2001 From: Joe Betz Date: Mon, 11 Jun 2018 16:58:48 -0700 Subject: [PATCH] etcdserver: Fix txn request 'took too long' warnings to use loggable request stringer --- etcdserver/etcdserverpb/raft_internal_stringer.go | 6 +++--- etcdserver/util.go | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/etcdserver/etcdserverpb/raft_internal_stringer.go b/etcdserver/etcdserverpb/raft_internal_stringer.go index de9057a09..ec6b6397b 100644 --- a/etcdserver/etcdserverpb/raft_internal_stringer.go +++ b/etcdserver/etcdserverpb/raft_internal_stringer.go @@ -64,7 +64,7 @@ func (as *InternalRaftStringer) String() string { case as.Request.Txn != nil: return fmt.Sprintf("header:<%s> txn:<%s>", as.Request.Header.String(), - newLoggableTxnRequest(as.Request.Txn).String(), + NewLoggableTxnRequest(as.Request.Txn).String(), ) default: // nothing to redact @@ -78,7 +78,7 @@ type txnRequestStringer struct { Request *TxnRequest } -func newLoggableTxnRequest(request *TxnRequest) *txnRequestStringer { +func NewLoggableTxnRequest(request *TxnRequest) *txnRequestStringer { return &txnRequestStringer{request} } @@ -123,7 +123,7 @@ func (as *requestOpStringer) String() string { case *RequestOp_RequestPut: return fmt.Sprintf("request_put:<%s>", newLoggablePutRequest(op.RequestPut).String()) case *RequestOp_RequestTxn: - return fmt.Sprintf("request_txn:<%s>", newLoggableTxnRequest(op.RequestTxn).String()) + return fmt.Sprintf("request_txn:<%s>", NewLoggableTxnRequest(op.RequestTxn).String()) default: // nothing to redact } diff --git a/etcdserver/util.go b/etcdserver/util.go index f07c4f225..708fee4cb 100644 --- a/etcdserver/util.go +++ b/etcdserver/util.go @@ -109,7 +109,8 @@ func warnOfExpensiveRequest(now time.Time, reqStringer fmt.Stringer, respMsg pro warnOfExpensiveGenericRequest(now, reqStringer, "", resp, err) } -func warnOfExpensiveReadOnlyTxnRequest(now time.Time, reqStringer fmt.Stringer, txnResponse *pb.TxnResponse, err error) { +func warnOfExpensiveReadOnlyTxnRequest(now time.Time, r *pb.TxnRequest, txnResponse *pb.TxnResponse, err error) { + reqStringer := pb.NewLoggableTxnRequest(r) var resp string if !isNil(txnResponse) { var resps []string