Hi Thuan
One minor comment, we could separate this commit into one for code
change, one for test case.
@Vu, you have any comments?
Thanks
Minh
On 27/11/19 1:21 pm, thuan.tran wrote:
Summary: mds: not waste 1.5s in waiting dead Adest to send RSP [#3102]
Review request for Ticket(s): 3102
Peer Reviewer(s): Minh, Vu, Thang, Gary
Pull request to: *** LIST THE PERSON WITH PUSH ACCESS HERE ***
Affected branch(es): develop
Development branch: ticket-3102
Base revision: b61bee5c8accd79e573ef726d40b945afc7c7b3e
Personal repository: git://git.code.sf.net/u/thuantr/review
--------------------------------
Impacted area Impact y/n
--------------------------------
Docs n
Build system n
RPM/packaging n
Configuration files n
Startup scripts n
SAF services n
OpenSAF services n
Core libraries y
Samples n
Tests y
Other n
NOTE: Patch(es) contain lines longer than 80 characers
Comments (indicate scope for each "y" above):
---------------------------------------------
N/A
revision f4f5ab3efe19bdd11c5cb43e4f4d48af79656737
Author: thuan.tran <thuan.t...@dektech.com.au>
Date: Tue, 26 Nov 2019 15:58:34 +0700
mds: not waste 1.5s in waiting dead Adest to send RSP [#3102]
- When sending response message to Adest which is not exist (crash/terminate),
current MDS try to wait for 1.5 seconds before conclude no route to send RSP.
- Here are scenarios may waste 1.5s waiting:
SVCs DOWN (dead adest or vdest role change) -> get SNDRSP -> send RSP (wait
1.5s)
get SNDRSP -> SVCs DOWN (dead adest or vdest role change) -> send RSP (wait
1.5s)
This long wait time cause trouble for higher layer services, e.g: ntf, imm,
etc...
where there are many agents send initialize request (use message SNDRSP type)
- Solution: create adest list, a timer start when last SVC of adest DOWN.
When sending RSP to this adest, the wait time will reduce to only 10ms.
Notice that following origin behavior is kept:
No any SVC UP before -> get SNDRSP -> send RSP (wait 1.5s)
- New TC tet_send_response_tp_13() is created to verify this scenario.
Complete diffstat:
------------------
src/mds/apitest/mdstipc.h | 1 +
src/mds/apitest/mdstipc_api.c | 107 ++++++++++++++++++++++
src/mds/apitest/mdstipc_conf.c | 1 -
src/mds/mds_c_api.c | 199 +++++++++++++++++++++++++++++++++--------
src/mds/mds_c_sndrcv.c | 38 +++++---
src/mds/mds_core.h | 30 ++++++-
src/mds/mds_dt2c.h | 2 +-
src/mds/mds_dt_common.c | 24 ++++-
src/mds/mds_main.c | 4 +
9 files changed, 350 insertions(+), 56 deletions(-)
Testing Commands:
-----------------
N/A
Testing, Expected Results:
--------------------------
N/A
Conditions of Submission:
-------------------------
ACK by reviewers
Arch Built Started Linux distro
-------------------------------------------
mips n n
mips64 n n
x86 n n
x86_64 y y
powerpc n n
powerpc64 n n
Reviewer Checklist:
-------------------
[Submitters: make sure that your review doesn't trigger any checkmarks!]
Your checkin has not passed review because (see checked entries):
___ Your RR template is generally incomplete; it has too many blank entries
that need proper data filled in.
___ You have failed to nominate the proper persons for review and push.
___ Your patches do not have proper short+long header
___ You have grammar/spelling in your header that is unacceptable.
___ You have exceeded a sensible line length in your headers/comments/text.
___ You have failed to put in a proper Trac Ticket # into your commits.
___ You have incorrectly put/left internal data in your comments/files
(i.e. internal bug tracking tool IDs, product names etc)
___ You have not given any evidence of testing beyond basic build tests.
Demonstrate some level of runtime or other sanity testing.
___ You have ^M present in some of your files. These have to be removed.
___ You have needlessly changed whitespace or added whitespace crimes
like trailing spaces, or spaces before tabs.
___ You have mixed real technical changes with whitespace and other
cosmetic code cleanup changes. These have to be separate commits.
___ You need to refactor your submission into logical chunks; there is
too much content into a single commit.
___ You have extraneous garbage in your review (merge commits etc)
___ You have giant attachments which should never have been sent;
Instead you should place your content in a public tree to be pulled.
___ You have too many commits attached to an e-mail; resend as threaded
commits, or place in a public tree for a pull.
___ You have resent this content multiple times without a clear indication
of what has changed between each re-send.
___ You have failed to adequately and individually address all of the
comments and change requests that were proposed in the initial review.
___ You have a misconfigured ~/.gitconfig file (i.e. user.name, user.email etc)
___ Your computer have a badly configured date and time; confusing the
the threaded patch review.
___ Your changes affect IPC mechanism, and you don't present any results
for in-service upgradability test.
___ Your changes affect user manual and documentation, your patch series
do not contain the patch that updates the Doxygen manual.
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel