Hi,

I saw we are doing some synchronization in CatalogOpExecutor:
https://github.com/cloudera/Impala/blob/cdh5-trunk/fe/src/main/java/com/cloudera/impala/service/CatalogOpExecutor.java#L337

Can anybody help me understand what the effect of synchronizing on a
method-local variable tbl?
- Doesn't each thread get its own copy of tbl, which is just a reference to
the actual table object and thus end up synchronize with only itself since
no other threads can ever share the same local copy of tbl?
- Isn't the lock on catalog_ already doing the global synchronization? Why
do we need another synchronization on tbl?

Thanks,
Chen

Reply via email to