Xdata server died :(

Our xdata servers have been running very well (if one remembers to start them)
Yesterday one of our servers died to following error

20220531 13050543 EXC EHttpApiException ("HTTP Server API Error.\r\nAn operation was attempted on a nonexistent network connection") [] at b334b3
20220531 13050543 EXC EInvalidPointer ("Invalid pointer operation") [] at 409c51

this referesh to some kind of network error. Server is running on virtual windows server as windows service. And after that - service just died. Is there anything I can do in my server code catch that and restart my server, or shoud I write a watch dog?

Well, no errors should cause the XData server to die. I've never seen such issues, actually. The first error is a very common one and harmless.

The second one can be anything, but one common reason are memory management issues, and most commonly having an object being destroyed twice - usually users destroy an object that will eventually be destroyed by XData.

But it shouldn't crash the server at all. It's hard to tell what's going on. Maybe you could try to use some stack trace tool like JclDebug or TMS MemInsight and log the call stack of the error too?

ok, I tought that they where related.
I'll have to study my logs more and add Meminsight to server.
Thanks.

1 Like

While looking for logs, I found some other AV:s which where related to api call.
I tried to stress test server and I get sometimes error
TObjectPool<XData.Aurelius.ConnectionPool.TDBConnectionWrapper>.EPoolAcquireException ("Cannot retrieve object from object pool.")
Do I haveto increase pool size or could this be some issue with our DB connection?

Solved.

Increase pool size helps and might solve the issue. Ideally, though, you can also check if your code is not using more than one connection per request, and if it's not holding a connection for too long.

You said you solved it, what did you do? Just increased the pool size?

Well, the service was one of first real services to that developer. Compilcated logic was copied from win32 app. Win32 app had common sql connection and developer made temporary global variable for connection and forgot it. It works nicely if you call it from postman ...

1 Like

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.