- **status**: unassigned --> assigned
- **assigned_to**: Neelakanta Reddy
- **Part**: - --> nd
- **Milestone**: future --> 5.0.FC



---

** [tickets:#195] IMM: Hardcoded limits should be made into config parameters**

**Status:** assigned
**Milestone:** 5.0.FC
**Created:** Tue May 14, 2013 09:12 AM UTC by Anders Bjornerstedt
**Last Updated:** Wed Jun 19, 2013 10:03 AM UTC
**Owner:** Neelakanta Reddy


Migrated from: 
http://devel.opensaf.org/ticket/2855
-----------------------------------------------------
steps:

1. Two controllers, SC-1 and SC-2.

2. Bring SC-1 up and creates more than 1000 classes

3. Bring SC-2 up, syncing will fail because the maximum supported classes in 
opensaf is 1000.

Oct 9 14:10:53 Slot-1 osafimmnd[7549]: NODE STATE-> IMM_NODE_R_AVAILABLE
Oct 9 14:10:53 Slot-1 osafimmd[7534]: Successfully announced sync. New ruling 
epoch:3
Oct 9 14:10:53 Slot-1 immload: logtrace: trace enabled to file 
/var/log/opensaf/osafimmnd, mask=0xffffffff
Oct 9 14:10:53 Slot-1 immload: Sync starting
Oct 9 14:10:58 Slot-1 immload: Synced 350 objects in total
Oct 9 14:10:58 Slot-1 osafimmnd[7549]: NODE STATE-> IMM_NODE_FULLY_AVAILABLE 
12197
Oct 9 14:10:58 Slot-1 osafimmnd[7549]: TOO MANY classes line: 1673
Oct 9 14:10:58 Slot-1 immload: immsv_finalize_sync failed!
Oct 9 14:10:58 Slot-1 immload: Sync ending ABNORMALLY
Oct 9 14:10:58 Slot-1 osafimmnd[7549]: Error code 21 returned for message type 
36 - ignoring
Oct 9 14:10:58 Slot-1 osafimmnd[7549]: SERVER STATE: IMM_SERVER_SYNC_SERVER —> 
IMM SERVER READY

The possible fix is to check the number of classes, when the class is created.
----------------------------------------------------------------------
The problem is actually a bit more general than only the hardcoded limit
on the number of classes.

There are four hardcoded limits in:

osaf/libs/common/immsv/immsv_evt.c:

#define IMMSV_MAX_CLASSES 1000
#define IMMSV_MAX_IMPLEMENTERS 3000
#define IMMSV_MAX_ADMINOWNERS 2000
#define IMMSV_MAX_CCBS 10000

All four should be moved to:
osaf/libs/common/immsv/include/immsv_api.h

Making them generally accessible to the imm server implementation code.

Then the checks on the relevant limit should be made in the relevant call in 
ImmModel?.cc

Longer term, these constants should be made into configuration parameters in the
OpenSAF-IMM configuration object.



---

Sent from sourceforge.net because opensaf-tickets@lists.sourceforge.net is 
subscribed to https://sourceforge.net/p/opensaf/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/opensaf/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
_______________________________________________
Opensaf-tickets mailing list
Opensaf-tickets@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to