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

Circular dependency detection #30

Open
host6 opened this issue Dec 20, 2017 · 1 comment
Open

Circular dependency detection #30

host6 opened this issue Dec 20, 2017 · 1 comment
Assignees
Milestone

Comments

@host6
Copy link
Member

host6 commented Dec 20, 2017

unTill depends on UBL and Db, UBL depends on Db, Db depends on UBL

  • unTill
    • UBL
      • Db
        • UBL
          ...
    • Db
      • UBL
        ....

Deadlock: Db waits for UBL,UBL waits for Db

  • unTill gets its dependencies: UBL and Db
  • UBL and DB are computing simultaneously
    • UBL
      • put UBL-DUMMY into cache (2)
      • compute its dependency: Db
        • Db sees that cache contains Db-DUMMY (1) and waits for it
    • Db
      • put Db-DUMMY into cache (1)
      • compute its dependency: UBL
        • UBL sees that cache contains UBL-DUMMY (2) and waits for it
@host6 host6 added this to the 17 milestone Dec 20, 2017
@host6 host6 self-assigned this Dec 20, 2017
@host6
Copy link
Member Author

host6 commented Dec 20, 2017

In case if there is only one branch (unTIll depends only on UBL or only on Db) then circular dependency is detected well, no problems

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant