Hi,

Ack with comments. See tag [Lennart] in attached diff. Can be applied on top of 
the review repository

Also, Below is a test for reproducing the problem described. A test should be 
added to immtest. As a rule all fixes shall also have a test case if possible

Thanks
Lennart

> -----Original Message-----
> From: Danh Vo [mailto:[email protected]]
> Sent: den 8 maj 2018 11:35
> To: [email protected]; Hans Nordebäck
> <[email protected]>; Zoran Milinkovic
> <[email protected]>; Anders Widell
> <[email protected]>; Lennart Lund <[email protected]>;
> Vu Minh Nguyen <[email protected]>
> Cc: [email protected]; Danh Cong Vo
> <[email protected]>
> Subject: [PATCH 0/1] Review Request for imm: fix PBE terminated when
> adding data with duplicated values [#2422]
> 
> Summary: imm: fix PBE terminated when adding data with duplicated values
> [#2422]
> Review request for Ticket(s): 2422
> Peer Reviewer(s): Ravi, Anders, Hans, Lennart, Vu
> Pull request to: *** LIST THE PERSON WITH PUSH ACCESS HERE ***
> Affected branch(es): develop
> Development branch: ticket-2422
> Base revision: c44d5c9f076bdfbc9bd5fded69bcbb30e65d0f14
> Personal repository: git://git.code.sf.net/u/zvoxdan/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        y
>  Core libraries          n
>  Samples                 n
>  Tests                   n
>  Other                   n
> 
> 
> Comments (indicate scope for each "y" above):
> ---------------------------------------------
> *** EXPLAIN/COMMENT THE PATCH SERIES HERE ***
> 
> revision 25b12ef05f6d120f440dbbd6232ddeec041a80af
> Author:       Danh Vo <[email protected]>
> Date: Tue, 8 May 2018 15:16:00 +0700
> 
> imm: fix PBE terminated when adding data with duplicated values [#2422]
> 
> When adding value set which has duplicated values into non-pure
> runtime attribute (cached or persistent), the first loop (doIt=0) does
> not validate in the correct way. It tries to detect duplicated
> values between current values and provided values without updating
> current values. So the current values remain the old values and
> validation just checks on that value set. Duplicated values cannot be
> dectected in provided values by current values. As a result, err is
> still SA_AIS_OK even though provided values are duplicated in the first
> loop.
> 
> This fix also increases performance for the previous fix. The validation
> should be performed in first loop (doIt=0) instead of both loops.
> 
> 
> 
> Complete diffstat:
> ------------------
>  src/imm/immnd/ImmModel.cc | 42 +++++++++++++++++++++++++++------
> ---------
>  1 file changed, 27 insertions(+), 15 deletions(-)
> 
> 
> Testing Commands:
> -----------------
> *** LIST THE COMMAND LINE TOOLS/STEPS TO TEST YOUR CHANGES ***
> Create Test class as below:
>   <class name="Test">
>       <category>SA_CONFIG</category>
>       <rdn>
>               <name>test</name>
>               <type>SA_STRING_T</type>
>               <category>SA_CONFIG</category>
>               <flag>SA_INITIALIZED</flag>
>       </rdn>
>       <attr>
>               <name>list</name>
>               <type>SA_UINT32_T</type>
>               <category>SA_RUNTIME</category>
>               <flag>SA_CACHED</flag>
>               <flag>SA_PERSISTENT</flag>
>               <flag>SA_MULTI_VALUE</flag>
>               <flag>SA_NO_DUPLICATES</flag>
>       </attr>
>   </class>
> Create object test=1 by command:
>   immcfg -c Test test=1
> Create an implementer which has:
>   - saImmOiRtAttrUpdateCallback returns SA_AIS_OK.
>   - saImmOiAdminOperationCallback does saImmOiRtObjectUpdate_2()
> command to
>     update "list" attribute with multiple values. Ex: 9 9 10
> Perform admin operation on test=1 by command:
>   immadm -o 1 test=1
> See the result if it is expected.
> 
> 
> Testing, Expected Results:
> --------------------------
> *** PASTE COMMAND OUTPUTS / TEST RESULTS ***
> 2018-05-08 14:16:38.433 SC-1 2422: Add 9 9 10 into "list" attribute
> 2018-05-08 14:16:38.437 SC-1 osafimmnd[214]: NO ERR_INVALID_PARAM:
> multivalued attr 'list' with NO_DUPLICATES yet duplicate values provided in
> rta-update call. Object:'test=1'.
> 2018-05-08 14:16:38.437 SC-1 osafimmnd[214]: WA Got error on non local rt
> object update err: 7
> 2018-05-08 14:16:38.437 SC-1 2422: saImmOiRtObjectUpdate_2 return code: 7
> 
> 
> Conditions of Submission:
> -------------------------
> *** HOW MANY DAYS BEFORE PUSHING, CONSENSUS ETC ***
> Ack from one of 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.

Attachment: imm_2422_comments.diff
Description: imm_2422_comments.diff

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to