| see "kjn>>" below
...kjn
Hello,
We've encountered a strange behaviour of the Registration FM.
kjn>> The behavior you have seen is the intended behaviour...
We have registered four entity instances of the entity class PABX:
.pabx_utrecht
.pabx_nijmegen
.pabx_oss
.pabx_hoogeveen
If we now issue the directive : SHOW PABX * ALL IDENTIFIER the following
happens:
The PM places a verb 26 (is verb DIRECTORY) and on the return of that
call it places a verb 1 with partition 1 (is verb SHOW IDENT).
It does this four times.
kjn>> The PM is expanding the global instance wildcard. Soooo, what
kjn>> you are seeing is the following:
User says SHOW <class> * ALL IDENT
PM goes to DECmcc instance DB (either DNS on VMS or local DB on ULTRIX)
with a DIRECTORY <class> * to find out what is registered
Then, for each registered instance of the specified class
PM does SHOW <class> <instance> ALL IDENT
But !!!:
The first three times the call with verb 26 returns immediately, but in the
last call it returns after two (!!!) minutes.
kjn>> Each call across the MCC_CALL interface (PM-FM) can return only
kjn>> 1 instance, so 4 registered instances will cause the PM to make 4
kjn>> calls with verb 26 (DIRECTORY). The last one take so long because
kjn>> MCC is searching the entire namespace looking for instances of the
kjn>> specified class. We give you the flexibility to name your entity
kjn>> any name you want so we have to search the namespace looking for
kjn>> occurances of the specified class. Sooo, the time to get a
kjn>> return is not a function of how many entities of the specified class
kjn>> but of how many entities are in the instance database.
If we have only one entity registered, the SHOW * IDENT takes also two minutes.
If we have two entities registered, the first returns immediately and the last
takes also two minutes.
What makes the last return so slow ? Is it looking for more entities in DNS ?
Two minutes is quite a long time if you're waiting for a response (and there
is no indication that the process is still working) !
Another related question:
If I create two instances:
.pabx_utrecht
.pabx_nijmegen
and I register only one, lets say .pabx_utrecht.
The SHOW PABX * ALL IDENT will return the identifiers of only the registered
entity (as it places a directory directive first) and not of the non-registered
entity.
kjn>> It was deliberate decision (in other words the product works as
kjn>> spec'd) to allow wildcard expansion to work only for REGISTERed
kjn>> instances.
How can I dispatch a SHOW * IDENT that shows all the CREATED entities instead
of all the REGISTERED entities ?
kjn>> As far as I know, you can't.
(I can create an entry-point for such a
directive but if the PM handles the wildcard by placing a call-combination of a
DIRECTORY-directive and a SHOW <entity> -directive, it will never get called)
kjn>> You are correct.
Is it possible to remove the directory-directive specification from the
MS-file ? Will the PM then call my AM at the entry-point for all ident and
with in_entity = FULL_INST_WILDCARD ???
kjn>> Nope. In this case, the wildcard expansion will fail.
kjn>> (Jill Callander might want to check me on this)
Following is an output of the SHOW-ident *-directive showing that the
PM calls directory and show ident.
$ man /enter
DECmcc (V1.1.0)
MCC> show pabx * all ident
*****************************************************
* FCL PM Arguments before call_function: *
*****************************************************
VERB code: 26
PARTITION code: 10
....
*****************************************************
* FCL PM Arguments before call_function: *
*****************************************************
VERB code: 1
PARTITION code: 1
....
PABX HLMCC1_NS:.pabx_hoogeveen
AT 23-SEP-1991 11:58:08 Identifiers
Examination of attributes shows:
Pabx Name = HLMCC1_NS:.pabx_hoogeveen
*****************************************************
* FCL PM Arguments before call_function: *
*****************************************************
VERB code: 26
PARTITION code: 10
....
*****************************************************
* FCL PM Arguments before call_function: *
*****************************************************
VERB code: 1
PARTITION code: 1
....
PABX HLMCC1_NS:.pabx_nijmegen
AT 23-SEP-1991 11:58:09 Identifiers
Examination of attributes shows:
Pabx Name = HLMCC1_NS:.pabx_nijmegen
*****************************************************
* FCL PM Arguments before call_function: *
*****************************************************
VERB code: 26
PARTITION code: 10
....
*****************************************************
* FCL PM Arguments before call_function: *
*****************************************************
VERB code: 1
PARTITION code: 1
....
PABX HLMCC1_NS:.pabx_oss
AT 23-SEP-1991 11:58:10 Identifiers
Examination of attributes shows:
Pabx Name = HLMCC1_NS:.pabx_oss
*****************************************************
* FCL PM Arguments before call_function: *
*****************************************************
VERB code: 26
PARTITION code: 10
....
*****************************************************
* FCL PM Arguments before call_function: *
*****************************************************
VERB code: 1
PARTITION code: 1
....
PABX HLMCC1_NS:.pabx_utrecht
AT 23-SEP-1991 11:59:37 Identifiers
Examination of attributes shows:
Pabx Name = HLMCC1_NS:.pabx_utrecht
MCC>
|
| The registration fm enrolls the entry point for directory, class *. this
means there is no way to stop it from going there unless you enroll
an entry point more specific (directory <specific class>). But,
as kathy Jo warned, directory is a common service and if you do
try to replace the registration fm function you must do so in
its entirity (like in domain spport) or else the fcl and iconic map
will have problems.
jill
|