Page 1 of 1

Global Catalog and Local Catalog

Posted: Tue Sep 22, 2015 10:18 pm
by Fred
Hi,

When I was going through Vertica documentation, I came across a column called OBJECT_NAME in the system table LOCK_USAGE and the description of the column says "Name of object being locked; can be a table or an internal structure (projection, global catalog, or local catalog)." Can someone throw some insight as to what all constitutes global catalog and local catalog?

Thanks,Fred

Re: Global Catalog and Local Catalog

Posted: Wed Sep 23, 2015 5:05 pm
by JimKnicely
Global Catalog Locks = Meta-data global across all nodes
  • 1. A GCL X lock is required for the following operations:
    • DDL Implicit Commit
    • DML Explicit Commit
    • Refresh
    • Recovery
    • Segment Balancing
    • Inviting a node to join the cluster
    2. These GCL operations block other GCL operations requiring locks
Local Catalog Locks = Meta-data local to a node
  • 1. A LCL X lock is required for the following operations:
    • DDL Implicit Commit
    • DML Explicit Commit
    • Moveout
    • Mergeout

Re: Global Catalog and Local Catalog

Posted: Wed Sep 23, 2015 7:55 pm
by Fred
Hi Jim,

Thanks for your time. A couple of clarifications though.

1. Did you mean to say "DDL IMPLICIT COMMIT" and "DML EXPLICIT COMMIT"? as DDL is always IMPLICITILY commited?
2. Why does DML commit need to acquire a GCLX? Is it because thats when AHM advances? which is a global entity?

Thanks, Fred.

Re: Global Catalog and Local Catalog

Posted: Wed Sep 23, 2015 9:04 pm
by NorbertKrupa
Fred wrote:2. Why does DML commit needs to acquire a GCLX? Is it because thats when AHM advances? which is a global entity?
My guess is because it's across all nodes.

Re: Global Catalog and Local Catalog

Posted: Thu Sep 24, 2015 12:37 am
by Fred
Thanks Norbert. That makes sense. Also, AHM need not advance at the time of commit itself as I understand AHM advance depends on the Epoch management parameters.

Re: Global Catalog and Local Catalog

Posted: Thu Sep 24, 2015 12:44 am
by NorbertKrupa
Fred wrote:Thanks Norbert. That makes sense. Also, AHM need not advance at the time of commit itself as I understand AHM advance depends on the Epoch management parameters.
Take a look at my StackExchange answer on AHM.