We are attempting the adoption of UV 14.2.1 after being stable with 11.3.5 for a while.
It is not going very well. The change between UV 11 and UV 14 is significant and I am not able to find much supporting material to help guide our adoption.
After reviewing the available docs and following the guidance for tuning the `uvconfig` settings we have our target base system configuration established.
Connecting a single uvsh to run `UPDATE.ACCOUNT` results in "The GLM lock table is full." messages.
The guidance for some of the `uvconfig` settings is to reference the maximum number of locks in a transaction.
Seems simple enough, if taking the UV 11.3.5 perspective of a transaction being instigated by BASIC code using the transaction semantics. That is how we approached the setting determination and the results indicate this is not correct.
When digging into some of the UV 14 GLM related changes there seems to be another concept for a transaction.
Using the uvglm_tool utility it is possible to list active transactions on a system.
This is the output, on a system with 0 client connections:
# uvglm_tool
What information to display?
0: quit
1: Show the Map of Locks
2: Holding Locks and Waiting Queues for a Given Transaction
3: Holding Transactions and Waiting Queues for a Given Lock
4: More Options for Developer
selection = 4
displaying GLM structure by attaching to shared memory.
What information to display?
0: Back to previous menu
1: transaction table
2: detailed info about one transaction
3: detailed info about all transactions
4: all locks of a (normal) file by one transaction
5: (normal) resource table
6: detailed info about one (normal) resource
7: detailed info about all (normal) resources
8: waiting transactions
9: table info (latches, lock counts, free nodes)
selection = 9
Which table to display?
0: Back to previous menu
1: Transaction Table
2: Transaction Table Summary
3: Lockname Table
4: Lockname Table Summary
selection = 2
Transaction Table Summary:
-------------------------------------------------------
num of transaction entries = 256
num of active transactions = 2
avg num of locks per transaction = 0.000000
max num of locks by a transaction = 0
min num of locks by a transaction = 0
avg num of free own_wait nodes = 0.000000
Which table to display?
0: Back to previous menu
1: Transaction Table
2: Transaction Table Summary
3: Lockname Table
4: Lockname Table Summary
selection =
How can there be 2 active transactions without any active clients?
So I am now wondering if the guidance on tuning some of the uvconfig settings is based on a different concept of a transaction. Can anyone shed light on this?