[Icecast-dev] Fallback on-demand relay problem
Randy McAnally
rsm at fast-serv.com
Thu Aug 2 08:24:16 PDT 2007
We found an interesing issue that after a downed publishing point is
restored, the fallback relay doesn't stop relaying. We've tried everything,
but once /asf2 or /asf3 is envoked for /asf1 fallback reasons, they don't
stop relaying their source streams even though the output stream /asf1 has
returned to normal. Eventually we end up with /asf2 relaying indefinately
with no listeners until we manually kick it from it's source server.
It seems there is a bug somewhere in the on-demand logic for relays and
fallback.
Here's the scenario -
1. Player connects to /asf1
2. Source relay for /asf1 is downed
3. Player is now playing /asf2 as it should. Relay for /asf2 starts.
4. Source relay for /asf2 is downed
5. Player is now playing /asf3 as it should.
6. Relay for /asf2 is restored
7. Player is now playing /asf2 as it should.
8. Relay for /asf1 is restored
9. Player is now playing /asf1 as it should.
*** Relay for /asf2 never disconnects until kicked. Status page shows all
three mount points up and running, instead of just 1 and 3.
Here's the layout -
/asf1 is primary relay
/asf2 is fallback relay for asf1
/asf3 is a live encoder connection that is fallback for /asf2
<relays-on-demand>1</relays-on-demand>
<relay>
<server>10.0.0.1</server>
<port>6996</port>
<mount>/</mount>
<local-mount>/asf1</local-mount>
<on-demand>1</on-demand>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
<relay>
<server>10.0.0.2</server>
<port>6996</port>
<mount>/</mount>
<local-mount>/asf2</local-mount>
<on-demand>1</on-demand>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
<mount>
<mount-name>/asf1</mount-name>
<max-listeners>10</max-listeners>
<burst-size>65536</burst-size>
<fallback-mount>/asf2</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>0</fallback-when-full>
<hidden>0</hidden>
<no-yp>1</no-yp>
</mount>
<mount>
<mount-name>/asf2</mount-name>
<max-listeners>10</max-listeners>
<burst-size>65536</burst-size>
<fallback-mount>/asf3</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>0</fallback-when-full>
<hidden>0</hidden>
<no-yp>1</no-yp>
</mount>
<mount>
<mount-name>/asf3</mount-name>
<max-listeners>10</max-listeners>
<burst-size>65536</burst-size>
<!-- <fallback-mount></fallback-mount> -->
<fallback-override>1</fallback-override>
<fallback-when-full>0</fallback-when-full>
<hidden>0</hidden>
<no-yp>1</no-yp>
</mount>
--
Randy M.
www.fastserv.com
877-255-9081 x201
More information about the Icecast-dev
mailing list