Menu

#2284 IMM: Improper return code without any error string while deleting large number of objects

5.2.RC1
invalid
nobody
None
defect
imm
-
minor
2017-03-10
2017-02-01
No

Steps to reproduce:

  1. Bring up opensaf on a cluster
  2. Create around 10k objects
  3. Try deleating these objects in one immcfg operation

Output:
Error Returned - error - saImmOmAdminOwnerSet FAILED: SA_AIS_ERR_LIBRARY (2)

No error string stating the cause of failure is returned.

Syslog - immcfg: ER TOO MANY Object Names line:733

Expected behavior - Proper return code with error string should be returned

Discussion

  • Neelakanta Reddy

     
  • Neelakanta Reddy

    From the IMM README:

    Only errors that could be returned, directly or indirectly
    by an OI, such as FAILED_OPERATION or BAD_OPERATION should
    be expected to possibly have an error string.

     
  • Chani Srivastava

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -11,4 +11,4 @@
    
     Syslog - immcfg: ER TOO MANY Object Names line:733
    
    -Expected behavior - Proper error string should be returned 
    +Expected behavior - Proper return code with error string should be returned 
    
     
  • Chani Srivastava

    From the spec -

    saImmOmCcbObjectDelete()
    Return Values:
    SA_AIS_ERR_LIBRARY - An unexpected problem occurred in the library (such as
    corruption). The library cannot be used anymore.

    Deleting large number of objects does not fall in the category of ERR_LIBRARY

     
  • Neelakanta Reddy

    The IMM service, says that the default number of supported objects is 10000 for one CCB., Beyond which there may be corruptuion.in IMM. if your environment can support, then the limit of IMMSV_MAX_OBJECTS can be increased grater than 10000.

     
    • Zoran Milinkovic

      Hi,

      I have similar problem with deleting large amount of objects in IMM.
      CCB has only 1 object (the root object in cascade delete).

      Steps to reproduce the problem:

      1. populate IMM with large amount of objects. The easiest way is to use immpopulate. I tested with 200000 objects.
      2. immcfg -d <root_object></root_object>

      Then I can see many syslogs like:
      Feb 1 15:07:56 SC-1 osafimmnd[6519]: CR MDTM: undelivered message condition ancillary data: TIPC_ERR_OVERLOAD
      Feb 1 15:07:56 SC-1 osafimmnd[6519]: CR MDTM: undelivered message condition ancillary data: TIPC_RETDATA
      .....
      Feb 1 15:07:56 SC-1 osafimmnd[6519]: message repeated 1843 times: [ CR MDTM: undelivered message condition ancillary data: TIPC_RETDATA]
      Feb 1 15:07:56 SC-1 osafimmnd[6519]: WA MDS Send Failed to service:IMMA OI rc:2
      Feb 1 15:07:56 SC-1 osafimmnd[6519]: ER Immnd upcall over MDS for ccbObjectDelete to PBE failed! - aborting ccb 2
      Feb 1 15:07:56 SC-1 osafimmnd[6519]: CR MDTM: undelivered message condition ancillary data: TIPC_RETDATA
      Feb 1 15:07:56 SC-1 osafimmnd[6519]: message repeated 396 times: [ CR MDTM: undelivered message condition ancillary data: TIPC_RETDATA]
      Feb 1 15:07:56 SC-1 osafimmnd[6519]: NO Implementer locally disconnected. Marking it as doomed 6 <204, 2010f> (OpenSafImmPBE)
      Feb 1 15:07:56 SC-1 osafimmnd[6519]: CR MDTM: undelivered message condition ancillary data: TIPC_RETDATA
      Feb 1 15:07:56 SC-1 osafimmnd[6519]: message repeated 1665 times: [ CR MDTM: undelivered message condition ancillary data: TIPC_RETDATA]
      Feb 1 15:07:56 SC-1 osafimmnd[6519]: NO Ccb 2 ABORTED (immcfg_SC-1_6788)

      BR,
      Zoran

      -----Original Message-----
      From: Neelakanta Reddy [mailto:neelakanta@users.sf.net]
      Sent: den 1 februari 2017 10:03
      To: [opensaf:tickets] 2284@tickets.opensaf.p.re.sf.net
      Subject: [opensaf:tickets] #2284 IMM: Improper return code without any error string while deleting large number of objects

      The IMM service, says that the default number of supported objects is 10000 for one CCB., Beyond which there may be corruptuion.in IMM. if your environment can support, then the limit of IMMSV_MAX_OBJECTS can be increased grater than 10000.


      ** [tickets:#2284] IMM: Improper return code without any error string while deleting large number of objects**

      Status: unassigned
      Milestone: 5.2.FC
      Created: Wed Feb 01, 2017 07:13 AM UTC by Chani Srivastava Last Updated: Wed Feb 01, 2017 08:34 AM UTC
      Owner: nobody

      Steps to reproduce:

      1. Bring up opensaf on a cluster
      2. Create around 10k objects
      3. Try deleating these objects in one immcfg operation

      Output:
      Error Returned - error - saImmOmAdminOwnerSet FAILED: SA_AIS_ERR_LIBRARY (2)

      No error string stating the cause of failure is returned.

      Syslog - immcfg: ER TOO MANY Object Names line:733

      Expected behavior - Proper return code with error string should be returned


      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/opensaf/tickets/2284/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

       
  • Anders Widell

    Anders Widell - 2017-02-28
    • Milestone: 5.2.FC --> 5.2.RC1
     
  • Anders Bjornerstedt

    I am not aware of any size limitation for CCBs in IMM as such. Even if there was, exeeding it would result in some kind of explicit resource/timeout error for that case and absolutely not
    "database corruption".

    There IS a size limitation for the database total number of objects. If I remember correctly 300K objects of average size 300 bytes (?) its in the IMM_README.

    There may be (is probably) a limit on CCB size for the immcfg tool ?

    Most likely the problem observed here is due to some kind of library issue. Someone should check the imm library code for adminOwnerSet the cases that can return ERR_LIBRARY.

     
  • Anders Bjornerstedt

    Note also that it is adminOwnerSet that fails with ERR_LIBRARY

    saImmOmAdminOwnerSet FAILED: SA_AIS_ERR_LIBRARY (2
    

    and not saImmOmCcbObjectDelete.

     
  • Anders Bjornerstedt

    To summarize, the 10k limit is not per CCB but per adminOwnerSet call.

    The limit has nothing to do with avoiding "corruption in IMM".
    It simply has to do with the size of some messages being sent over the system.
    The ticket needs to be re-writen/re-defined. Best probably to close this one and maybe re-open
    a new ticket.

    I agree that ERR_LIBRARY is not the correct return code for this case. ERR_NO_RESOURCES would
    be better. Probably the documentation needs an update explaining the limit on the number of
    objects covered (explicitly, or implicitly by subtree recursion) for an admin-owner-set.

    An enhancement could in theory be defined to implement support for setting admin owner over
    larger number of objectst using one imm API call. But that use case is very rare outside of testing
    and a work arround should exist for the application (or immtools internally) to generate more than
    one admin-owner set call still within the same CCB.

     
  • Zoran Milinkovic

    • status: unassigned --> invalid
     
  • Zoran Milinkovic

    This is a limitation in IMM that adminOwnerSet may contain up to 10000 objects.
    The ticket will be closed as invalid, and a new ticket will be created to return the correct error code (SA_AIS_ERR_NO_RESOURCES) instead of SA_AIS_ERR_LIBRARY

     
  • Srikanth R

    Srikanth R - 2017-03-10

    To my understanding, this ticket is raised to correct the invalid return code ( ERR_LIBRARY). As per the ticket description, the expected behavior is "

    Expected behavior - Proper return code with error string should be returned
    "

    What is the necessity of a new ticket ?

     
    • Zoran Milinkovic

      Hi Srikanth,

      I had a discussion with Anders Bjornerstedt a week before, and we agreed to create a new ticket.
      I see that he has already explained the reason why I created a new ticket and closed the older one.

      Thanks,
      Zoran

      -----Original Message-----
      From: Srikanth R [mailto:rwpq68@users.sf.net]
      Sent: den 10 mars 2017 07:18
      To: [opensaf:tickets] 2284@tickets.opensaf.p.re.sf.net
      Subject: [opensaf:tickets] #2284 IMM: Improper return code without any error string while deleting large number of objects

      To my understanding, this ticket is raised to correct the invalid return code ( ERR_LIBRARY). As per the ticket description, the expected behavior is "

      Expected behavior - Proper return code with error string should be returned "

      What is the necessity of a new ticket ?


      ** [tickets:#2284] IMM: Improper return code without any error string while deleting large number of objects**

      Status: invalid
      Milestone: 5.2.RC1
      Created: Wed Feb 01, 2017 07:13 AM UTC by Chani Srivastava Last Updated: Thu Mar 09, 2017 01:15 PM UTC
      Owner: nobody

      Steps to reproduce:

      1. Bring up opensaf on a cluster
      2. Create around 10k objects
      3. Try deleating these objects in one immcfg operation

      Output:
      Error Returned - error - saImmOmAdminOwnerSet FAILED: SA_AIS_ERR_LIBRARY (2)

      No error string stating the cause of failure is returned.

      Syslog - immcfg: ER TOO MANY Object Names line:733

      Expected behavior - Proper return code with error string should be returned


      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/opensaf/tickets/2284/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

       
  • Anders Bjornerstedt

    The slogan of this ticket and the analysis done in this ticket was missleading since the observed
    error really had nothing specifically to do to with deltion of objects, but rather with the setting of
    adminOwner over many objects.

    Most likely that confusion stems from observations done using the immcfg tool, which maps a tool level delete to more than one IMM API call.

    The slogan of the ticket could have been changed, but there is no way to delete an incorrect analysis.

     

Log in to post a comment.

MongoDB Logo MongoDB