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

"invalidate metadata" can cause duplicate TableIds

    XMLWordPrintableJSON

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

              HuaisiXu Huaisi Xu
              skye Skye Wanderman-Milne
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: