Some of these limits are sanity check limits and should really not
be runtime configurable.
For example, the maximum number of parameters allowed in an admin-opertion
request (or reply) is 127.
Sanity limits like that one are not intended to be changed.
Thay are there to protect the server side of the service from
applications that are faulty or poorly designed.
An application reaching such a limit will contain the problem to that
application and provide a clear error indication as to the cause in the
syslog.
But even if such parameters are not suitable for runtime configurability,
they should be documented both in what they limit and where in the code
the limit resides.
Some but not all of these limits reside in:
/osaf/libs/common/immsv/include/immsv_api.h
preferably all should be moved to that file.
The documentation update will be made to osaf/services/saf/immsv/README.
A corresponding update of the OpenSAF_IMMSv_PR document will be made
in conjunction with the relevant OpenSAF release.
---
** [tickets:#195] IMM: Hardcoded limits should be made into config parameters**
**Status:** unassigned
**Created:** Tue May 14, 2013 09:12 AM UTC by Anders Bjornerstedt
**Last Updated:** Tue May 14, 2013 09:12 AM UTC
**Owner:** nobody
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 you indicated interest in
<https://sourceforge.net/p/opensaf/tickets/195/>
To unsubscribe from further messages, please visit
<https://sourceforge.net/auth/subscriptions/>
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets