T.R | Title | User | Personal Name | Date | Lines |
---|
4176.1 | example program for .0 | UTRTSC::WDEBAKKER | Feed your head | Mon Jun 02 1997 11:14 | 257 |
|
IDENTIFICATION DIVISION.
PROGRAM-ID. tstacms.
AUTHOR. Peter Vermeulen.
DATE-WRITTEN. 30-mei-1997.
********************************************************************************
*
* Testprogramma met alleen ACMS$SIGN_IN en ACMS$SIGN_OUT.
*
********************************************************************************
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 jpi$_username PIC S9(04) COMP VALUE EXTERNAL
jpi$_username.
01 ss$_normal PIC S9(09) COMP VALUE EXTERNAL
ss$_normal.
***
* Variabelen voor ACMS
***
01 acms$_badagent PIC S9(09) COMP VALUE EXTERNAL
acms$_badagent.
01 acms$_baduser PIC S9(09) COMP VALUE EXTERNAL
acms$_baduser.
01 acms$_normal PIC S9(09) COMP VALUE EXTERNAL
acms$_normal.
01 acms$_nosystem PIC S9(09) COMP VALUE EXTERNAL
acms$_nosystem.
01 acms$_some_io_not_available PIC S9(09) COMP VALUE EXTERNAL
acms$_some_io_no*
01 acms$m_io_disable_tdms PIC S9(09) COMP VALUE 4.
01 acms$k_connect_id PIC S9(04) COMP VALUE 3.
01 acms$s_connect_id PIC S9(04) COMP VALUE 8.
01 acms$k_proc_procedure_id PIC S9(09) COMP VALUE EXTERNAL
acms$k_proc_proc*
01 acms$k_proc_io_method PIC S9(09) COMP VALUE EXTERNAL
acms$k_proc_io_m*
01 acms$k_proc_workspace_count PIC S9(09) COMP VALUE EXTERNAL
acms$k_proc_work*
01 acms$_invpackage PIC S9(09) COMP VALUE EXTERNAL
acms$_invpackage.
01 acms$_nosuch_pkg PIC S9(09) COMP VALUE EXTERNAL
acms$_nosuch_pkg.
01 acms$_nosuch_proc PIC S9(09) COMP VALUE EXTERNAL
acms$_nosuch_pro*
01 acms$_invprocedure PIC S9(09) COMP VALUE EXTERNAL
acms$_invprocedu*
01 acms$_ntsnin PIC S9(09) COMP VALUE EXTERNAL
acms$_ntsnin.
01 acms$_opr_cancelled PIC S9(09) COMP VALUE EXTERNAL
acms$_opr_cancel*
01 acms$_pending PIC S9(09) COMP VALUE EXTERNAL
acms$_pending.
01 acms$_signin_noauth PIC S9(09) COMP VALUE EXTERNAL
acms$_signin_noa*
01 acms$_srvdead PIC S9(09) COMP VALUE EXTERNAL
acms$_srvdead.
01 acms$_srvnotfound PIC S9(09) COMP VALUE EXTERNAL
acms$_srvnotfoun*
01 acms$_call_cancelled PIC S9(09) COMP VALUE EXTERNAL
acms$_call_cance*
01 io_method PIC S9(09) COMP.
88 acms$k_io_decforms VALUE EXTERNAL
acms$k_io_decfor*
88 acms$k_io_none VALUE EXTERNAL
acms$k_io_none.
88 acms$k_io_request VALUE EXTERNAL
acms$k_io_reques*
88 acms$k_io_terminal VALUE EXTERNAL
acms$k_io_termin*
88 acms$k_io_stream VALUE EXTERNAL
acms$k_io_stream.
01 acms_param.
03 acms_id.
05 call_id PIC S9(18) COMP.
05 connect_id PIC S9(18) COMP.
05 exchange_io_id PIC S9(18) COMP.
05 io_id PIC S9(18) COMP.
05 proc_id PIC S9(18) COMP.
05 submitter_id PIC S9(18) COMP.
05 comp_status.
07 status1 PIC 9(09) COMP.
07 status2 PIC 9(09) COMP.
***
* Velden voor vertalen logical SYS$ERROR tbv. bepalen terminal naam.
***
01 trnlnm_item_list_sys_error.
03 buffer_length PIC S9(04) COMP VALUE 30.
03 item_code PIC S9(04) COMP VALUE 2.
03 buffer_address POINTER VALUE REFERENCE terminal_name.
03 return_length_address POINTER VALUE REFERENCE
terminal_name_length.
03 terminator PIC S9(09) COMP VALUE 0.
01 terminal_name PIC X(30).
01 terminal_name_descriptor.
03 terminal_name_length PIC S9(09) COMP.
03 FILLER POINTER VALUE REFERENCE terminal_name.
01 io_capabilities_flags PIC S9(09) COMP.
01 io_enable_flags PIC S9(09) COMP.
***
* Itemlist bij aanroep van ACMS$INIT_EXCHANGE_IO voor bepalen
CONNECT_ID
***
01 init_exchange_io_item_list.
03 buffer_length PIC S9(04) COMP.
03 item_code PIC S9(04) COMP.
03 buffer_address POINTER.
03 return_length_address POINTER VALUE REFERENCE
connect_id_length.
03 terminator PIC S9(09) COMP VALUE 0.
01 connect_id_length PIC S9(09) COMP.
01 username PIC X(12).
01 ws_return_status PIC S9(09) COMP.
01 return_status PIC S9(09) COMP.
01 message_tekst PIC X(256).
01 message_lengte PIC 9(04) COMP.
01 display_status PIC 9(09).
01 sign_out_cancel_flag PIC 9(09) COMP VALUE 1.
01 iss0001l.
03 iss_messg_sevrt PIC X(01).
03 iss_messg_tekst PIC X(80).
PROCEDURE DIVISION.
hoofd SECTION.
begin.
DISPLAY "Start of Program".
CALL "lib$getjpi" USING
BY REFERENCE jpi$_username
OMITTED
OMITTED
OMITTED
BY DESCRIPTOR username
OMITTED
GIVING return_status.
IF return_status IS FAILURE
THEN
CALL "lib$stop" USING
BY VALUE return_status
END-IF.
CALL "sys$trnlnm" USING
OMITTED
BY DESCRIPTOR "LNM$PROCESS_TABLE"
BY DESCRIPTOR "SYS$ERROR"
OMITTED
BY REFERENCE trnlnm_item_list_sys_error
GIVING return_status.
IF return_status IS FAILURE
THEN
CALL "lib$stop" USING
BY VALUE return_status
END-IF.
CALL "acms$sign_in" USING
BY REFERENCE submitter_id IN acms_id
BY DESCRIPTOR username
BY DESCRIPTOR terminal_name
OMITTED
OMITTED
GIVING return_status.
IF return_status NOT = acms$_normal
THEN
CALL "lib$stop" USING
BY VALUE return_status
END-IF.
DISPLAY "ASCM$SIGN_IN success".
***
* Put adress of 'connect_id' in itemlist
'init_exchange_io_item_list'.
***
SET buffer_address IN init_exchange_io_item_list
TO REFERENCE OF connect_id IN acms_id.
***
* Disable TDMS.
***
MOVE acms$m_io_disable_tdms TO io_enable_flags.
***
* Setup Itemlist for getting CONNECT_ID
***
MOVE acms$s_connect_id TO buffer_length OF
init_exchange_io_item_list.
MOVE acms$k_connect_id TO item_code OF
init_exchange_io_item_list.
***
* Use ACMS exchange IO.
***
CALL "acms$init_exchange_io" USING
BY REFERENCE submitter_id IN acms_id
BY REFERENCE exchange_io_id IN acms_id
BY REFERENCE io_enable_flags
BY REFERENCE init_exchange_io_item_list
BY REFERENCE io_capabilities_flags
GIVING return_status.
IF return_status NOT = acms$_normal AND
return_status NOT = acms$_some_io_not_available
THEN
CALL "lib$stop" USING
BY VALUE return_status
END-IF.
DISPLAY "ACMS$INIT_EXCHANGE_IO success".
CALL "acms$term_exchange_io" USING
BY REFERENCE exchange_io_id IN acms_id
GIVING return_status.
IF return_status NOT = acms$_normal
THEN
CALL "lib$stop" USING
BY VALUE return_status
END-IF.
DISPLAY "ACMS$TERM_EXCHANGE_IO success".
CALL "acms$sign_out" USING
BY REFERENCE submitter_id IN acms_id
BY REFERENCE sign_out_cancel_flag
GIVING return_status.
IF return_status NOT = acms$_normal
THEN
CALL "lib$stop" USING
BY VALUE return_status
END-IF.
DISPLAY "ACMS$SIGN_OUT success".
DISPLAY "End of Program".
eind.
STOP RUN.
END PROGRAM tstacms.
|
4176.2 | | ACMS::HALL | Bill Hall - ACMS Engineering - ZKO2-2 | Mon Jun 02 1997 15:43 | 9 |
|
It has something to do with the deletion of the network object.
If you remove NODE_NAME from ACMSGEN, and run your test agent,
it will exit immediately.
We ran into the same problem with ACC shutting down.
Bill
|
4176.3 | Yes, NODE_NAME is the one | UTRTSC::WDEBAKKER | Feed your head | Tue Jun 03 1997 04:30 | 19 |
|
Thanks, Bill
We've been looking in all kind of places but the difference
is indeed with the NODE_NAME.
I have some additional questions about this topic, because this
'feature' was introduced with V4.2
- Is this problem already being worked on, and/or is a solution
at hand?
- Are there other places within ACMS where this deletion of the
network object could cause delays?
- Does the workload have any effect, in the way that if many
users are exiting they have to wait on each other, so that
the delay may get longer than 10 seconds?
The reason I ask is that the customer will have to decide next
Thursday if they'll upgrade ACMS to V4.2, or if they'll have
to postpone it.
Thanks,
Willem
|
4176.4 | | OHMARY::HALL | Bill Hall - ACMS Engineering - ZKO2-2 | Tue Jun 03 1997 10:04 | 25 |
|
Engineering has looked at this problem but we cannot figure
out why it behaves the way it does. The information we
get out of DECnet is that 'nothing has changed' but as
you can see 'something HAS changed'.
For the other questions you have, we do not have answers.
We do know that system speed does not seem to affect
it, it takes 10 seconds on a DEC3000 workstation and
an 8200 Alphaserver.
The ACC problem has been known for a while but we didn't
think it to be a big thing. The agent problem is probably
going to be something we have to look at. We noticed
during our testing that the Ri agent (which is really
a single threaded agent) also exhibited the same
behaviour and originally caused us some concern that
there was an overall performance problem. It turned
out that this delay caused some problems in our
loadtests in that while a terminal ran this test,
it couldn't run others until the agent code returned.
We are looking further into the problem.
Bill
|
4176.5 | Would an IPMT help? | UTRTSC::WDEBAKKER | Feed your head | Wed Jun 04 1997 05:25 | 12 |
|
Bill,
Do you want me to file an IPMT for this case?
The customer does want to have this tracked down.
Tomorrow they'll have to decide whether to go with ACMS V4.2 /
VMS V7.1 or to stay where they are for the moment.
I realize that's of course not possible to have a fix by then,
but this delay will generate a lot of complaints from users, and
they will want to have this solved as soon as possible.
Willem
|
4176.6 | | OHMARY::HALL | Bill Hall - ACMS Engineering - ZKO2-2 | Wed Jun 04 1997 09:54 | 12 |
|
If it's a customer problem, then file an IPMT case, but at
priority 3. We are already investigating the problem. It
somewhere within VMS or some common interface between
VMS and DECnet since it behaves the same way with DECnet
Phase IV and DECnet/OSI.
The customer can go to ACMS V4.2 and stay with whatever version
of VMS they are currently on (probably VMS 6.2?). The
problem only occurs on OpenVMS Alpha V7.1.
Bill
|
4176.7 | OK, will do | UTRTSC::WDEBAKKER | Feed your head | Wed Jun 04 1997 10:11 | 7 |
|
OK, I'll file a level 3 case.
Upgrading just ACMS is not an option here.
By the way, does the problem not exist on the VAX platform?
I have no opportunity to test it here.
Thanks,
Willem
|
4176.8 | | OHMARY::HALL | Bill Hall - ACMS Engineering - ZKO2-2 | Wed Jun 04 1997 10:46 | 8 |
|
The problem on occurs on OpenVMS Alpha V7.1. It shows up in
ACMS V4.2 since that's the only version that runs on that
version of VMS. I suspect that if we re-linked ACMS V4.1
on that version of VMS we'd see the same problem.
Bill
|