You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Alexey Serbin (Code Review)" <ge...@cloudera.org> on 2026/05/20 06:37:55 UTC

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Alexey Serbin has uploaded this change for review. ( http://gerrit.cloudera.org:8080/24329


Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................

KUDU-1865 reduce cross-thread allocations in RPC (part 2)

With this update, the OutboundCall::call_response_ member field
of the CallResponse type is no longer allocated on the heap.  Instead,
now the move semantics is now used to pass around the CallResponse
corresponding object.

Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
---
M src/kudu/rpc/connection.cc
M src/kudu/rpc/outbound_call.cc
M src/kudu/rpc/outbound_call.h
M src/kudu/rpc/rpc_controller.cc
4 files changed, 85 insertions(+), 79 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/29/24329/1
-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <al...@apache.org>

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/24329 )

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................

KUDU-1865 reduce cross-thread allocations in RPC (part 2)

With this update, the OutboundCall::call_response_ member field
of the CallResponse type is no longer allocated on the heap.  Instead,
it's allocated on the stack and the move semantics is used to pass
the object around.

I ran the same test scenario as in the 'part 1' to trace the asymmetry
in tcmalloc's cross-thread allocations/deallocations and confirmed
that the entries related to CallResponse were gone.

I also ran the test scenario to account for the total number of updates
in tcmalloc's central free lists.  This patch results in ~1.07x times
reduction in the total number of updates in the central free lists with
the default setting of TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES:

  before: 367
  after:  341

The requests-per-second performance hasn't changed per reports from
the RpcBench.BenchmarkCalls scenario.

Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Reviewed-on: http://gerrit.cloudera.org:8080/24329
Tested-by: Alexey Serbin <al...@apache.org>
Reviewed-by: Michael Smith <mi...@cloudera.com>
Reviewed-by: Abhishek Chennaka <ac...@cloudera.com>
---
M src/kudu/rpc/connection.cc
M src/kudu/rpc/outbound_call.cc
M src/kudu/rpc/outbound_call.h
M src/kudu/rpc/rpc_controller.cc
4 files changed, 77 insertions(+), 78 deletions(-)

Approvals:
  Alexey Serbin: Verified
  Michael Smith: Looks good to me, but someone else must approve
  Abhishek Chennaka: Looks good to me, approved

-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 5
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Michael Smith <mi...@cloudera.com>
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/24329 )

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................


Patch Set 4: Verified+1

unrelated failures of flaky tests:
  * RELEASE: org.apache.kudu.spark.kudu.DefaultSourceTest
  * TSAN: AutoIncrementingItest.BasicInserts


-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 4
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Michael Smith <mi...@cloudera.com>
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>
Gerrit-Comment-Date: Thu, 21 May 2026 19:22:57 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Abhishek Chennaka (Code Review)" <ge...@cloudera.org>.
Abhishek Chennaka has posted comments on this change. ( http://gerrit.cloudera.org:8080/24329 )

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................


Patch Set 4: Code-Review+2


-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 4
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Michael Smith <mi...@cloudera.com>
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>
Gerrit-Comment-Date: Tue, 26 May 2026 16:54:01 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Zoltan Martonka (Code Review)" <ge...@cloudera.org>.
Zoltan Martonka has posted comments on this change. ( http://gerrit.cloudera.org:8080/24329 )

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................


Patch Set 2: Code-Review+1


-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>
Gerrit-Comment-Date: Wed, 20 May 2026 06:50:29 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Hello Zoltan Martonka, Kudu Jenkins, Abhishek Chennaka, 

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/24329

to look at the new patch set (#2).

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................

KUDU-1865 reduce cross-thread allocations in RPC (part 2)

With this update, the OutboundCall::call_response_ member field
of the CallResponse type is no longer allocated on the heap.  Instead,
now the move semantics is now used to pass around the CallResponse
corresponding object.

Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
---
M src/kudu/rpc/connection.cc
M src/kudu/rpc/outbound_call.cc
M src/kudu/rpc/outbound_call.h
M src/kudu/rpc/rpc_controller.cc
4 files changed, 84 insertions(+), 78 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/29/24329/2
-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/24329 )

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................


Patch Set 1:

Build Started http://jenkins.kudu.apache.org/job/pre_commit/2582/


-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 20 May 2026 06:38:03 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/24329 )

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................


Patch Set 3: Verified-1

Build Failed 

http://jenkins.kudu.apache.org/job/pre_commit/2588/ : FAILURE


-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 3
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>
Gerrit-Comment-Date: Thu, 21 May 2026 01:25:08 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/24329 )

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................


Patch Set 2: Verified-1

Build Failed 

http://jenkins.kudu.apache.org/job/pre_commit/2583/ : FAILURE


-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>
Gerrit-Comment-Date: Wed, 20 May 2026 07:40:56 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Michael Smith (Code Review)" <ge...@cloudera.org>.
Michael Smith has posted comments on this change. ( http://gerrit.cloudera.org:8080/24329 )

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................


Patch Set 4: Code-Review+1


-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 4
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Michael Smith <mi...@cloudera.com>
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>
Gerrit-Comment-Date: Thu, 21 May 2026 21:09:13 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/24329 )

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................


Patch Set 3:

Build Started http://jenkins.kudu.apache.org/job/pre_commit/2588/


-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 3
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>
Gerrit-Comment-Date: Thu, 21 May 2026 01:21:07 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has removed a vote on this change.

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................


Removed Verified-1 by Kudu Jenkins (120)
-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 4
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Michael Smith <mi...@cloudera.com>
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Hello Zoltan Martonka, Kudu Jenkins, Abhishek Chennaka, 

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/24329

to look at the new patch set (#4).

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................

KUDU-1865 reduce cross-thread allocations in RPC (part 2)

With this update, the OutboundCall::call_response_ member field
of the CallResponse type is no longer allocated on the heap.  Instead,
it's allocated on the stack and the move semantics is used to pass
the object around.

I ran the same test scenario as in the 'part 1' to trace the asymmetry
in tcmalloc's cross-thread allocations/deallocations and confirmed
that the entries related to CallResponse were gone.

I also ran the test scenario to account for the total number of updates
in tcmalloc's central free lists.  This patch results in ~1.07x times
reduction in the total number of updates in the central free lists with
the default setting of TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES:

  before: 367
  after:  341

The requests-per-second performance hasn't changed per reports from
the RpcBench.BenchmarkCalls scenario.

Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
---
M src/kudu/rpc/connection.cc
M src/kudu/rpc/outbound_call.cc
M src/kudu/rpc/outbound_call.h
M src/kudu/rpc/rpc_controller.cc
4 files changed, 77 insertions(+), 78 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/29/24329/4
-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 4
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/24329 )

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................


Patch Set 4:

Build Started http://jenkins.kudu.apache.org/job/pre_commit/2592/


-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 4
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>
Gerrit-Comment-Date: Thu, 21 May 2026 18:06:41 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/24329 )

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................


Patch Set 1:

Build Aborted 

http://jenkins.kudu.apache.org/job/pre_commit/2582/ : ABORTED


-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>
Gerrit-Comment-Date: Wed, 20 May 2026 06:41:57 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/24329 )

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................


Patch Set 2:

Build Started http://jenkins.kudu.apache.org/job/pre_commit/2583/


-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>
Gerrit-Comment-Date: Wed, 20 May 2026 06:42:02 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Hello Zoltan Martonka, Kudu Jenkins, Abhishek Chennaka, 

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/24329

to look at the new patch set (#3).

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................

KUDU-1865 reduce cross-thread allocations in RPC (part 2)

With this update, the OutboundCall::call_response_ member field
of the CallResponse type is no longer allocated on the heap.  Instead,
it's allocated on the stack and the move semantics is used to pass
the object around.

I ran the same test scenario as in the 'part 1' to trace the asymmetry
in tcmalloc's cross-thread allocations/deallocations and confirmed
that the entries related to CallResponse were gone.

I also ran the test scenario to account for the total number of updates
in tcmalloc's central free lists.  This patch results in ~1.07x times
reduction in the total number of updates in the central free lists with
the default setting of TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES:

  before: 367
  after:  341

The requests-per-second performance reported by the
RpcBench.BenchmarkCalls scenario hasn't changed.

Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
---
M src/kudu/rpc/connection.cc
M src/kudu/rpc/outbound_call.cc
M src/kudu/rpc/outbound_call.h
M src/kudu/rpc/rpc_controller.cc
4 files changed, 77 insertions(+), 78 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/29/24329/3
-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 3
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>

[kudu-CR] KUDU-1865 reduce cross-thread allocations in RPC (part 2)

Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/24329 )

Change subject: KUDU-1865 reduce cross-thread allocations in RPC (part 2)
......................................................................


Patch Set 4: Verified-1

Build Failed 

http://jenkins.kudu.apache.org/job/pre_commit/2592/ : FAILURE


-- 
To view, visit http://gerrit.cloudera.org:8080/24329
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia5b8771f4092d5e566e91b7c7fdbf560c5fd3851
Gerrit-Change-Number: 24329
Gerrit-PatchSet: 4
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Martonka <zm...@cloudera.com>
Gerrit-Comment-Date: Thu, 21 May 2026 18:55:54 +0000
Gerrit-HasComments: No