CTI Design Pattern for Multiple Streams


hi all

 

i have 3 streams.  2 reference (edge) , 1 fast (point).  fast stream starts streaming reference streams take 1-2 mins populate

should issue infinite cti enqueuecti(datetime.maxvalue) on fast stream ,  after reference streams populate issue on each of them enqueuecti(datetime.maxvalue.addticks(-1))

thanks

 

[summarizing offline conversation between allan , myself:]

upon further investigation, turned out not cti problem. application using wall clock time assign timestamps events. due uncontrollable scheduling, the "fast" sales point event created before slow streams , hence gets timestamp before slow events' timestamps, inhibits join happen. remedy, one need issue slow events earlier timestamp guarantee reference data securely overlaps real time data.

in particular case i call slow streams "static" streams, because enqueue unique rows remain there eternity. if stream included infrequent updates, @ least @ point fast stream have chance join something, though didn't see join @ beginning.

you work around problem setting start timestamp of reference events before fast events, run cti violation when use import mechanism. on other hand, if never new event in static stream, enqueue infinite cti there after pushed rows (hence commit events good) , not import ctis fast stream. once again, works if don't anticipate further on stream. enqueueing infinite cti can done through advance time settings api.

regards,
roman


ms streaminsight team

disclaimer: posting provided "as is" no warranties, , confers no rights.


SQL Server  >  Microsoft StreamInsight



Comments

Popular posts from this blog

Motherboard replacement

Cannot create Full Text Search catalog after upgrading to V12 - Database is not fully started up or it is not in an ONLINE state

Remote Desktop App - Error 0x207 or 0x607