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

[DNM][WIP] client/leasemanager: create a package to build transaction… #45156

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

Commits on Feb 19, 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 authored and yuzefovich committed Feb 19, 2020
    Configuration menu
    Copy the full SHA
    8a5b778 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 yuzefovich committed Feb 19, 2020
    Configuration menu
    Copy the full SHA
    e51593c 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 yuzefovich committed Feb 19, 2020
    Configuration menu
    Copy the full SHA
    cff7c11 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 yuzefovich committed Feb 19, 2020
    Configuration menu
    Copy the full SHA
    e8d6ae1 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2020

  1. [DNM][WIP] client/leasemanager: additions for leases/advisory locks

    Added proof sketch for lease/lock implementation.
    Added description of alternative that does not have contention
    between concurrent acquisitions of shared lease.
    
    Release note: None
    sumeerbhola committed Feb 26, 2020
    Configuration menu
    Copy the full SHA
    073ed31 View commit details
    Browse the repository at this point in the history