Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-1702

"invalidate metadata" can cause duplicate TableIds

    Details

      Description

      CatalogServiceCatalog.reset() sets the table ID counter to 0, which is protected by the catalog lock. However, TableLoadingMgr.load() calls catalog_.getNextTableId() without taking the lock. This means that if reset() and multiples load()s are running concurrently, two tables created by load() can have the same ID (I'm not sure exactly what happens to these loaded tables since they'll get cleared from the catalog soon, but it appears they still show up in queries).

      This means that if "invalidate metadata" is called concurrently with queries that touch at least two tables (e.g. inserts), there is a chance that operators in the BE will see the wrong table descriptor.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                HuaisiXu Huaisi Xu
                Reporter:
                skye Skye Wanderman-Milne
              • Votes:
                0 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: