0 Replies Latest reply on Oct 1, 2007 8:59 AM by DaveKessler

    Client variable database repository exception handling

      We have recently had 2 incidents where client variable database storage appears to have failed in our clustered environment. We have 2 servers that share a sybase 12.5.2 client variable repository (CDATA/CGLOBAL). The problem seems to be occuring when a table that the application uses gets blocked by an unrelated application. When this happens, client variable storage seems to fail - the 2 servers apparently use whatever client variables they have in memory rather than getting the values from CDATA.

      There are no exceptions thrown, the application continues to function normally except that each server has it's own copy of the client variables. When we kill the process that has the table locked up, the servers start using CDATA normally again.

      The page that is getting blocked by the external process does not update any client variables, but it does read them. The inconsistent client variable problem occurs on other pages, not the one being blocked.

      I was able to sort of recreate the problem. I found that if I renamed CDATA, no error is reported to the user. The database exception (table not found) is logged, but not thrown on the page. To the user the application appears to function normally. So this demonstrates that updates to CDATA which result in database exceptions fail silently and are not thrown to the page.

      Has anyone else experienced silent exceptions in CDATA updates? Are there any workarounds for this behavior? Our application relies on client variables being consistent across servers and really need for exceptions to be thrown to the page so that the user is aware.

      Additional Info:
      CFMX 7.0.2
      Windows Server 2003 SP1
      database is sybase 12.5.2