What the heck is a "Reentrant request"?
I'm playing with %Net.DB.Iris and stumbled over a mystery
set con=##class(%Net.DB.DataSource).CreateConnection(host,...)
set srv=con.CreateIris()
write srv.ClassMethodValue("%SYSTEM.Util","InstallDirectory")
Entering the above lines (in a terminal session) on my local instance yields the correct answer for:
host = "localhost"
host = the real IP of localhost (i.e. host="192.168...")
host = "10.x.y.dev" customers development system (over a VPN tunnel)
but for
host = "10.x.y.tst" (customers test system) I get an error:
<THROW>zClassMethodValue+8^%Net.DB.Iris.1 *%Exception.StatusException ERROR #5001: Reentrant request
I don't see any reason for a "re-entry problem" in the three lines above, but maybe I'm blind...
If I execute the above three lines in a terminal session on customers dev-system (10.x.y.dev) and try to reach the testsystem (10.x.y.tst), I get the same error BUT if I do that on the test-system (10.x.y.tst) I can reach the dev-system (10.x.y.dev), i.e. no error.
Both customer instances are IRIS 2023.1.1/Win and my local instance is IRIS 2021.2/Linux
I can't figure out what's going on
- why do I get an error at all and
- what do that error means
Does anyone have any idea what's wrong and what this error message is trying to tell me or is it a case for WRC?
Comments
This is a case for WRC.
Thank you, the WRC case is open.
If that is okay, please give me the wrc#, I'm interested too. Looked through the sources, but still no idea what's going on here.
Is already sent via a direct message
Despite the misleading error message, the solution (with the help of WRC) is: IRIS native API requires a %Developer role