MeltwaterArchive / datasift-java

Java client to interface with DataSift
http://www.datasift.com/
MIT License
10 stars 7 forks source link

StreamSubscription.onDataSiftLogMessage Is Never Called #82

Open michaelahlers opened 9 years ago

michaelahlers commented 9 years ago

A trivial implementation of this method never produces any output, whereas StreamSubscription.onMessage is regularly invoked. This method is important to my project for confirmation of stream subscriptions.

michaelahlers commented 9 years ago

A breakpoint (with a condition that msg.data() does not contain string “interaction”) on line 205 of DataSiftConnection never gets hit. I couldn't determine from the documentation one way or another, but does the service issue status messages at all for multi-streams?

zcourts commented 9 years ago

See http://dev.datasift.com/docs/resources/errors and http://dev.datasift.com/docs/deliver/streaming/multiple-streams the only time you get those messages is when something goes wrong or needs your attention. That method shouldn't be called regularly.

michaelahlers commented 9 years ago

@zcourts, one feature our users need is a strong indication that a stream to DataSift is open and healthy—even if their query produces no results. It's also useful to engineers for debugging. With subscribing to a single stream over a single direct WebSocket connection, it was easy to accomplish this using the ping frames (per the Websockets streaming documentation). Just to confirm what you've explained: there is nothing analogous for multi-stream connections?

dugjason commented 9 years ago

@michaelahlers we don't have any available features like the one you've described at present, however it does sound incredibly useful. I'll raise it with our product team as a feature request; we'll have to implement API support for it before we can support it in our client libraries

michaelahlers commented 9 years ago

@dugjason, thank you!