These 16 commits are when the Protocol Buffers files have changed:
Commit: | 8dd3bb7 | |
---|---|---|
Author: | Qian Li | |
Committer: | GitHub |
Add role in Apiary (#128) * Remove WFQ stuff * Refactored "service" to "role" in Apiary. --------- Co-authored-by: Peter Kraft <petereliaskraft@gmail.com>
The documentation is generated from this commit.
Commit: | d9ab48a | |
---|---|---|
Author: | Qian Li | |
Committer: | GitHub |
WP Option Case Study and Fixes (#124) - Fixed the bug in replay: now use a thread pool to asynchronously execute replay tasks. -- - - Within concurrent tasks, always launch committed tasks first, and the aborted ones later, because we wanted to reproduce those constraint violation errors and lock failures. - Propagated error messages back to the client. Added case study code for WordPress 11437, MediaWiki 69815, 40594.
Commit: | f99177b | |
---|---|---|
Author: | Qian Li | |
Committer: | GitHub |
Retro End Condition (#123) This PR allows the retro replay to stop right before a given request, by providing an endExecID to the replay function.
Commit: | e45c47f | |
---|---|---|
Author: | Qian Li | |
Committer: | GitHub |
Selective Retro (#122) This PR implements a basic selective retro replay mode. We track which tables are updated during replay, and skip based on a few heuristics: - If a request triggers a workflow of functions, we only need to check the first function of each request. Functions in a workflow is either all skipped or not. - If a workflow contains any modified function, then we must replay it. - If a workflow is read-only and doesn't contain modified functions, then we skip it. - If a workflow contains write but doesn't interact with tables in the write set, then we can skip it. Also refactored the Moodle tests to a new file.
Commit: | 7b5fbab | |
---|---|---|
Author: | Qian Li | |
Committer: | GitHub |
Retro replay (#111) This PR implements retroReplay -- replay an execution and everything after it, using the original transaction log for the execution order. In order to implement this feature, I made several changes: - Changed isReplay to replayMode. 0: not a replay, 1: replay a single execution using the provenance log, 2: replay an execution and everything after. - Added an option to log requests. We only need to log the initial client input of each workflow. It uses the provenance buffer so it should not impact performance. - The Apiary worker uses a single thread to do retroReplay and returns the result once everything is finished. -RetroReplay does not generate more TCP requests to the worker. - Added tests to make sure that we can faithfully follow the original execution order, especially if two requests are interleaving. Now we can reset the database and re-execute from any point in the past. Will add more optimizations on selective replay in future PRs.
Commit: | d1f3e2d | |
---|---|---|
Author: | Qian Li | |
Committer: | GitHub |
Refactor + Infra for Replay (#104) - Refactored provenance tables and tests. - Propagated replay flag throughout the execution pipeline. Next step: implement basic replay support by answering queries with provenance data.
Commit: | 71c9bce | |
---|---|---|
Author: | Peter Kraft | |
Committer: | GitHub |
Exactly-Once Semantics for Postgres (#52)
Commit: | 563d726 | |
---|---|---|
Author: | Peter Kraft | |
Committer: | GitHub |
Returning Array Types (#43)
Commit: | 6716ef1 | |
---|---|---|
Author: | Qian Li | |
Committer: | GitHub |
Basic provenance (#40) * Basic provenance logging for functions * Add execution id to function execution * Refactor apiary worker client
Commit: | 1fb7e53 | |
---|---|---|
Author: | Peter Kraft | |
Committer: | GitHub |
Improved Typing (#41)
Commit: | ed218d0 | |
---|---|---|
Author: | Peter Kraft | |
Committer: | GitHub |
WFQ Scheduler (#29)
Commit: | 6625366 | |
---|---|---|
Author: | Qian Li | |
Committer: | GitHub |
Async Benchmark (#28) Co-authored by Peter Kraft <petereliaskraft@gmail.com> Co-authored by Qian Li <qianli@cs.stanford.edu>
Commit: | 8f17f05 | |
---|---|---|
Author: | Qian Li | |
Committer: | GitHub |
Async Workers (#16)
Commit: | 08d60d8 | |
---|---|---|
Author: | Peter Kraft | |
Committer: | GitHub |
Remove Pkeys (#15)
Commit: | 36028e7 | |
---|---|---|
Author: | Qian Li | |
Committer: | GitHub |
Partition Info (#13) Add partition info interface inside ApiaryConnection. Now we can easily get the hostname given a pkey. Update related tests and clean up the codebase (use Integer for pkey everywhere).
Commit: | e8ad1cd | |
---|---|---|
Author: | Peter Kraft | |
Committer: | GitHub |
Decentralized Scheduler (#10)