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

tests: support deadlock detection in make test #1704

Merged
merged 4 commits into from
Aug 30, 2019

Conversation

rleungx
Copy link
Member

@rleungx rleungx commented Aug 26, 2019

What problem does this PR solve?

We have a lot of lock-related problems, such as #1340, #1370, #1678.

What is changed and how it works?

This PR uses go-deadlock to replace the sync package when running our tests in order to find some potential deadlock problems.

Check List

Tests

  • Unit test

Signed-off-by: Ryan Leung <[email protected]>
@codecov-io
Copy link

codecov-io commented Aug 26, 2019

Codecov Report

❗ No coverage uploaded for pull request base (master@b1eadf8). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff            @@
##             master   #1704   +/-   ##
========================================
  Coverage          ?   76.6%           
========================================
  Files             ?     158           
  Lines             ?   15583           
  Branches          ?       0           
========================================
  Hits              ?   11937           
  Misses            ?    2632           
  Partials          ?    1014
Impacted Files Coverage Δ
pkg/cache/cache.go 62.16% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b1eadf8...31c5d4d. Read the comment docs.

Makefile Outdated Show resolved Hide resolved
@rleungx rleungx requested a review from disksing August 29, 2019 03:33
Copy link
Contributor

@Luffbee Luffbee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@nolouch nolouch added the status/can-merge Indicates a PR has been approved by a committer. label Aug 30, 2019
@sre-bot
Copy link
Contributor

sre-bot commented Aug 30, 2019

/run-all-tests

