It seems to me that the field lock_hash_val in the buffer pool block descriptor is for caching the lock_sys hash value.
Am I understanding it right? if so, why? computing it seems only involve 8 simple ALU operations? the difference between loading it from lock_hash_val vs computing it on the fly seems to be only several cycles. Did I miss something important?
This lock_hash_val field needs to be maintained in multiple places. for example, during lock_sys resize, buffer pools must be locked and each non-empty page must be updated.
is there consideration to remove this field?
Thanks!
Am I understanding it right? if so, why? computing it seems only involve 8 simple ALU operations? the difference between loading it from lock_hash_val vs computing it on the fly seems to be only several cycles. Did I miss something important?
This lock_hash_val field needs to be maintained in multiple places. for example, during lock_sys resize, buffer pools must be locked and each non-empty page must be updated.
is there consideration to remove this field?
Thanks!