Will push this on Monday if there are no objections. /AndersBj
-----Original Message----- From: Anders Bjornerstedt [mailto:anders.bjornerst...@ericsson.com] Sent: den 27 november 2013 15:06 To: reddy.neelaka...@oracle.com; Hans Feldt Cc: opensaf-devel@lists.sourceforge.net Subject: [devel] [PATCH 0 of 1] Review Request for IMMND replies BAD_HANDLE if client node is missing for non fevs request [#637] Summary: IMMND replies BAD_HANDLE if client node is missing for non fevs request [#637] Review request for Trac Ticket(s): 637 Peer Reviewer(s): Neel, HansF Pull request to: Affected branch(es): 4.2; 4.3; default(4.4) Development branch: -------------------------------- 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 n Samples n Tests n Other n Comments (indicate scope for each "y" above): --------------------------------------------- changeset 946fc40a7ac4ac0405aa564b46f4501559fe49f3 Author: Anders Bjornerstedt <anders.bjornerst...@ericsson.com> Date: Wed, 27 Nov 2013 14:30:13 +0100 IMMND replies BAD_HANDLE if client node is missing for non fevs request [#637] For non fevs requests, if the local IMMND can not find the client node corresponding to the imm-handle sent by the client, then the local IMMND replies directly with SA_AIS_ERR_BAD_HANDLE, instead of just dropping the request and causing client to timeout. This short circuited behavior is not possible for fevs requests, because such requests are forwarded to the IMMD and broadcast back to all IMMNDs including the originating node. The originating node's IMMND then no longer has the reply information on the stack. It expects to find it in the client node on the heap. If the client node does not exist, then no reply, not even ERR_BAD_HANDLE, can be sent to the client of that fevs request. Complete diffstat: ------------------ osaf/services/saf/immsv/immnd/immnd_evt.c | 22 ++++++++++++---------- 1 files changed, 12 insertions(+), 10 deletions(-) Testing Commands: ----------------- This may not be easy to reproduce because we dont know what triggered the problem. No syslogs existed for the time when the problem started. Symptom was that AMFD somehow lost contact with the local IMMND such that the client node in the IMMND was discarded but this without imma client library in AMFD getting any IMMND down. Most likely is that this was some kind of MDS/TIPC issue. The AMFD continued to try to use the IMM handle, yet only got timeout on each such request, because the IMMND did not respond on requests from a no longer existing client (not existing from the local IMMND perspective). The patch alters the behavior when this case happens for non fevs requests. Besides discarding the request, an error reply (ERR_BAD_HANDLE) is also sent back to the disavowed client. Testing, Expected Results: -------------------------- If reproducible, then the AMFD should not end up in an endless loop of sending request and receiving reply. Instead the AMFD will receive BAD_HANDLE and should hopefully aquire a fresh imm-handle. Conditions of Submission: ------------------------- Ack from Neel. Arch Built Started Linux distro ------------------------------------------- mips n n mips64 n n x86 n n x86_64 n n 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 ~/.hgrc file (i.e. username, 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. ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel