Since yesterday I am struggling with hanging batch process.
They did the to-do but did not end and consumes 100% of a single cpu.
Need to kill them, db is still up.
This morning I noticed the java process for the appserver with 100% cpu, identified a server and killed it by the explorer.
Then the _proapsv of this appserver starts having 100% CPU, until now.
The logfile shows nothing, DB I/O was 0.
Later I tried to delete records in a table in the procedure editor:
FOR EACH table where field BEGINS "A" EXCLUSIVE-LOCK:
DELETE table.
END.
I noticed a slow I/O and decided to chunk transaction and pressed CTRL-C.
After this I got PROGRESS (not responding) and now this prowin32 consumes 100% CPU too without any I/O.
Identified my usr 52 in promon: REMC/ABL, shows Dbkey 27614 on SRV 2
No-locks, no running transaction, no further entry in logfile.
Stefan,
promon/R&D/1/4/2. Blocked Clients
promon/R&D/debghb/6/15. Status: Buffer Lock Queue
Did you check these screens?
No, I had PSC online and didn't get this proposal. But the table I delete shouldn't get no new entries during my connection.
The client was running fine until I decided to press CTRL-C to change the query.
The index used is time based (datetime-tz), this should mean delete from old to newest.
ADD INDEX "IxLastChanged"
INDEX-FIELD "LastChanged" ASCENDING
protop shows that this index is used.
New records will be added at the end and there is a 0,000x change for a collision.
(or the time is running backwards ...)