@sre-bot sre-bot merged commit a1f8d9d into tikv:master Aug 30, 2019
Luffbee added a commit that referenced this pull request Sep 9, 2019
* *: unify get store function everywhere (#1671)

Signed-off-by: Ryan Leung <[email protected]>

* remove unnecessary parentheses

*  server: use leader lease to determine tso service validity (#1676)

Signed-off-by: disksing <[email protected]>

* change internal stat values to float64

* add pending operator influence

* add metrics of pending influence

* fix metrics

* fix panic

* adjust pending influence of balanceHotWrite

* change weight of pending influence

* test: fix tests (#1696)

* test: fix region syncer test

Signed-off-by: disksing <[email protected]>

* decrease region rolling window; store pending influence in scheduler

* add config-check flag for pd-server (#1695)

Signed-off-by: cwen0 <[email protected]>

* decrease possiblility transfer hot write leader

* change pending influence weight

* add unstarted op metrics

* add logs for debug

* add log for debug

* add logs for debug

* add logs for debug

* add logs for debug

* add logs for debug

* add logs for debug

* add logs for debug

* Revert "add logs for debug"

This reverts commit e74c7a9.

* add metrics for hotspot operators

* operator: rewrite move region related functions (#1667)

* add metrics for pending operators

* *: support setting endKey for ScanRange (#1700)

Signed-off-by: disksing <[email protected]>

* fix bug

* fix bug

* fix bug

* fix metrics thread-safe bug

* fix logic bug

* *: reduce some unnecessary parameters (#1698)

Signed-off-by: Ryan Leung <[email protected]>

* schedule: Do not send an operator of a region wth a stale epoch (#1659)

* schedule: Do not send an operator of a region wth a stale epoch

Signed-off-by: Shafreeck Sea <[email protected]>

* schedule: check the version changed by the operator self

Signed-off-by: Shafreeck Sea <[email protected]>

* schedule: fix unit test

Signed-off-by: Shafreeck Sea <[email protected]>

* schedule: fix to avoid dispatching a stale opstep

Signed-off-by: Shafreeck Sea <[email protected]>

* dispatch: refactor "ConsumeConfVer() int" to "ExpectConfVerChange() bool"

Signed-off-by: Shafreeck Sea <[email protected]>

* dispatch: fix typo in comment

Signed-off-by: Shafreeck Sea <[email protected]>

* fix typo

Co-Authored-By: Ryan Leung <[email protected]>

* dispatch: fix unittest

Signed-off-by: Shafreeck Sea <[email protected]>

* dispatch: refine format

Signed-off-by: Shafreeck Sea <[email protected]>

* server: fix the dead lock in scatter region (#1706)

Signed-off-by: Ryan Leung <[email protected]>

* add drop time for operator

* use IsDropped to recognize canceled ops

* try to fix trans leader burst

* try to fix trans leader burst

* add zombie influence

* change select src dst strategy; improve op_controller

* change select src strategy

* fix bug

* tools: fix set namespace in pd-ctl (#1701)

Signed-off-by: Ryan Leung <[email protected]>

* tools: fix parse url without http prefix (#1703)

Signed-off-by: Ryan Leung <[email protected]>

* tests: support deadlock detection in make test (#1704)

Signed-off-by: Ryan Leung <[email protected]>

* Makefile: fix failpoint enable (#1722)

Signed-off-by: nolouch <[email protected]>

* checker: fix the issue that a region does not merge to the sibling with smaller size (#1723)

Signed-off-by: disksing <[email protected]>

* tools: balance region simulator (#1708)

* scheduler: do not remove the operator when the step does not finish (#1715)

Signed-off-by: Shafreeck Sea <[email protected]>

* operator: fix the AddLearner config version judgment (#1732)

Signed-off-by: nolouch <[email protected]>

* tools: fix TLS in pd control (#1729)

Signed-off-by: Ryan Leung <[email protected]>

* syncer: support TLS for region syncer (#1728)

Signed-off-by: Ryan Leung <[email protected]>

* schedule: fix a thread-safe bug and improve code (#1719)
Luffbee added a commit that referenced this pull request Sep 11, 2019
* *: unify get store function everywhere (#1671)

Signed-off-by: Ryan Leung <[email protected]>

*  server: use leader lease to determine tso service validity (#1676)

Signed-off-by: disksing <[email protected]>

* test: fix tests (#1696)

* test: fix region syncer test

Signed-off-by: disksing <[email protected]>

* add config-check flag for pd-server (#1695)

Signed-off-by: cwen0 <[email protected]>

* operator: rewrite move region related functions (#1667)

* *: support setting endKey for ScanRange (#1700)

Signed-off-by: disksing <[email protected]>

* *: reduce some unnecessary parameters (#1698)

Signed-off-by: Ryan Leung <[email protected]>

* schedule: Do not send an operator of a region wth a stale epoch (#1659)

* schedule: Do not send an operator of a region wth a stale epoch

Signed-off-by: Shafreeck Sea <[email protected]>

* schedule: check the version changed by the operator self

Signed-off-by: Shafreeck Sea <[email protected]>

* schedule: fix unit test

Signed-off-by: Shafreeck Sea <[email protected]>

* schedule: fix to avoid dispatching a stale opstep

Signed-off-by: Shafreeck Sea <[email protected]>

* dispatch: refactor "ConsumeConfVer() int" to "ExpectConfVerChange() bool"

Signed-off-by: Shafreeck Sea <[email protected]>

* dispatch: fix typo in comment

Signed-off-by: Shafreeck Sea <[email protected]>

* fix typo

Co-Authored-By: Ryan Leung <[email protected]>

* dispatch: fix unittest

Signed-off-by: Shafreeck Sea <[email protected]>

* dispatch: refine format

Signed-off-by: Shafreeck Sea <[email protected]>

* server: fix the dead lock in scatter region (#1706)

Signed-off-by: Ryan Leung <[email protected]>

* tools: fix set namespace in pd-ctl (#1701)

Signed-off-by: Ryan Leung <[email protected]>

* tools: fix parse url without http prefix (#1703)

Signed-off-by: Ryan Leung <[email protected]>

* tests: support deadlock detection in make test (#1704)

Signed-off-by: Ryan Leung <[email protected]>

* Makefile: fix failpoint enable (#1722)

Signed-off-by: nolouch <[email protected]>

* checker: fix the issue that a region does not merge to the sibling with smaller size (#1723)

Signed-off-by: disksing <[email protected]>

* tools: balance region simulator (#1708)

* scheduler: do not remove the operator when the step does not finish (#1715)

Signed-off-by: Shafreeck Sea <[email protected]>

* operator: fix the AddLearner config version judgment (#1732)

Signed-off-by: nolouch <[email protected]>

* tools: fix TLS in pd control (#1729)

Signed-off-by: Ryan Leung <[email protected]>

* syncer: support TLS for region syncer (#1728)

Signed-off-by: Ryan Leung <[email protected]>

* schedule: fix a thread-safe bug and improve code (#1719)

* statistics: fix region flow calculation (#1688)

Signed-off-by: jiyingtk <[email protected]>

* makefile: improve deadlock-enable/disable (#1736)

* api: fix missing keys statistic in region information (#1741)

Signed-off-by: nolouch <[email protected]>

* *: update go version to 1.13 (#1742)

Signed-off-by: disksing <[email protected]>

* coordinator: add the operator cost time in log field (#1748)

Signed-off-by: nolouch <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status/can-merge Indicates a PR has been approved by a committer.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants