Open ETP server freeze

Hi,

I am testing my etp client against the latest open etp server image deployed on my own docker. It is a very simple run of open etp server without ssl with foo bar credential.

My test consists in putting a 2d Grid horizon using a script very similar to https://github.com/F2I-Consulting/fetpapi/blob/main/python/example/PutHorizon.ipynb

After a lot of tests, open-etp-server freezes. Here is the last logs (the two latest scripts run) I receive:

open-etp-server      | [2025-01-16 10:05:13.300] Info: SVR HTTP 2025-01-16T10:05:13.300577 UTC
open-etp-server      | [2025-01-16 10:05:13.350] Info: SVR OK: CONNECTION ACCEPTED in 0.1ms; Thread(1) Session(3), from ANON@[::ffff:92.94.244.26]:54626
open-etp-server      | [2025-01-16 10:05:13.375] Info: SVR <REQ Thread(1) Session(3) Msg(2)_PMsg(0) Core(0).RequestSession(1) Final(F) -5
open-etp-server      | [2025-01-16 10:05:13.376] Info: SVR Thread(1) Session(3) from [F2I-CONSULTING ETP CLIENT] OPEN
open-etp-server      | [2025-01-16 10:05:13.376] Info: SVR Client Ping Timestamp: 1,737,021,911,907,781us
open-etp-server      | [2025-01-16 10:05:13.377] Info: SVR Server Pong Timestamp: 1,737,021,913,376,747us
open-etp-server      | [2025-01-16 10:05:13.377] Info: [F2I-CONSULTING ETP CLIENT] SVR >RES Thread(1) Session(3) Msg(1)_PMsg(2) Core(0).OpenSession(2) Final(F)
open-etp-server      | [2025-01-16 10:05:13.606] Info: [F2I-CONSULTING ETP CLIENT] SVR <REQ Thread(1) Session(3) Msg(4)_PMsg(0) Dataspace(24).PutDataspaces(3) Final(F) -5
open-etp-server      | [2025-01-16 10:05:13.609] Info: DbConnectionPool: Check health of database connections, total: 1, busy 0
open-etp-server      | [2025-01-16 10:05:13.612] Error: [F2I-CONSULTING ETP CLIENT] SVR >ERR Thread(1) Session(3) Msg(3)_PMsg(4) array[1] Core(0).ProtocolException(1000)
open-etp-server      |  ETP-5 Space already exists: URI conflict with demo/PutHorizon
open-etp-server      | [2025-01-16 10:05:13.649] Info: [F2I-CONSULTING ETP CLIENT] SVR <REQ Thread(1) Session(3) Msg(6)_PMsg(0) Transaction(18).StartTransaction(1) Final(F) -5
open-etp-server      | [2025-01-16 10:05:13.650] Info: [F2I-CONSULTING ETP CLIENT] SVR >RES Thread(1) Session(3) Msg(5)_PMsg(6) Transaction(18).StartTransactionResponse(2) Final(F)
open-etp-server      | [2025-01-16 10:05:13.670] Info: [F2I-CONSULTING ETP CLIENT] SVR <REQ Thread(1) Session(3) Msg(8)_PMsg(0) DataArray(9).PutDataArrays(4) Final(F) -5
open-etp-server      | [2025-01-16 10:05:13.673] Info: [F2I-CONSULTING ETP CLIENT] SVR >RES Thread(1) Session(3) Msg(7)_PMsg(8) DataArray(9).PutDataArraysResponse(10) Final(F)

open-etp-server      | [2025-01-16 10:05:20.494] Info: SVR HTTP 2025-01-16T10:05:20.494690 UTC
open-etp-server      | [2025-01-16 10:05:20.546] Info: SVR OK: CONNECTION ACCEPTED in 0.2ms; Thread(1) Session(4), from ANON@[::ffff:92.94.244.26]:54629
open-etp-server      | [2025-01-16 10:05:20.567] Info: SVR <REQ Thread(1) Session(4) Msg(2)_PMsg(0) Core(0).RequestSession(1) Final(F) -5
open-etp-server      | [2025-01-16 10:05:20.568] Info: SVR Thread(1) Session(4) from [F2I-CONSULTING ETP CLIENT] OPEN
open-etp-server      | [2025-01-16 10:05:20.568] Info: SVR Client Ping Timestamp: 1,737,021,919,101,302us
open-etp-server      | [2025-01-16 10:05:20.568] Info: SVR Server Pong Timestamp: 1,737,021,920,568,062us
open-etp-server      | [2025-01-16 10:05:20.568] Info: [F2I-CONSULTING ETP CLIENT] SVR >RES Thread(1) Session(4) Msg(1)_PMsg(2) Core(0).OpenSession(2) Final(F)
open-etp-server      | [2025-01-16 10:05:20.817] Info: [F2I-CONSULTING ETP CLIENT] SVR <REQ Thread(1) Session(4) Msg(4)_PMsg(0) Dataspace(24).PutDataspaces(3) Final(F) -5
open-etp-server      | [2025-01-16 10:05:20.860] Error: [F2I-CONSULTING ETP CLIENT] SVR >ERR Thread(1) Session(4) Msg(3)_PMsg(4) array[1] Core(0).ProtocolException(1000)
open-etp-server      |  ETP-5 Space already exists: URI conflict with demo/PutHorizon
open-etp-server      | [2025-01-16 10:05:20.906] Info: [F2I-CONSULTING ETP CLIENT] SVR <REQ Thread(1) Session(4) Msg(6)_PMsg(0) Transaction(18).StartTransaction(1) Final(F) -5
open-etp-server      | [2025-01-16 10:05:20.906] Error: [F2I-CONSULTING ETP CLIENT] SVR >ERR Thread(1) Session(4) Msg(5)_PMsg(6) scalar Core(0).ProtocolException(1000)
open-etp-server      |  ETP-15 Cannot start transaction, too many write transaction URI(s): eml:///dataspace('demo/PutHorizon')
open-etp-server      | [2025-01-16 10:05:20.926] Info: [F2I-CONSULTING ETP CLIENT] SVR <REQ Thread(1) Session(4) Msg(8)_PMsg(0) DataArray(9).PutDataArrays(4) Final(F) -5

Whatever I do after this last line does no do anything. For example, querying the server capabilities on http fails (i.e. no server answer at all).

Because of my tests, I may have opened too much transactions without closing them as the almost last log message indicates. So I am happy about the sent protocol exception!

However, my code did not check this protocol exception and still tried to put a data array. It looks that this client bad behavior makes the server freezing which ideally is not good.

I would hope a client cannot freeze the open etp server which should imho continue to run and send protocol exceptions to the client.

Edited Jan 17, 2025 by Philippe Verney
Assignee Loading
Time tracking Loading