Stopping one app-instance stops push to cdn in another app-instance

WSE Version: Wowza Streaming Engine 4 Subscription Edition 4.8.5 build 20200616153358

We have multiple clients that are using Larix Broadcaster on iOS and Android to push publish to our Wowza servers.
We have configured an application named live-mobile and each client publishes to a separate application instance.
For example:
Client1 publishes to the following URL:
rtmp://wse.example.com:1935/live-mobile/client1/client1stream

Client2 publishes to the following URL:
rtmp://wse.example.com:1935/live-mobile/client2/client2stream

Shortly after the client stops streaming, the app instance is shutdown and we see the app-stop message in the log.
This has worked really well for that past few years.

We recently started using Wowza CDN for Client1 where there are a large number of viewers.
We configured the live-mobile application with a stream target for Client1 to push to Wowza CDN.
Client1 starts streaming and viewers are viewing via the Wowza CDN.
Then Client2 starts streaming to live-mobile/client2 app instance and viewers are viewing via Wowza Streaming Engine.
Shortly after the Client2 stops streaming, we see the app-stop message in the log immediately followed by messages of the form:

PushPublishUtils.stopSessionForStream[client1stream] stream:none : profile:wowza-cdn app:live-mobile, entry:client1stream, srcStream:client1stream, primary_url:http://post.wowzaprod234-i.akamaihd.net/XXXXXXXX/XXXXXXXX
PushPublishWowzaCDNHandler.disconnect(app:live-mobile, entry:client1stream, srcStream:client1stream, primary_url:http://post.wowzaprod234-i.akamaihd.net/XXXXXXX/XXXXXXXX)

Client1 is still streaming into WSE but it is no longer being pushed to Wowza CDN.

So it appears that when an app instance is stopped, WSE is stopping PushPublishing for all app instances of the application.

This has wider implications. If our Client1 has multiple cameras publishing to the same app instance
and when setting up one, they user typos the app-instance it will trigger this problem when they disconnect.

This can effectively lead to a DoS.

How can we prevent this?

Thanks,
Jo

Thanks for sharing all the details @Jonathan_Stockley and sorry that’s happening.

RE: that PushPublishWowzaCDNHandler error, did you by any chance copy the map file for client 1 when creating client 2?

I have seen this happen when both were not created separately and the map connects the 2 in a pair, so that if one stops, it will stop the other as well, Has to do with the map entries having such similar information that the Push Publish uses a single reference for the pair even though they are both loaded as separate.

Tech support says you may have to remove both entries from the map and recreate each one for each stream target.

This is just a suggestion since without a support ticket and full access to your config, we can’t test or replicate or be sure what the problem is. If you prefer to not do as suggested above and send the ticket right away, we can identify the issue, so please know you can have a wowza engineer take a closer look first.

https://www.wowza.com/support/open-ticket

Thanks for the response @Rose_Power-Wowza_Com
There is only one application named live-mobile but each client specifies it’s own application instance, client1 and client2. Only Client1 is configured for Wowza CDN, Client2 is viewed by connecting to WSE itself.

I don’t see any way to specify a seperate PushPublishMap.txt file for each application instance, only per application.

I’ll go ahead and open a support ticket to sort it out.

Thanks.
Jo

Ok thanks and I’m sorry you ran into this issue. A wowza engineer will sort it out with you and I’ll follow the ticket.