Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ajwerner/schemafeed leases rebase #45257

Draft
wants to merge 16 commits into
base: master
Choose a base branch
from

Commits on Feb 20, 2020

  1. [DNM][WIP] client/leasemanager: create a package to build transaction…

    … scoped leases
    
    This is a very WIP implementation of transaction scoped locks.
    The interface is garbage and not very considered.
    
    Nevertheless it seems to mostly work. The biggest problem I see so far is that
    at high concurrency there are cases where a lock can lay down all of the
    relevant intents and then still fail to commit. This happens because the TS
    cache information is lost due to a lease transfer before the txn record is layed
    down. Such a possibility is a big problem for the lease use cases which assume
    that an intent will be valid until the transaction expires. To some extent this
    problem makes sense given the transaction expiration isn't well defined before
    the txn record has been written.
    
    Release note: None
    ajwerner committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    c952a2e View commit details
    Browse the repository at this point in the history
  2. [DNM][WIP] client/leasemanager: additions for leases/advisory locks

    - Txn.ForceHeartbeat() writes a transaction record.
    - Txn.ExpiryTimestamp() returns the current expiry timestamp.
    - TODOs for plumbing a special Intent that updates the ts cache when removed due to abort.
    
    Release note: None
    sumeerbhola authored and ajwerner committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    c163808 View commit details
    Browse the repository at this point in the history
  3. [DNM][WIP] client/leasemanager: additions for leases/advisory locks

    More plumbing for special intent that updates ts cache.
    Remaining work is to somehow update the ts cache in cmd_resolve_intent.go
    and cmd_resolve_intent_range.go,
    
    Release note: None
    sumeerbhola authored and ajwerner committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    bb2a203 View commit details
    Browse the repository at this point in the history
  4. [DNM][WIP] client/leasemanager: additions for leases/advisory locks

    Plumbing to update the ts cache when removing a "leasing intent".
    
    Release note: None
    sumeerbhola authored and ajwerner committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    41d73d0 View commit details
    Browse the repository at this point in the history
  5. kv: fix a bug

    Send a struct on success channel.
    
    Release note: None
    yuzefovich authored and ajwerner committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    3f52c22 View commit details
    Browse the repository at this point in the history
  6. sql: add new pg_locks system table

    To be filled.
    
    Release note: None
    yuzefovich authored and ajwerner committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    2f67eb8 View commit details
    Browse the repository at this point in the history
  7. sql: add new pgadvisory package

    Adds a pgadvisory.Session object that uses KV-level API to implement
    txn- and session-scoped advisory locks.
    
    Release note: None
    yuzefovich authored and ajwerner committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    5f8205f View commit details
    Browse the repository at this point in the history
  8. sem/tree: add pg_advisory builtins

    Release note: None
    yuzefovich authored and ajwerner committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    4e95ee4 View commit details
    Browse the repository at this point in the history
  9. added a fake, not sure if it is working yet

    Spas Bojanov authored and ajwerner committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    0d2124b View commit details
    Browse the repository at this point in the history
  10. added a separate fake file and its own test

    Spas Bojanov authored and ajwerner committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    f8f08f5 View commit details
    Browse the repository at this point in the history
  11. fake linked to session.go and session_test.go added

    Spas Bojanov authored and ajwerner committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    238db8f View commit details
    Browse the repository at this point in the history
  12. storage: fix a nil pointer for aborted intents

    Release note: None
    yuzefovich authored and ajwerner committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    d0e1408 View commit details
    Browse the repository at this point in the history
  13. sql: use the actual LeaseManager

    Also fix some bugs in pgadvisory.Session.
    
    Release note: None
    yuzefovich authored and ajwerner committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    6fe7755 View commit details
    Browse the repository at this point in the history
  14. schemafeed: add a lease-based schemafeed implementation

    Release note: None
    ajwerner committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    0fc56c1 View commit details
    Browse the repository at this point in the history
  15. sql: add support for pg_advisory_unlock_all

    Also add useful information to all pg_advisory builtins.
    
    Release note: None
    yuzefovich committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    6994d39 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    62ff6bb View commit details
    Browse the repository at this point in the history