ca.portal.admin

Re: Perfmon Information  (RESOLVED)

Discussion created by ca.portal.admin on Sep 30, 2005
Hello Joe:

I do not think that I am in error, since this is a sorted set how would the
DBMS know where it would put the new member? What if currency was already
past
the new insertion point? Would it then get an 0307 when it hit the end of
the set? Would it go all the way around again? No, I am confident that it
starts from the owner of the set. Maybe we need someone from CA to Clarify.

However, there is a keyword CURRENT that can be added to the obtain that
would allow the DBMS to start the search from set currency, but, this was
not an
OBTAIN it was a STORE that was causing the issue, the DBMS was issuing the
FIND RECORD WITHIN SET USING SORT-KEY on behalf of the run unit.


All of what you and Alan Fields are saying would absolutely be true if you
knew the input data was coming in sequence, this is an online transaction
coming from a terminal. I have used the technique described by Alan as well
in
batch when I knew the input was in sequence.

Bill Allen

"
IDMS Public Discussion Forum
IDMS-L@LISTSERV.IUASSN.COM
SMTP
IDMS-L@LISTSERV.IUASSN.COM
IDMS-L@LISTSERV.IUASSN.COM
SMTP








Normal

Normal
Re: Perfmon Information (RESOLVED)
"Hi,

I've been informed that my last message was received in some strange foreign code. Looks like a straight cut/paste frorm BOOKMANGER is deceiving. ( I haven't received it, yet. Probably due to the Navy's firewall filtering.)

Here's another attempt.

This is from the Navigational DML Manual and should be fairly definitive.

Hope it helps...


If the named record is defined as a member of a sorted set, the record that is current of set establishes the set occurrence into which the new record will be connected. The DBMS compares the sort key of the new record with the sort key of the current record of set to determine if the new record can be inserted into the set by movement in the next direction. If it can, the current of set remains positioned at the record that is current of set and the new record is inserted. If it cannot, the DBMS finds the owner of the current of set (not necessarily the current occurrence of the owner record type) and moves as far forward in the next direction as is necessary to determine the logical insertion point for the new record



Take Care,

Bruce


-----Original Message-----

From: IDMS Public Discussion Forum on behalf of Bill Allen

Sent: Fri 9/30/2005 10:34 AM

To: IDMS-L@LISTSERV.IUASSN.COM

Cc:

Subject: Re: Perfmon Information (RESOLVED)






Hello Joe:



I do not think that I am in error, since this is a sorted set how would the

DBMS know where it would put the new member? What if currency was already past

the new insertion point? Would it then get an 0307 when it hit the end of

the set? Would it go all the way around again? No, I am confident that it

starts from the owner of the set. Maybe we need someone from CA to Clarify.



However, there is a keyword CURRENT that can be added to the obtain that

would allow the DBMS to start the search from set currency, but, this was not an

OBTAIN it was a STORE that was causing the issue, the DBMS was issuing the

FIND RECORD WITHIN SET USING SORT-KEY on behalf of the run unit.





All of what you and Alan Fields are saying would absolutely be true if you

knew the input data was coming in sequence, this is an online transaction

coming from a terminal. I have used the technique described by Alan as well in

batch when I knew the input was in sequence.



Bill Allen





In a message dated 9/30/2005 10:19:56 A.M. Eastern Daylight Time,

Joe.Lupico@AIG.COM writes:



Bill,

There was one statement you made in an earlier post that I believe is in

error. You stated that an insertion into a sorted set will cause IDMS to

read the set from the owner forward (using the NEXT pointer) until the

insertion point is found.

However, I remember from my programming days that if you insert a record

into a sorted set, IDMS will first reestablish currency in that set (if

there is a current of set) and then determine if the record to be inserted

is further down the chain (in the NEXT direction). If so, it starts reading

the set from the current member, not from the owner. If the record is

further back in the chain, it will start from the owner.

I once had an issue where sorted sets were getting very long and I had to

keep inserting into them. My advantage was that the data coming in was

presorted. What I did was create a VSAM file (initialized on each run)

which kept track of the current of set for every set occurance by keeping

the data key of the owner and the DBKEY of the current of set. When I read

my next piece of data, I would determine which set it needed to be inserted

into, read the VSAM file to get the DBKEY for the last time I was in that

set, reestablish currency, and then STORE my record. This caused IDMS to

only read from the point of last insertion to the point of the new

insertion. Once the new record was stored, I'd modify my VSAM record to

update the DBKEY for that set. It cut the run time down by hours.



Joe Lupico

IDMS System Support

""Our World is a Happy World""





-----Original Message-----

From: IDMS Public Discussion Forum [mailTo:IDMS-L@LISTSERV.IUASSN.COM]On

Behalf Of Bill Allen

Sent: Friday, September 30, 2005 9:35 AM

To: IDMS-L@LISTSERV.IUASSN.COM

Subject: Perfmon Information (RESOLVED)





Hello All:



The programming staff found the problem, it was a currency issue.



They were storing the record into the same sorted set all of the time so

the

sorted set was getting longer and longer, 16,545 members. This was a very

big area, 550,000 pages across nine files.



This accounted for the long elapsed run times, the number of pages read and

the number of record locks.



Thanks to everyone who responded.



Bill Allen



"
IDMS Public Discussion Forum
IDMS-L@LISTSERV.IUASSN.COM
SMTP
IDMS-L@LISTSERV.IUASSN.COM
IDMS-L@LISTSERV.IUASSN.COM
SMTP








Normal

Normal
Re: Perfmon Information (RESOLVED)
"Bill,
Could be a number of factors.

1. Data coming in is the reverse sequence from the sorted set. That would
cause IDMS to always go back to the owner.
2. Each insert is done on a different execution of the program, therefore
no currency exists and the set must always be read from the owner. This
becomes worse as the set gets larger and the data that needs to be inserted
is at the end of the chain.

Joe Lupico
IDMS System Support
""Our World is a Happy World""

Outcomes