However, the app servers aren't responding — they’re still pointing to the old Caché database path
Have you tried to remove the old remote database definition from config and re-define it pointing to IRIS database path?
Hello Infant,
I would never upgrade a system in parts unless I want to face (and solve) some extra problems. Why?
1) Upgrade the application servers to IRIS first
If your code is stored in networked database on DB server, now you could not use it on APP servers as your code should be recompiled in IRIS - but you can't unless you upgrade DB server to IRIS... so you have no option but duplicating your code base on each APP server.
2) Upgrade the database server first
If your code resides on data server, your code can be easily prepared for IRIS, but APP servers are still running Caché.
So, I would start from the testing environment which you probably have, upgrading to IRIS data and APP server(s) at once. If it's not an option, I would prefer approach #1, because if you continue using Caché on APP servers having IRIS on DB server only (as to approach #2), you most likely will not feel any performance difference and will not face any potential problem with your code as it's still in Caché.







Hi Dmitrii,
Why not Sync from main()?
Class User.DelayedTest Extends %RegisteredObject { ClassMethod Callback(interval As %String) As %Status { Hang interval Write "Interval = ", interval, ! Return $$$OK } Method RunWorkers(queue) { #Dim queue as %SYSTEM.WorkMgr Set queue = ##class(%SYSTEM.WorkMgr).%New() For i = 1:1:5 { Set status = queue.Queue("..Callback", $RANDOM(5) + 1) // Minimal delay is 1 second $$$ThrowOnError(status) } } ClassMethod Main() { #Dim d = ##class(DelayedTest).%New() Do d.RunWorkers(.queue) Write "This should be printed first",! Set status = queue.Sync() $$$ThrowOnError(status) Write "Exiting...",! } }