Exceptions on creating OMMProvider

Hi, our application calls OMMProvider::destroy() and then recreate it using the same name. Upon calling registerClient(), we got this assertion.

RFA Internal failure
File: ..\..\..\Adapters\RSSL_Prov_Adapter\Impl\RSSL_Prov_ConnectionImpl.cpp
Line: 107
Problem:
Illegal attempt to re-acquire the same connection instance.
Connection Name: Connection_OMMProv
RFA_VERIFY( 0 ) failed

Do you know what causes it?

Best Answer

  • Did you recreate OMMProvider immediately after destroying it?

    If yes, then it is a known issue.

    Event source such as OMMProvider does not design to be created and destroyed in rapid session. This assertion happens because RFA internal thread is still cleaning up connection instance from destroy() call.

    You will have to delay the OMMProvider::create() call, or if your goal is to disconnect all clients, then you should disconnect client sessions by submit() OMMClientSessionCmd rather than destroy the OMMProvider.