vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2020-01-17T10:22:09+01:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/2468Changelog du prochain déploiement web2020-01-17T10:22:09+01:00Mathieu GiraudChangelog du prochain déploiement webLe déploiement web %"Web 2017.05" est imminent (lundi 22, 16h30).
Selon vdj#369, ce serait bien de faire un changelog, si possible du point de vue de l'utilisateur.
J'ai mis un brouillon directement dans le résumé de la milestone %"Web...Le déploiement web %"Web 2017.05" est imminent (lundi 22, 16h30).
Selon vdj#369, ce serait bien de faire un changelog, si possible du point de vue de l'utilisateur.
J'ai mis un brouillon directement dans le résumé de la milestone %"Web 2017.05". À éditer / compléter d'ici la release. On le stockera aussi dans un fichier quelque part.
cc @RyanHerb @flothoniWeb 2017.05Mathieu GiraudMathieu Giraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1944Clarifier ce que fait chaque config, éventuellement les renommer2021-05-25T10:05:29+02:00Vidjil TeamClarifier ce que fait chaque config, éventuellement les renommerÉventuellement renommer certaines configs (`multi++` ? `Vidjil multi++` ?)
Penser aussi à `controller/defaults.py`.
Éventuellement renommer certaines configs (`multi++` ? `Vidjil multi++` ?)
Penser aussi à `controller/defaults.py`.
Déploiement 2020.06https://gitlab.inria.fr/vidjil/vidjil/-/issues/2015Compresser les fichiers .vidjil et .fused2023-03-28T16:09:20+02:00Vidjil TeamCompresser les fichiers .vidjil et .fusedLes fichiers prennent de la place sur disque mais se compressent très bien. Un gros fichier fused de 150Mo (Kiel inside) se compresse à environ 5 Mo avec gzip.
Cela nous permettrait d'économiser pas mal d'espace disque. Sur le réseau on ...Les fichiers prennent de la place sur disque mais se compressent très bien. Un gros fichier fused de 150Mo (Kiel inside) se compresse à environ 5 Mo avec gzip.
Cela nous permettrait d'économiser pas mal d'espace disque. Sur le réseau on ne devrait rien gagner puisque normalement les connexions sont déjà gzippées.
Je me souviens que ça avait été discuté à une époque avec Marc qui avait dit que ce n'était pas un problème. À voir comment. Peut-on décompresser côté client ? Faut-il décompresser côté serveur ? Peut-on avoir en parallèle des fichiers gzippés et d'autres non ?
***
Une autre manière de le voir : les sauvegardes de /mnt/result/results prennent à l'heure actuelle 14G alors que les données sur disque utilisent plus de 100G.
***
Très bonne idée, idéalement il faudrait que le client puisse de manière transparente prendre un .vidjil ou un .vidjil.gz.
(Mais ce n'est pas si urgent, on arrive à libérer de la place, /results est petit comparé à d'autres choses.)
***
@RyanHerb @DuezWeb 2023.10https://gitlab.inria.fr/vidjil/vidjil/-/issues/5269Bad redirection after impersonate2024-03-20T17:10:05+01:00THONIER FlorianBad redirection after impersonateIf we are on a admin page and we do an impersonate, we get an empty page from the server.
No problem if we are on a common page (patients, ...).
This is probably due to a missing redirect in this case.If we are on a admin page and we do an impersonate, we get an empty page from the server.
No problem if we are on a common page (patients, ...).
This is probably due to a missing redirect in this case.Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5260user group don't show name anymore since release 2024.012024-02-23T10:32:02+01:00THONIER Florianuser group don't show name anymore since release 2024.01We don't get anymore name of user in information of a personal group.
Is it a feature or a bug ?We don't get anymore name of user in information of a personal group.
Is it a feature or a bug ?Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5254Deadlock occurred on app2024-02-14T15:19:07+01:00CHESNIN ClementDeadlock occurred on app## Description
Seen in https://vdb.vidjil.org/_dashboard/ticket/2457259c-1bd4-4920-9294-1ce0c220b3b8
```
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 944, in wrapper
ret = fu...## Description
Seen in https://vdb.vidjil.org/_dashboard/ticket/2457259c-1bd4-4920-9294-1ce0c220b3b8
```
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 944, in wrapper
ret = func(*func_args, **func_kwargs)
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 929, in wrapper
raise context["exception"]
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 908, in wrapper
context["output"] = func(*args, **kwargs)
File "/usr/share/vidjil/server/py4web/apps/vidjil/controllers/default.py", line 230, in run_request
res = schedule_run(request.query["sequence_file_id"], id_config, grep_reads)
File "/usr/share/vidjil/server/py4web/apps/vidjil/tasks.py", line 96, in schedule_run
db( ( db.results_file.config_id == id_config ) &
File "/usr/local/lib/python3.8/dist-packages/pydal/objects.py", line 2787, in update
ret = db._adapter.update(table, self.query, row.op_values())
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/base.py", line 586, in update
raise e
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/base.py", line 581, in update
self.execute(sql)
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/__init__.py", line 70, in wrap
return f(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pydal/adapters/base.py", line 468, in execute
rv = self.cursor.execute(command, *args[1:], **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pymysql/cursors.py", line 153, in execute
result = self._query(query)
File "/usr/local/lib/python3.8/dist-packages/pymysql/cursors.py", line 322, in _query
conn.query(q)
File "/usr/local/lib/python3.8/dist-packages/pymysql/connections.py", line 558, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/usr/local/lib/python3.8/dist-packages/pymysql/connections.py", line 822, in _read_query_result
result.read()
File "/usr/local/lib/python3.8/dist-packages/pymysql/connections.py", line 1200, in read
first_packet = self.connection._read_packet()
File "/usr/local/lib/python3.8/dist-packages/pymysql/connections.py", line 772, in _read_packet
packet.raise_for_error()
File "/usr/local/lib/python3.8/dist-packages/pymysql/protocol.py", line 221, in raise_for_error
err.raise_mysql_exception(self._data)
File "/usr/local/lib/python3.8/dist-packages/pymysql/err.py", line 143, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.OperationalError: (1213, 'Deadlock found when trying to get lock; try restarting transaction')
```
## Reproducibility ?
Hard to know what happened...
## fix clue
May be try and see analyses that were started around this time 2024-02-12 12:30:17
## Priority
Low while it is not reproduced?Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5253500 error on usage page2024-02-14T15:18:48+01:00CHESNIN Clement500 error on usage page## Description
Seen on https://vdb.vidjil.org/_dashboard/ticket/85cadd06-f619-4015-801f-009bcf7852c8
```
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 944, in wrapper
ret = fu...## Description
Seen on https://vdb.vidjil.org/_dashboard/ticket/85cadd06-f619-4015-801f-009bcf7852c8
```
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 944, in wrapper
ret = func(*func_args, **func_kwargs)
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 929, in wrapper
raise context["exception"]
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 925, in wrapper
call(fixture.on_success, context)
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 891, in call
return f(context)
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 578, in on_success
context["output"] = render(
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 549, in render
return engine.render(filename, context=context)
File "/usr/local/lib/python3.8/dist-packages/renoir/apis.py", line 215, in render
return self._render(source, file_path, context)
File "/usr/local/lib/python3.8/dist-packages/renoir/apis.py", line 205, in _render
make_traceback(exc_info)
File "/usr/local/lib/python3.8/dist-packages/renoir/debug.py", line 116, in make_traceback
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.8/dist-packages/renoir/_internal.py", line 15, in reraise
raise value.with_traceback(tb)
File "/usr/share/vidjil/server/py4web/apps/vidjil/templates/my_account/index.html", line 47, in template
<span class="button button_token [[=fuse[3] ]]_token">
IndexError: list index out of range
```
## Reproducibility ?
Don't know how this happened
## fix clue
?
## Priority
?Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5252Wrong error message disaplyed on app when 500 error occurs2024-02-14T15:17:59+01:00CHESNIN ClementWrong error message disaplyed on app when 500 error occurs## Description
When a 500 error occurs, a message regarding SSL connection is displayed instead of a meaningful error:
![Screenshot_from_2024-02-12_15-17-21](/uploads/e52279560f89cc38e386823c59c902e4/Screenshot_from_2024-02-12_15-17-21.p...## Description
When a 500 error occurs, a message regarding SSL connection is displayed instead of a meaningful error:
![Screenshot_from_2024-02-12_15-17-21](/uploads/e52279560f89cc38e386823c59c902e4/Screenshot_from_2024-02-12_15-17-21.png)
Note that the behavior is OK on vdb:
![Screenshot_from_2024-02-12_15-19-13](/uploads/6c6fcd900b76bd2128959d03e1e8daf1/Screenshot_from_2024-02-12_15-19-13.png)
## Reproducibility ?
Systematic when a 500 error occurs
## fix clue
We get a CORS issue in console (see capture above)
See also if it is related to #5250 or #5249
## Priority
?Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5236Error when filtering sample by tag in compare sample2024-01-31T11:30:50+01:00CHESNIN ClementError when filtering sample by tag in compare sampleVu lors de #5234
Pour reproduire :
1. créer un set avec plusieurs samples, dont au moins un avec un tag
2. cliquer sur `Compare samples`
3. cliquer sur le tag
--> l'erreur `missing field id` apparait
Plus globalement, la method `cust...Vu lors de #5234
Pour reproduire :
1. créer un set avec plusieurs samples, dont au moins un avec un tag
2. cliquer sur `Compare samples`
3. cliquer sur le tag
--> l'erreur `missing field id` apparait
Plus globalement, la method `custom()` devrait être unit testée
![Screencast_from_2024-01-31_11-29-01](/uploads/033765827118b9a738b248e7fed8706a/Screencast_from_2024-01-31_11-29-01.webm)Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5230Error when opening access.log from admin page on app2024-01-31T13:47:58+01:00CHESNIN ClementError when opening access.log from admin page on appAprès la correction de https://gitlab.inria.fr/vidjil/vidjil/-/issues/5228, on a toujours un souci pour l'ouverture de du access.log nginx sur app. Ca fonctionne bien en local.
Voici la stack trace :
```
ERROR:root:Traceback (most recen...Après la correction de https://gitlab.inria.fr/vidjil/vidjil/-/issues/5228, on a toujours un souci pour l'ouverture de du access.log nginx sur app. Ca fonctionne bien en local.
Voici la stack trace :
```
ERROR:root:Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 944, in wrapper
ret = func(*func_args, **func_kwargs)
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 929, in wrapper
raise context["exception"]
File "/usr/local/lib/python3.8/dist-packages/py4web/core.py", line 908, in wrapper
context["output"] = func(*args, **kwargs)
File "/usr/share/vidjil/server/py4web/apps/vidjil/modules/vidjil_utils.py", line 73, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vidjil/server/py4web/apps/vidjil/controllers/admin.py", line 96, in showlog
for row in reversed(file.readlines()) :
MemoryError
```
C'est lié à la taille du fichier de log : `-rw-r--r-- 1 root root 4050790122 Jan 30 15:50 access.log`
Idées de solutions (potentiellement cumulables):
- Faire une rotation de logs dans différents fichiers
- N'afficher qu'un certain nombre de lignes dans l'interface
Il faudrait sans doute aussi regarder dans les autres fichiers de log (notamment vidjil)Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5212Don't allow admin to create set for uncreated group2024-01-22T14:16:50+01:00THONIER FlorianDon't allow admin to create set for uncreated groupWhile testing API for group owner of created set, I saw a way to create set for every groups as an admin user, but also for unexistant group.
We need to make a better control before creation.
From API side, we should also add a way to...While testing API for group owner of created set, I saw a way to create set for every groups as an admin user, but also for unexistant group.
We need to make a better control before creation.
From API side, we should also add a way to stronger limit group choice.Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5156Get some metrics from a server2024-01-22T14:22:32+01:00THONIER FlorianGet some metrics from a serverTHinking about it with @mikael-s : A way to get some metrics is to use prometheus and grafana. And as by default Prometheus use web resquest to get metrics, a way to get it with security is to use vidjil API to ask, as admin. APi seem to...THinking about it with @mikael-s : A way to get some metrics is to use prometheus and grafana. And as by default Prometheus use web resquest to get metrics, a way to get it with security is to use vidjil API to ask, as admin. APi seem to be a good way for that.
I try to create a really small dockerized flask application that will execute API to ask metrics and serve them locally.
My quick overview failed since the API is incompatible with py4web (other issue/MR).
Is it a good way to do it ?Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5211CGI, custom_fuse, workers: unify ?2024-01-10T17:54:22+01:00THONIER FlorianCGI, custom_fuse, workers: unify ?Discuss with @clement.chesnin : We have 3 ways to make call to softwares on our server:
* CGI by nginx
* custom fuse with an ad-hoc server, transfert by py4web
* task with workers
At least CGI and custom_fuse could be unify in a same a...Discuss with @clement.chesnin : We have 3 ways to make call to softwares on our server:
* CGI by nginx
* custom fuse with an ad-hoc server, transfert by py4web
* task with workers
At least CGI and custom_fuse could be unify in a same ad-hoc server ? Other option ?Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/2358task.py: Mécanisme flexible pour lancer des traitements annexes non-bloquants2024-01-19T18:31:51+01:00Mathieu Giraudtask.py: Mécanisme flexible pour lancer des traitements annexes non-bloquants@mikael-s, à propos de #1744, pense que :
- Marc a fait un mécanisme plutôt générique pour lancer via `task.py` des traitements en utilisant les scheduler, avec retour asynchrone.
- Cela pourrait être utilisé pour #1469.
Et cela po...@mikael-s, à propos de #1744, pense que :
- Marc a fait un mécanisme plutôt générique pour lancer via `task.py` des traitements en utilisant les scheduler, avec retour asynchrone.
- Cela pourrait être utilisé pour #1469.
Et cela pourrait aussi servir à d'autres choses (Et pour "Compare patients", #1508, qu'est-ce qui avait été trouvé ?).
Bref, à partir des choses faites par Marc, pourrait-on avoir un mécanisme générique pour ce type de choses (avec un truc générique dans ~"server-task.py", et un autre dans ~client) ?
cc @RyanHerbWeb 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/2241Titre des samples lors de la comparaison de différentes analyses d'un même fi...2024-01-19T18:30:10+01:00Mikaël SalsonTitre des samples lors de la comparaison de différentes analyses d'un même fichier (compare samples)Lorsqu'on compare des résultats d'un même sample lancés à différentes époques (on compare donc l'évolution de Vidjil), les noms des samples dans le client ne sont pas du tout clairs… puisqu'il s'agit toujours du même.
Il faudrait donc m...Lorsqu'on compare des résultats d'un même sample lancés à différentes époques (on compare donc l'évolution de Vidjil), les noms des samples dans le client ne sont pas du tout clairs… puisqu'il s'agit toujours du même.
Il faudrait donc modifier temporairement les noms des samples pour y mettre une notion de date.
cc @magiraud @RyanHerbWeb 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5267Refactor database for scheduler tables2024-03-22T12:17:40+01:00THONIER FlorianRefactor database for scheduler tablesWith py4web, we don't need anymore of shedulers_xxx tables that was very specific of web2py.
We also need to add some step to write pertinent information as start/stop date of running process.With py4web, we don't need anymore of shedulers_xxx tables that was very specific of web2py.
We also need to add some step to write pertinent information as start/stop date of running process.Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5266Delete old fashion distributions computed in reads2024-03-19T12:34:55+01:00THONIER FlorianDelete old fashion distributions computed in readsWe still compute a reads->distributions values.
This values seem to ne never used.
It is made on server side.
Check if really never use and delete in that case.We still compute a reads->distributions values.
This values seem to ne never used.
It is made on server side.
Check if really never use and delete in that case.Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5261Preprocess with vdj filter for large capture files ?2024-03-27T14:00:29+01:00THONIER FlorianPreprocess with vdj filter for large capture files ?We have number of user that load large file with small part of vdj in it. Should we make a preprocess that launch a vidjil-algo filter on it and delete temp data to save disk space and gain fluidity on real analysis ?
We still have iss...We have number of user that load large file with small part of vdj in it. Should we make a preprocess that launch a vidjil-algo filter on it and delete temp data to save disk space and gain fluidity on real analysis ?
We still have issue on upload data to server but it is already the case.Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5259search field; include creator user ?2024-02-21T14:18:06+01:00THONIER Floriansearch field; include creator user ?A specific case for ~"LIL-Lille" : a patient have the same last name that a user of the team.
The search return all patients created by this users and inside the list the expected patient. Should we ?
A search with both last and firs...A specific case for ~"LIL-Lille" : a patient have the same last name that a user of the team.
The search return all patients created by this users and inside the list the expected patient. Should we ?
A search with both last and first name don't work.
One day, we will probably improve search we capacity to include field for search.
Until this time, what should we do ?Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5256Better configuration files for docker2024-02-14T14:28:30+01:00THONIER FlorianBetter configuration files for dockerWe nned to have default configuration that we can override by other files if available.
This will be better to rebase repository for some server instances.We nned to have default configuration that we can override by other files if available.
This will be better to rebase repository for some server instances.Web 2024.04