-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Videos randomly disappearing #1453
Comments
Another example: https://signbank.cls.ru.nl//dictionary/gloss/47336 When glos video has been deleted, then NME video has moved from NME to glos. |
At Glos AFBROKKELEN (https://signbank.cls.ru.nl//dictionary/gloss/46883), I am seeing this:
|
@rem0g the university is closed this week and next. We won't be able to work on this until then. |
Can you increase the amount if time between updating/uploading and retrieving? Like maybe increase it to 10 minutes? There was previously a problem that the time between operations was too frequent. |
I had this problem locally on my own computer using iCloud for storage. |
Yes I could do that but i would rather for Signbank side do something about the transactions, for example for incoming transactions I always enqueue them in a list instead of executing them immediately. When the server has finished processing a certain transaction then it could handle the next one. Would that be something you can work on? |
@rem0g that sounds like an interesting approach. I will discuss that with @vanlummelhuizen how to implement that. He is the Django expert. A queuing mechanism. |
@rem0g How are you deleting the video? (There are some "signals" when objects are deleted. These may or may not move or delete video files. It would help in debugging to know what commands have been done.) Theoretically, if you are uploading video files at rapid speed, the temporary files (that Unix is making) could end up being linked to the wrong object in Django. I suspect this for a long time, but cannot fix this myself. I will ask the others.) I implemented a lot of code in November/December for managing the video files. There are pull requests for these. But nobody has reviewed them yet. The intention is that the dataset manager can inspect what is in the file system. That also allows to retrieve the videos from deleted glosses. The gloss IDs are not reused, so new videos should not have any interference with deleted glosses, since they always have the ID in the filename and these are not reused.) |
@rem0g for this gloss: https://signbank.cls.ru.nl/dictionary/gloss/47361 the NME video is not in the correct format! (On Firefox, it shows that it is not supported.) Recall that you asked us to not test for MP4 anymore. Thus it can be that incorrect formats are causing problems. |
@rem0g here are the gloss video objects for AFBROKKELEN, yes, you can see that the same filename appears multiple times, for different GlossVideo objects with various perspectives and NME set. |
Is it possible something was wrong with the permissions on your source file? Or that it was a symbolic link? |
@vanlummelhuizen can you help on this issue? |
@rem0g there are hundreds of videos with the wrong filename as you point out. Did you change anything in your script? I copied the newest database to signbank-test in order to inspect the filenames (in the objects). https://signbank-test.cls.ru.nl/datasets/checks/5 (There are no files, but you can see the filenames in the objects) The last time I checked filenames (end of November) everything was as expected. The problem is that all the gloss video objects of a gloss are indeed sharing a single video file. They are all pointing to the same file. I can only think that this is being caused by an alias or something. That the file system is pointing to a single file during upload. Babbling, but I know Django does not allow to upload multiple files in the Django Form Template. (We used to do this for the eaf files in the Dataset Manager, but when we updated to Django 4.2, the code had to be modified to only upload one file.) Perhaps Django is somehow doing something here since multiple video files are in the same API request. (The Django feature was removed for security reasons from Django.) |
From Django manual
|
I need help with this issue. One of the glosses that is messed up is STRUISVOGEL Here, you see all the objects refer to the same file (the perspective videos have the same file name as the normal video): Here you see a stats for the file:
But in the file system, the timestamp on the file shows that it was not changed on 20 december.
|
I don't know how to solve this. Hopefully, @vanlummelhuizen can have a go. |
Hello, thank you for looking into the issue. For me the issue is not clear yet but now I know it's not caused by my script as everything relies on Signbank API. For uploading videos i do use this API: /dictionary/api_update_gloss/{glossid}/video That's it. As for NME video upload i do use: /dictionary/api_create_gloss_nmevideo/{datasetid}/{glossid}/} And for deleting NME video: /dictionary/api_delete_gloss_nmevideo/{datasetid}/{glossid}/{videoid}/ For every time if i want to upload a certain NME video i do execute api_delete_glos_nmevideo first, but for that i obtain unique ID from the nme video and then delete that and then upload the new NME video. |
Hi all, I added 'blocking' to indicate extra extra priority. If there's something on our end we can do, please let us know. |
I'm not able to solve this myself. I am aware of this problem for a long time, but it was on a local server running on iCloud. So I chalked that up to Apple quirks. There are quite a few messed up video objects/ files now. I'm playing with this locally, so I can inspect the file system and the admin without messing up anything. Since multiple video objects refer to exactly the same file, it is not possible to "fix" this, other than to delete objects that point to the wrong file. But to do this, we need to turn off the "normal" process of deleting, otherwise the "correct" file may be deleted. I made a command (pull request) for renaming backup video files, since that has been messed up for a long time. |
@rem0g can you stop deleting the videos on your side? Because objects are referring to the same file, this is causing a shared file to be deleted. I still think this is due to the API commands happening too fast for the file system. But once a file ends up shared by different objects, that escalates the problem, domino effect. |
@rem0g I put the database (per yesterday) onto Out of curiosity, I looked at the gloss video history. Here you can see the names of the files that were uploaded. The source file and the (desired) target file. It looks like your naming convention with L, M, R in the filenames, that you are also using M for videos that are NME videos. |
I have a copy of the database on signbank-susan. (Per Monday. No videos, but you can browse the video objects / filenames / paths) in the admin. I am working on filters to enhance the admin in order to detect and fix video problems. #1398 I added filters for NME and Perspective, plus a filter for "wrong filename". Now it's possible to query on those wrong filenames. For NME videos with the wrong filename, there are 1366 results!!!!! For Perspective videos with the wrong filename, there are 4688 results!! @Woseseltops @vanlummelhuizen this is a huge problem. Since multiple objects are referring to the same video file (see the examples above), it is not possible to simply erase or delete anything. I can make an "unlink file from object" command in order to uncouple the link. Then it would be possible to delete NME and Perspective objects that are pointing to the normal video file. (The files need to be either deleted or unlinked in order to delete the objects. But this runs the risk of deleting files that should not be deleted.) Moreover, when you do delete an object, this sets in motion lots of "signal" commands that move around backup video files. |
Some glosses has disappeared videos for example:
https://signbank.cls.ru.nl/dictionary/gloss/47361
https://signbank.cls.ru.nl/dictionary/gloss/47475
Some glosses has wrong still image from the video.
Also some glosses has wrong video perception.
Some glosses even has NMM video as gloss video.
This is happening everywhere, I have checked my scripts and everything looks fine at my end.
The text was updated successfully, but these errors were encountered: