Uploaded image for project: 'EXASOL Roadmap'
  1. EXASOL Roadmap
  2. EXASOL-2124

Missing transaction conflict between write and drop of objects

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Normal
    • Resolution: Fixed
    • Fix Version/s: Exasol 6.1.0
    • Component/s: None
    • Labels:
      None

      Description

      Currently in EXASolution the schema objects are not write-locked when dropped, but simply dropped. All schema objects exhibit this behavior. In some cases this leads to unexpected behaviors where transaction conflicts are expected, but none are happening and the affected object simply is not there anymore. An example for such a scenario is provided below:

      Simple Example (autocommit off!):

      CREATE SCHEMA s;
      CREATE TABLE t AS SELECT 1 c;
      COMMIT;
      
      Timeline Session 1 Session 2 Comment
      1 SELECT * FROM t;   read lock on table T
      2   SELECT * FROM t; another read lock
      3   DROP TABLE t; table dropped, no write lock on it
      4   COMMIT; table is not there anymore
      5 UPDATE t SET c=2;   Operating on old table version, no conflict (should be)
      6 COMMIT;   also works, although a transaction conflict should be expected
      7 SELECT * FROM t;   correctly returns exception, table T doesn't exist any more (was dropped by session 2)

      The same non-conflict behavior can be seen with create or replace.

        Attachments

          Activity

            People

            • Assignee:
              CaptainEXA Captain EXASOL
              Reporter:
              CaptainEXA Captain EXASOL
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: