| >> The SYS$BATCH Queue has a Joblimit of 5 ... if the Batchqueue is
>> stopped and there're some CU-Jobs in it, all are started at same
>> time. The first wins, the others die.
-----
Hi Charly,
Thank you for this information. I had problems with competing jobs during
development of this code. In this case it was test jobs set off by a test
suite in very close succession. So, I set a timer in Make_Uic which, if it
can't get the lock on the resource, waits and tries again to get the lock.
This worked fine, I suspect because although in close proximity, they were
not exactly the same time; Make_Uic doesn't take very long to do its
business with the sysuaf, and so mostly the timeout worked. But, what you
seem to have is a large number of jobs re-trying ~at the same time
exactly~. - and they're getting locked out because they retry at the same
time again and can't get the lock.
The logic goes something like this:
. Set the timer period (hard-coded to 2 minutes at present)
. Take out a lock for the function MAKE_UIC;
. Attempt to get an exclusive lock.
. First attempt to get an exclusive lock, but don't queue it
. If can't get the lock, set a timer and wait for 120 seconds:
. Second attempt to get an exclusive lock;
. If can't get the lock on second attempt, accept defeat and
give up..
I guess I'll have to have another look at this ;-)! We do have an
outstanding case against this problem, so there's no need to SPR. It's
not a major problem in routine account creation, but is a problem if you
intend to do multiple creates.
Cheers
DaveT
|
| Hi Dave,
it's really a great reply. What should we do, if we're not having
great customers like the CoV (City of Vienna). They've a good
environment for testing, which we never could have here in our office.
It's now nice to hear that you'll apply a 'timeout' parameter to the
MAKE_UIC function in one of the next releases.
Many thanks again
Charly_from_CSC_Vienna
|