Dans la nouvelle version (2.3.0) de ShinyProxy, toutes les applications qui utilisent DT avec le mode de traitement du serveur tomberont en panne. Le navigateur se plaint d'erreurs Ajax tandis que l'outil de programmation des navigateurs indique "jquery.min.js:4 POST http://myip/app_direct/retire/session/cbc7bf01da3a023b6db378384c240836/dataobj/shiny_table?w=&nonce=22377961e7fd2317 503 (Service non disponible)"
boîte d'alerte comme mugissements :
myip 顯示
Avertissement DataTables : ID de table = DataTables_Table_0 - Erreur Ajax. Pour plus d'informations sur cette erreur, veuillez consulter http://datatables.net/tn/7
comme https://github.com/openanalytics/shinyproxy/issues/140
mon environnement :
Système d'exploitation : Ubuntu Ubuntu 18.04.3 LTS
authentification : keycloak 7.0.0
Proxy inverse : Nginx
Exemple d'application brillante :
bibliothèque (brillant)
bibliothèque (DT)
ui <- fluidPage(DT::dataTableOutput('tbl'))
serveur <- fonction (entrée, sortie, session) {
sortie$tbl <- DT::renderDataTable(data.frame(Col_1=c(1:10), Col_2=c(11:20)))
}
shinyApp (interface utilisateur, serveur)
Exactement la même machine (docker, Shinyproxy, réglage nginx) avec simple auth ou ldap dans application.yml fonctionne sans aucun problème.
shinyproxy.log comme ci-dessous :
2019-08-28 11:46:21.991 INFO 14337 --- [XNIO-2 tâche-3] eocontainerproxy.service.UserService : Utilisateur connecté [utilisateur : test1]
2019-08-28 11:46:25.142 INFO 14337 --- [XNIO-2 tâche-6] csdocker.client.DefaultDockerClient : Démarrage du conteneur avec l'ID : f24f391a707d19228f5e97da1e7f8e271230760e91bee2898f454b0bddd0f15a
2019-08-28 11:46:28.068 INFO 14337 --- [XNIO-2 tâche-6] eocontainerproxy.service.ProxyService : Proxy activé [utilisateur : test1] [spécification : retirer] [id : 4199b4a8-60dd-43e7- ad8e-0bfac025cc76]
2019-08-28 11:46:28.828 ERREUR 14337 --- [XNIO-2 I/O-3] io.undertow.proxy : UT005028 : Demande de proxy à /proxy_endpoint/4199b4a8-60dd-43e7-ad8e-0bfac025cc76/session /4fba467e8b4976c85ad4be80ee538d7d/dataobj/shiny_table a échoué
io.undertow.server.TruncatedResponseException : null
sur io.undertow.client.http.HttpRequestConduit.truncateWrites(HttpRequestConduit.java:711) ~[undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.terminateWrites(AbstractFixedLengthStreamSinkConduit.java:256) ~[undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
à org.xnio.conduits.ConduitStreamSinkChannel.shutdownWrites(ConduitStreamSinkChannel.java:178) ~[xnio-api-3.3.8.Final.jar!/:3.3.8.Final]
sur io.undertow.channels.DetachableStreamSinkChannel.shutdownWrites(DetachableStreamSinkChannel.java:79) ~[undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur io.undertow.server.handlers.proxy.ProxyHandler$HTTPTrailerChannelListener.handleEvent(ProxyHandler.java:754) ~[undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur io.undertow.server.handlers.proxy.ProxyHandler$ProxyAction$1.completed(ProxyHandler.java:646) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur io.undertow.server.handlers.proxy.ProxyHandler$ProxyAction$1.completed(ProxyHandler.java:561) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur io.undertow.client.http.HttpClientExchange.invokeReadReadyCallback(HttpClientExchange.java:212) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur io.undertow.client.http.HttpClientConnection.initiateRequest(HttpClientConnection.java:410) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur io.undertow.client.http.HttpClientConnection.sendRequest(HttpClientConnection.java:343) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur io.undertow.server.handlers.proxy.ProxyHandler$ProxyAction.run(ProxyHandler.java:561) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur io.undertow.util.SameThreadExecutor.execute(SameThreadExecutor.java:35) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur io.undertow.server.HttpServerExchange.dispatch(HttpServerExchange.java:815) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur io.undertow.server.handlers.proxy.ProxyHandler$ProxyClientHandler.completed(ProxyHandler.java:316) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur io.undertow.server.handlers.proxy.ProxyHandler$ProxyClientHandler.completed(ProxyHandler.java:290) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur io.undertow.server.handlers.proxy.ProxyConnectionPool.connectionReady(ProxyConnectionPool.java:338) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
à io.undertow.server.handlers.proxy.ProxyConnectionPool.connect(ProxyConnectionPool.java:525) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur io.undertow.server.handlers.proxy.LoadBalancingProxyClient.getConnection(LoadBalancingProxyClient.java:301) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
sur eu.openanalytics.containerproxy.util.ProxyMappingManager$1.getConnection(ProxyMappingManager.java:88) [containerproxy-0.8.3.jar!/:0.8.3]
sur io.undertow.server.handlers.proxy.ProxyHandler$ProxyClientHandler.run(ProxyHandler.java:310) [undertow-core-1.4.22.Final.jar!/:1.4.22.Final]
à org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:582) [xnio-nio-3.3.8.Final.jar!/:3.3.8.Final]
à org.xnio.nio.WorkerThread.run(WorkerThread.java:466) [xnio-nio-3.3.8.Final.jar!/:3.3.8.Final]
Merci pour le rapport ! Il s'agit bien d'un doublon du #140
merci, attendez la correction du bug
Une mise à jour sur ce bogue ?
J'ai été réparé entre-temps. Nous préparons la sortie.
@tverbeke Pouvez-vous s'il vous plaît partager le commit ou le PR ? Nous en avons vraiment besoin, avons essayé quelques hacks, incapables de le résoudre correctement.
Pourriez-vous indiquer le commit ou la branche sur laquelle vous avez travaillé, ce serait très utile. @tverbeke
@tverbeke une mise à jour ? Ce serait très utile.
Voici le commit pertinent : https://github.com/openanalytics/containerproxy/commit/c99298934470b2ecee35c9eb9ad67e49fc7acd46
https://github.com/openanalytics/shinyproxy/issues/184 Je ne sais pas comment cela résout ce problème. Il peut être répliqué sans authentification Keyclock lorsque l'authentification est définie sur aucune.
Une mise à jour sur ce bogue ?
Merci d'être proactif et de rappeler le problème, cependant il semble moins productif de publier des commentaires similaires dans plusieurs problèmes, en particulier dans celui-ci, qui a été fermé en double...
https://github.com/openanalytics/shinyproxy/issues/184 Je ne sais pas comment cela résout ce problème. Il peut être répliqué sans authentification Keyclock lorsque l'authentification est définie sur aucune.
En effet # 184 semble être un problème différent, pour lequel ce correctif pourrait ne pas aider. Cependant, le commentaire est lié au _problème actuel_ (et #140) qui mentionne l'utilisation de keycloak auth.
Désolé pour les multiples commentaires. Mon idée était que puisque l'origine du problème est une requête POST, qui échoue avec la même erreur. Ils pourraient avoir un type de solution similaire.
Dans l'attente de la solution du #184 ☺️
Bonjour, j'obtiens à nouveau cette erreur. Je suis passé de 2.4.1 à 2.3.1 et l'erreur a disparu.
@KZARCA Un correctif de @LEDfan sera dans la prochaine version.
Commentaire le plus utile
J'ai été réparé entre-temps. Nous préparons la sortie.