Repository navigation
fix(db): prevent runtime lock convoys - #382
Merged
Merged
Conversation
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM> # Conflicts: # backend_api_python/app/routes/community.py
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM> Co-authored-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
#362 normalized the Binance protection orders, but Bitget (UTA and classic) and Bybit still sent percentage-derived prices with str(), e.g. stopLoss=77951.14749999999 for a 2.5% stop on a 76049.9 short. Those are off the contract tick, so the venue rejects the protection order. Run the stop-loss, take-profit and trailing activation prices (and the Bybit trailingStop distance) through each client's _normalize_price, the same way #362 does for Binance, and raise when the result falls below the minimum. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: aliassar <ali.assar8@gmail.com>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Root cause
A startup admin probe kept a read transaction open while calling helpers that acquired another pooled connection. Concurrent request-time DDL on
qd_usersthen waited for an access-exclusive lock, and later API and worker sessions queued behind that lock. PostgreSQL could not detect the application-level cross-session cycle, so the lock convoy persisted until the blocker was terminated.Changes
Validation
git diff --checkpassedDeployment impact
Allow the migration service to finish, then rebuild and recreate the backend and Python worker containers so both the code changes and new PostgreSQL session options take effect. A plain container restart is not sufficient when the image has not been rebuilt.