Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign up| ★ wanayoo — archive 1999 https://github.com/graphql-java/graphql-java/issues/2068 | Nouvelle recherche | Portail wanayoo |
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign up
This is a very specific bug and thus might not be relevant to most people, but i think it should at least cover the possibility and correctly throw the exception/not leak the thread. I am not sure i fully understand the bug, but i have a reproduction which i will share.
The bug happens when the
completeValueForListmethod throws an exception (for example if getting the iterator throws an exception) and at the same time there is a deeper batch loaded level in another branch of the AST. This leads to the deeper batch loader never to be dispatched, because the parent level is never marked as completed (because of the exception).To Reproduce
The crucial part of the reproduction is the
RuntimeExceptionin the iterator of the overwritten List implementation. For our use case this exception was aLazyInitializationException(Hibernate) thrown inside the iterator - so not an uncommon dependency. The error is obviously something which should be avoided, but since this does not throw any error it is quite hard to pinpoint what and where something went wrong.