Hi devs,

Recently I found an issue that our default lock table size (1024) is too
small to avoid hash collisions. Currently, our default log buffer size is
4MB * 8 = 32MB, which means there could be at most 32MB unflushed log
records. Suppose each write produces 100 bytes log records (worse case),
then there could be 320K ongoing operations at most. Thus, in
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/8003, I was trying to
increase the default lock table size to 1MB. However, this fails certain
test cases because of out-of-memory.

I'm thinking that maybe we should introduce a new parameter, e.g.,
txn.lock.table.size with default value 1MB, to make the lock size
configurable. We could still use a smaller lock table size to avoid test
case failures. Please let me know your thoughts.

Best regards,
Chen Luo

Reply via email to