-
Notifications
You must be signed in to change notification settings - Fork 503
Refactor Tasks to use builders. Do not replicate startup DDL. #1594
Conversation
- Refactor TaskDDL and TaskDML to use builders. - Track default database OID in catalog, expose via GetDefaultDatabaseOid. - Refuse INVALID_DB_OID to force callers to do the right thing, i.e., explicitly specify what database they are interacting with. - Change TryLoadStartupDDL to fail loudly instead of silently. - Disable replication of TryLoadStartupDDL.
- Add TransactionPolicy arg to QueryExecUtil::BeginTransaction. - Change a const unique_ptr<> & to a ManagedPointer. - Allow SetReplicationPolicy(DISABLE) if DurabilityPolicy is also DISABLE. - Nitpick at function docstrings in QueryExecUtil. - Question: what should DurabilityPolicy be for internal table tasks? - Found bug, see cmu-db#1595.
Performance Boost!Nice job! This PR has increased the throughput of the system. Could not find any performance results to compare for this commit. |
1 similar comment
Performance Boost!Nice job! This PR has increased the throughput of the system. Could not find any performance results to compare for this commit. |
Performance Boost!Nice job! This PR has increased the throughput of the system. Could not find any performance results to compare for this commit. |
Major Decrease in PerformanceSTOP: this PR has a major negative performance impact
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Some interesting C++ required to implement a builder when using inheritance-based runtime polymorphism!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The refactoring looks great! Appreciate it, @lmwnshn! Just some small clarifications and comments. The main thing that I'm wondering though, is that have you tried running the internal query trace recording and the pilot with your refactor? Since we don't have tests for them in CI yet, the only way to make sure that they're not broken is to run them locally.
Push txn_policy into the metrics manager.
Major Decrease in PerformanceSTOP: this PR has a major negative performance impact
|
Performance Boost!Nice job! This PR has increased the throughput of the system. Could not find any performance results to compare for this commit. |
Thanks for reviews! Going to call this blocked on #1566 as I hope to get that in.. for real.. in the near future.. Specifically, blocked on testing (though note that task manager test does work) |
While I would like this to get in, I guess this will not get in until we get the pilot in CI. |
Heading
Refactor Tasks to use builders. Do not replicate startup DDL.
Description
Fix #1576 per current understanding, we may decide in the future to add startup SQL that does get replicated, but right now everything is internal tables. Also create everything in the default
noisepage
database instead of in database 0 aka INVALID_DB_OID.Mainly going from constructors like this
to this
Fell down a rabbit hole of making it easier to specify additional properties for tasks in the future.
Remaining tasks
Seeing if it passes CI. I am surprised replication tests did not fail sooner.