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

fix(probe): do not contend for lock in lazy load #8037

Merged
merged 1 commit into from
Sep 20, 2021
Merged

Conversation

NamanJain8
Copy link
Contributor

@NamanJain8 NamanJain8 commented Sep 17, 2021

Earlier the admin server mutex lock was used to protect the graphql schema map. But now we store that in schema store that internally handles the concurrency. Hence, we don't need to take the admin server's read lock to access schema.

/probe/graphql is used as health check and is called very frequently. This rlock on adminserver mutex makes the /probe/graphql requests block while lazy loading when restore operation gets triggered at the startup. That leads to so many go routines being spun up.


This change is Reviewable

@github-actions github-actions bot added the area/graphql Issues related to GraphQL support on Dgraph. label Sep 17, 2021
@NamanJain8 NamanJain8 merged commit 5ad40d8 into master Sep 20, 2021
@NamanJain8 NamanJain8 deleted the naman/lazy-load branch September 20, 2021 05:33
NamanJain8 added a commit that referenced this pull request Sep 20, 2021
Earlier the admin server mutex lock was used to protect the graphql schema map. But now we store that in schema store that internally handles the concurrency. Hence, we don't need to take the admin server's read lock to access schema.

/probe/graphql is used as health check and is called very frequently. This rlock on adminserver mutex makes the /probe/graphql requests block while lazy loading when restore operation gets triggered at the startup. That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
aman-bansal pushed a commit that referenced this pull request Sep 21, 2021
Earlier the admin server mutex lock was used to protect the graphql schema map. But now we store that in schema store that internally handles the concurrency. Hence, we don't need to take the admin server's read lock to access schema.

/probe/graphql is used as health check and is called very frequently. This rlock on adminserver mutex makes the /probe/graphql requests block while lazy loading when restore operation gets triggered at the startup. That leads to so many go routines being spun up.
NamanJain8 added a commit that referenced this pull request Sep 25, 2021
Earlier the admin server mutex lock was used to protect the graphql schema map. But now we store that in schema store that internally handles the concurrency. Hence, we don't need to take the admin server's read lock to access schema.

/probe/graphql is used as health check and is called very frequently. This rlock on adminserver mutex makes the /probe/graphql requests block while lazy loading when restore operation gets triggered at the startup. That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
all-seeing-code pushed a commit that referenced this pull request Dec 14, 2022
Earlier the admin server mutex lock was used to protect the graphql schema map. But now we store that in schema store that internally handles the concurrency. Hence, we don't need to take the admin server's read lock to access schema.

/probe/graphql is used as health check and is called very frequently. This rlock on adminserver mutex makes the /probe/graphql requests block while lazy loading when restore operation gets triggered at the startup. That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
(cherry picked from commit 04ee066)
all-seeing-code pushed a commit that referenced this pull request Dec 14, 2022
Earlier the admin server mutex lock was used to protect the graphql schema map. But now we store that in schema store that internally handles the concurrency. Hence, we don't need to take the admin server's read lock to access schema.

/probe/graphql is used as health check and is called very frequently. This rlock on adminserver mutex makes the /probe/graphql requests block while lazy loading when restore operation gets triggered at the startup. That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
(cherry picked from commit 04ee066)
all-seeing-code pushed a commit that referenced this pull request Dec 14, 2022
Earlier the admin server mutex lock was used to protect the graphql schema map. But now we store that in schema store that internally handles the concurrency. Hence, we don't need to take the admin server's read lock to access schema.

/probe/graphql is used as health check and is called very frequently. This rlock on adminserver mutex makes the /probe/graphql requests block while lazy loading when restore operation gets triggered at the startup. That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
(cherry picked from commit 04ee066)
mangalaman93 pushed a commit that referenced this pull request Jan 4, 2023
Earlier the admin server mutex lock was used to protect the graphql
schema map. But now we store that in schema store that internally
handles the concurrency. Hence, we don't need to take the admin
server's read lock to access schema.

/probe/graphql is used as health check and is called very frequently.
This rlock on adminserver mutex makes the /probe/graphql requests
block while lazy loading when restore operation gets triggered at
the startup. That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
mangalaman93 pushed a commit that referenced this pull request Jan 6, 2023
Earlier the admin server mutex lock was used to protect the graphql
schema map. But now we store that in schema store that internally
handles the concurrency. Hence, we don't need to take the admin
server's read lock to access schema.

/probe/graphql is used as health check and is called very frequently.
This rlock on adminserver mutex makes the /probe/graphql requests
block while lazy loading when restore operation gets triggered at
the startup. That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
mangalaman93 pushed a commit that referenced this pull request Jan 17, 2023
Earlier the admin server mutex lock was used to protect the graphql
schema map. But now we store that in schema store that internally
handles the concurrency. Hence, we don't need to take the admin
server's read lock to access schema.

/probe/graphql is used as health check and is called very frequently.
This rlock on adminserver mutex makes the /probe/graphql requests
block while lazy loading when restore operation gets triggered at
the startup. That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
mangalaman93 pushed a commit that referenced this pull request Jan 18, 2023
Earlier the admin server mutex lock was used to protect the graphql
schema map. But now we store that in schema store that internally
handles the concurrency. Hence, we don't need to take the admin
server's read lock to access schema.

/probe/graphql is used as health check and is called very frequently.
This rlock on adminserver mutex makes the /probe/graphql requests
block while lazy loading when restore operation gets triggered at
the startup. That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
mangalaman93 pushed a commit that referenced this pull request Jan 20, 2023
Earlier the admin server mutex lock was used to protect the graphql
schema map. But now we store that in schema store that internally
handles the concurrency. Hence, we don't need to take the admin
server's read lock to access schema.

/probe/graphql is used as health check and is called very frequently.
This rlock on adminserver mutex makes the /probe/graphql requests
block while lazy loading when restore operation gets triggered at
the startup. That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
mangalaman93 added a commit that referenced this pull request Feb 1, 2023
Earlier the admin server mutex lock was used to protect the graphql
schema map. But now we store that in schema store that internally
handles the concurrency. Hence, we don't need to take the admin
server's read lock to access schema.

/probe/graphql is used as health check and is called very frequently.
This rlock on adminserver mutex makes the /probe/graphql requests
block while lazy loading when restore operation gets triggered at
the startup. That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
mangalaman93 added a commit that referenced this pull request Feb 2, 2023
Earlier the admin server mutex lock was used to protect the graphql
schema map. But now we store that in schema store that internally
handles the concurrency. Hence, we don't need to take the admin
server's read lock to access schema.

/probe/graphql is used as health check and is called very frequently.
This rlock on adminserver mutex makes the /probe/graphql requests
block while lazy loading when restore operation gets triggered at
the startup. That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
mangalaman93 added a commit that referenced this pull request Feb 2, 2023
Earlier the admin server mutex lock was used to protect the graphql
schema map. But now we store that in schema store that internally
handles the concurrency. Hence, we don't need to take the admin server's
read lock to access schema.

/probe/graphql is used as health check and is called very frequently.
This rlock on adminserver mutex makes the /probe/graphql requests block
while lazy loading when restore operation gets triggered at the startup.
That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
all-seeing-code pushed a commit that referenced this pull request Feb 8, 2023
Earlier the admin server mutex lock was used to protect the graphql
schema map. But now we store that in schema store that internally
handles the concurrency. Hence, we don't need to take the admin server's
read lock to access schema.

/probe/graphql is used as health check and is called very frequently.
This rlock on adminserver mutex makes the /probe/graphql requests block
while lazy loading when restore operation gets triggered at the startup.
That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
all-seeing-code pushed a commit that referenced this pull request Feb 8, 2023
Earlier the admin server mutex lock was used to protect the graphql
schema map. But now we store that in schema store that internally
handles the concurrency. Hence, we don't need to take the admin server's
read lock to access schema.

/probe/graphql is used as health check and is called very frequently.
This rlock on adminserver mutex makes the /probe/graphql requests block
while lazy loading when restore operation gets triggered at the startup.
That leads to so many go routines being spun up.

(cherry picked from commit 5ad40d8)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/graphql Issues related to GraphQL support on Dgraph.
Development

Successfully merging this pull request may close these issues.

2 participants