Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solve data race for status codes #16139

Closed
wants to merge 1 commit into
base: master
from

Conversation

Projects
None yet
2 participants
@yashykt
Copy link
Member

yashykt commented Jul 25, 2018

This solves the data race in status codes which results in different statuses being reported to application and the census filter.

Invalidated by #13368

@grpc-testing

This comment has been minimized.

Copy link

grpc-testing commented Jul 25, 2018

****************************************************************

libgrpc.so

     VM SIZE                                             FILE SIZE
 ++++++++++++++ GROWING                               ++++++++++++++
  +1.6%    +256 src/core/lib/surface/call.cc             +256  +1.6%
       +30%    +144 receiving_trailing_metadata_ready        +144   +30%
      +7.1%     +64 finish_batch_step                         +64  +7.1%
      +1.7%     +32 grpc_call_create                          +32  +1.7%
      +1.4%      +6 [Unmapped]                                 +6  +1.4%
      +0.2%      +6 call_start_batch                           +6  +0.2%
      [NEW]      +5 delay_recv_trailing_finish                 +5  [NEW]

 -+-+-+-+-+-+-+ MIXED                                 +-+-+-+-+-+-+-
  -0.0%     -16 [None]                                  +1008  +0.0%

  +0.0%    +240 TOTAL                                 +1.23Ki  +0.0%


****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]



@grpc-testing

This comment has been minimized.

Copy link

grpc-testing commented Jul 25, 2018

[trickle] No significant performance differences

@yashykt yashykt referenced this pull request Jul 25, 2018

Merged

Trailing metadata status #13368

@yashykt yashykt self-assigned this Jul 25, 2018

@grpc-testing

This comment has been minimized.

Copy link

grpc-testing commented Jul 25, 2018

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,976,720      Total (>)      1,976,356

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,770,593      Total (>)     10,770,410

 No significant differences in binary sizes


@grpc-testing

This comment has been minimized.

Copy link

grpc-testing commented Jul 25, 2018

[microbenchmarks] Performance differences noted:
Benchmark                                                                            atm_add_per_iteration
-----------------------------------------------------------------------------------  -----------------------
BM_IsolatedCall_StreamingSend                                                        +18%
BM_IsolatedCall_Unary                                                                +6%
BM_PumpStreamClientToServer<InProcess>/0                                             +6%
BM_PumpStreamClientToServer<InProcess>/1                                             +6%
BM_PumpStreamClientToServer<InProcess>/262144                                        +5%
BM_PumpStreamClientToServer<InProcess>/32768                                         +5%
BM_PumpStreamClientToServer<InProcess>/4096                                          +5%
BM_PumpStreamClientToServer<InProcess>/512                                           +5%
BM_PumpStreamClientToServer<InProcess>/64                                            +5%
BM_PumpStreamClientToServer<InProcess>/8                                             +6%
BM_PumpStreamClientToServer<MinInProcess>/0                                          +6%
BM_PumpStreamServerToClient<InProcess>/0                                             +6%
BM_PumpStreamServerToClient<InProcess>/1                                             +6%
BM_PumpStreamServerToClient<InProcess>/262144                                        +5%
BM_PumpStreamServerToClient<InProcess>/32768                                         +5%
BM_PumpStreamServerToClient<InProcess>/4096                                          +5%
BM_PumpStreamServerToClient<InProcess>/512                                           +5%
BM_PumpStreamServerToClient<InProcess>/64                                            +5%
BM_PumpStreamServerToClient<InProcess>/8                                             +6%
BM_PumpStreamServerToClient<MinInProcess>/0                                          +6%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/0/1                        +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/0/2                        +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/1/1                        +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/1/2                        +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/262144/1                   +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/262144/2                   +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/32768/1                    +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/32768/2                    +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/4096/1                     +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/4096/2                     +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/512/1                      +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/512/2                      +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/64/1                       +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/64/2                       +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/8/1                        +4%
BM_StreamingPingPong<InProcess, NoOpMutator, NoOpMutator>/8/2                        +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/0/1                     +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/0/2                     +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/1/1                     +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/1/2                     +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/262144/1                +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/262144/2                +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/32768/1                 +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/32768/2                 +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/4096/1                  +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/4096/2                  +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/512/1                   +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/512/2                   +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/64/1                    +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/64/2                    +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/8/1                     +4%
BM_StreamingPingPong<MinInProcess, NoOpMutator, NoOpMutator>/8/2                     +4%
BM_StreamingPingPongMsgs<InProcess, NoOpMutator, NoOpMutator>/0                      +6%
BM_StreamingPingPongMsgs<InProcess, NoOpMutator, NoOpMutator>/1                      +6%
BM_StreamingPingPongMsgs<InProcess, NoOpMutator, NoOpMutator>/262144                 +5%
BM_StreamingPingPongMsgs<InProcess, NoOpMutator, NoOpMutator>/32768                  +5%
BM_StreamingPingPongMsgs<InProcess, NoOpMutator, NoOpMutator>/4096                   +5%
BM_StreamingPingPongMsgs<InProcess, NoOpMutator, NoOpMutator>/512                    +5%
BM_StreamingPingPongMsgs<InProcess, NoOpMutator, NoOpMutator>/64                     +5%
BM_StreamingPingPongMsgs<InProcess, NoOpMutator, NoOpMutator>/8                      +6%
BM_StreamingPingPongMsgs<MinInProcess, NoOpMutator, NoOpMutator>/0                   +6%
BM_StreamingPingPongMsgs<MinInProcess, NoOpMutator, NoOpMutator>/1                   +6%
BM_StreamingPingPongMsgs<MinInProcess, NoOpMutator, NoOpMutator>/262144              +5%
BM_StreamingPingPongMsgs<MinInProcess, NoOpMutator, NoOpMutator>/32768               +5%
BM_StreamingPingPongMsgs<MinInProcess, NoOpMutator, NoOpMutator>/4096                +5%
BM_StreamingPingPongMsgs<MinInProcess, NoOpMutator, NoOpMutator>/512                 +5%
BM_StreamingPingPongMsgs<MinInProcess, NoOpMutator, NoOpMutator>/64                  +5%
BM_StreamingPingPongMsgs<MinInProcess, NoOpMutator, NoOpMutator>/8                   +6%
BM_StreamingPingPongWithCoalescingApi<InProcess, NoOpMutator, NoOpMutator>/0/2/1     +4%
BM_StreamingPingPongWithCoalescingApi<InProcess, NoOpMutator, NoOpMutator>/1/2/1     +4%
BM_StreamingPingPongWithCoalescingApi<InProcess, NoOpMutator, NoOpMutator>/8/2/1     +4%
BM_StreamingPingPongWithCoalescingApi<MinInProcess, NoOpMutator, NoOpMutator>/0/2/1  +4%
BM_StreamingPingPongWithCoalescingApi<MinInProcess, NoOpMutator, NoOpMutator>/1/2/1  +4%
BM_StreamingPingPongWithCoalescingApi<MinInProcess, NoOpMutator, NoOpMutator>/8/2/1  +4%

@yashykt yashykt closed this Sep 6, 2018

@yashykt yashykt deleted the yashykt:statusfix branch Oct 26, 2018

@lock lock bot locked as resolved and limited conversation to collaborators Jan 24, 2019

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.