Skip to content

Semaphore - #15

Merged
madelson merged 33 commits into
release-1.4from
semaphore
Feb 3, 2018
Merged

madelson merged 33 commits into
release-1.4from
semaphore

Conversation

@madelson

@madelson madelson commented Feb 2, 2018

Copy link
Copy Markdown
Owner

No description provided.

…tempdb.sys.tables hangs if a temp table has been created in a still-open transaction.
…omponent and not require sp_getapplock. This should prepare us for making semaphores a strategy.
… several enhancements to the core algorithm:

* Marker table creation would block if a table was created and then dropped in another transaction that was still ongoing. We now include @@spid in the marker table name to prevent.
* Correct checking of APPLOCK_MODE when spin-waiting

What's still broken is TransactionScoped semaphores because they currently aren't specifying "Transaction" instead of "Session" as the lock scope which breaks Release().
Also fix mostly drained semaphore test bug where name sharing across tests caused issues.

Also improve test isolation via further lock name fragmentation.

All tests passing!
…pattern leverages abstract generic test case classes along with a test which discovers missing generics for those classes and ensures that we create concrete tests to support them. Also refactored multiplexed cleanup to make abandonment tests with multiplexing more robust.
…ion/Connection locks. This isn't as clean as we'd like because we need a known class to retrieve the connection/transaction again later.
…sts passing but there are still some TODOs to clean up
@madelson
madelson merged commit 1e0c670 into release-1.4 Feb 3, 2018
@madelson
madelson deleted the semaphore branch February 25, 2020 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant