Redundancy doesn't work as expected

Hi all!
Peertube is excelent solution, many thanks!

I found an issue, it seemed strange to me, but maybe it’s a wrong confuguration of my server, so I want to ask about this first.

Now I have a main instance and a second test instance, they follow each other and both have redundancy enabled. When I play a video from the main instance I see the « 2 peers » label, it’s fine. The video hosted on the test instance and I can see it on Administration->Federaton->Video Redundancies page of the main instance.

Next, I’m trying play the same video when the test instance is down, but I just get a spinning wheel.

Should the video be played when the test instance is down?
If not, why not? The redundance copy is exist on the main instance.
If this is an issue with my config, how can I fix it?

Many thanks.

I’m not part of the core Peertube team, so what I’m saying here is to be taken with caution (I can be wrong).

The player should detect, after some time, that the peer is missing. So it should finally read the video from the main instance. I remember having discussion about bad peers that stuck my videos with Chocobozzz, but I can’t find where. If I remember well, he improved the bad peer detection in the player.

Can you copy/paste your browser console logs?

After some time, the score of the test instance should drop (see the score column on https://your_instance.tld/admin/follows/followers-list), and the main instance should remove the redundancy.

Please note that Peertube is a massivelly federated network, and instances should not be shutdown without reason (if there are federated, and if they provide redundancy).

I would like to see the redundancy like some high-availability option. I understand, the redundancy functionality was made to reduce the load on one instance, evenly distributing the load between others.But in my case I would like to use this also for some high-availability in case when some federation instance is down for maintenace. (Editied: of course, for video that were in redundancy storage of other instances) Also, if an instance is down fatally, I want to have ability to keep all videos alive (Editied: of course, for video that were in redundancy storage of other instances).

I’ll provide console logs later in couple days, I have import jobs now and don’t want to stop it.

You are not the first to ask that, and you can find related posts on this forum, or on the Peertube’s github.
There are other ways to do high availability.

Ok, thanks
.
I reviewed the browser console and found the following.

  1. Need to extend redundancy folder by copy *-master.m3u8, *-segments-sha256.json and *-[RES].m3u8 files also.
  2. Read these files after wrong response from the test host.
  3. Play from correspond redundance folder.

How you think, can be it realized by custom plugin? I’ll try to implement this minimal functionality. The second, more extended functionality - to ask other instances about redundanced videos, because the instance in which the video was requested may not contain it.

Sure, my development takes a long time.
Thanks.

Hello,

I fixed a bug regarding redundancy in https://github.com/Chocobozzz/PeerTube/issues/2047#issuecomment-1191302215

It will be available in the next peertube version, planned for mid september.

This is excellent! This is awesome!
Many thanks!