My ETA based Elektron adapter lost the MARKET PRICE (6) capability when there was some active subscription and getting data at the same time. I faced this issue when trying to subscribe for new ID and while checking "hasCapabilities" it found that MARKET PRICE capability was not available.
What is the reason for this to happen?
Is there any notification sent over API that we can capture to know this has happened?
Thanks for the output.
From this output, it looks like there might have been a small issue, at that specific time, on that specific instrument, that was reported in these messages.
In my understanding:
"Record dropped" status appears to indicate an issue that was specific to the record, not relevant for the service or a group.
And the fact that you have established stream and got updates on the same item after, indicates that the suspected issue was very brief in time.
Examples send a streaming source directory request, so this is probably what you have also implemented, and if a service state changes, major issue, you should have an update on the service to notify you.
I would expect this type of glitch to be very, very rare, but if you like to provision for it by waiting and retrying the subscription, till successful, that may be a solid coding approach.
Our process is running 24/7 and restarts one a week (Saturday - 9am) and at startup we request for source directory & field dictionary messages.
Before sending new subscription we are checking whether connection has MARKET PRICE capabilities and if it has it then only subscription are sent over connection.
I see that this connection is active and we have subscribed over this connection and getting data for those. But, when we tried to subscribe with new ID (912828X88=TWEB) on 8/4 for MARKET PRICE (domainType = 6) when checking hasCapabilities() it failed with capability not found, so this subscription didnt sent over channel. But, at the same time we are getting data for earlier subscribed IDs.
I see below 2 messages on 8/3 but getting updates after that so i believe connection was ok.
08-03 06:33:27.269 - State: Closed/Suspect/None - text: "EaaS*hash2Astatus-Record dropped from network"
08-03 06:33:27.277 - State: Closed/Suspect/None - text: "EaaS*hash2Astatus-Record dropped from network"
I dont see any service directory update messages after startup, so not sure what happened to loose capability on active session. So, I am not sure whether above 2 messages caused this issue and whether we should have dropped connection and reconnect on receiving these errors.
Let us know.
My application was retrying for subscription but as Market Price service was not available (capability removed), none of subsequent subscriptions were going thru. I had to restart process to re-instantiate.
I log every Directory update coming in so didnt see any directory update which would invoke Market Price capabilities messages.
For meantime I have implemented JMX support to re-establish connection and subscription after that. So in case we observe same problem then we dont need to restart process (so process state will be maintain) and try to recover. As you mention this is very rare scenario and we havent seen that after that instance, I will consider this issue as one of for now and will wait for any future occurrences and will see if we can get more data/logs from that incident.
Thank you for your analysis on this issue.