shinyproxy icon indicating copy to clipboard operation
shinyproxy copied to clipboard

503 error datatables

Open kramerrs opened this issue 1 year ago • 7 comments

I am receiving a 503 error when a datatable loads. The issue started when I migrated from 3.0.0 to 3.0.2. The issue is also in the most recent 3.1.0 , previously I had reverted to 3.0.0, but the most recent pre-initialized containers features is highly desirable.

I have tested things such as removing DT::datatable extensions. It is the same container something has happened in the proxy.

2024-05-07T17:53:49.571Z ERROR 1 --- [ XNIO-1 I/O-1] io.undertow.proxy : UT005028: Proxy request to /proxy_endpoint/4b959d53-0dca-44cb-a310-14f258c4aa34/session/d0d5484d52c22045faeca07478319fdf/dataobj/faselected failed java.io.IOException: UT001000: Connection closed at io.undertow.client.http.HttpClientConnection$ClientReadListener.handleEvent(HttpClientConnection.java:600) ~[undertow-core-2.3.10.Final.jar!/:2.3.10.Final] at io.undertow.client.http.HttpClientConnection$ClientReadListener.handleEvent(HttpClientConnection.java:535) ~[undertow-core-2.3.10.Final.jar!/:2.3.10.Final] at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) ~[xnio-api-3.8.8.Final.jar!/:3.8.8.Final] at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66) ~[xnio-api-3.8.8.Final.jar!/:3.8.8.Final] at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89) ~[xnio-nio-3.8.8.Final.jar!/:3.8.8.Final] at org.xnio.nio.WorkerThread.run(WorkerThread.java:591) ~[xnio-nio-3.8.8.Final.jar!/:3.8.8.Final]

kramerrs avatar May 07 '24 18:05 kramerrs

Hi, this is interesting, we do have test cases using datatables that work fine, so I expect this happens in a specific feature of datatables. Would it be possible to share an example app that does not work? Of course you can remove any sensitive parts. If you prefer you can also send it privately over e-mail (info -at- openanalytics -dot- eu).

LEDfan avatar May 08 '24 06:05 LEDfan

Yes, I saw those other issues, so I didn't think I needed report before. We have a sophisticated installation, but I can try to set something up.

kramerrs avatar May 08 '24 13:05 kramerrs

So I ran into a problem designing a reproducible example. It appears to be something about saml. EG, if I create a simple page that serves up a datatable. It is the saml authentication and saml section that when enabled cause the datatable ajax to fail.

kramerrs avatar May 08 '24 19:05 kramerrs

Thank you for the additional testing! I'm able to reproduce the issue when using SAML, we will fix this in the coming days, stay tuned!

LEDfan avatar May 09 '24 07:05 LEDfan

Thank you I'm eagerly awaiting a fix! Pre-initialized containers are so exciting.

kramerrs avatar May 09 '24 13:05 kramerrs

Hi @kramerrs , I found a fix for the issue. Can you please try using the docker image openanalytics/shinyproxy-snapshot:3.1.0-20240514.164846 and let us know whether this fixes the issue?

LEDfan avatar May 14 '24 14:05 LEDfan

Appears to have fixed the issue here.

Wow, that loads fast!

kramerrs avatar May 14 '24 17:05 kramerrs

One user is still getting the 503 error on our test deployment of ShinyProxy 3.1.0 and they aren't getting this on ShinyProxy 3.0.2. Deleting cookies seemed to fix it though they were using the same browser environment for both. I suspect there is something in the SAML headers, as this user had a very long roles list. I am going to follow up and test to see if simple authentication might fix the issue, however I thought I would ask to see if anyone had any ideas. 503 is temporarily unavailable.

This is what the redacted logging looks like:

2024-05-20T15:19:09.117Z INFO 1 --- [ XNIO-1 I/O-7] e.o.c.util.ProxyMappingManager : [user=someuser proxyId=ec0cdd04-5115-48a8-a277-d5d50da4d55c specId=someapp] Proxy unreachable/crashed, stopping i t now, failed request: GET https://datatest.nibib.nih.gov/proxy_endpoint/ec0cdd04-5115-48a8-a277-d5d50da4d55c/dt-ext-scroller-1.13.4/js/dataTables.scroller.min.js was proxied to: http://8b7e0684750d:3838/dt-ext-scroller-1 .13.4/js/dataTables.scroller.min.js, status: 503

kramerrs avatar May 22 '24 19:05 kramerrs

I think this might be the same issue as in #481 , could you test with using the docker image openanalytics/shinyproxy-snapshot:3.1.0-20240514.165349 ?

LEDfan avatar May 23 '24 07:05 LEDfan

This appears to have fixed the issue for that remaining user. I have some other comments for the #481 issue. I'll leave there.

kramerrs avatar May 23 '24 17:05 kramerrs

Also, is there a timeline for the official update release? I see you all are working on these issues associated with the major update.

kramerrs avatar May 23 '24 18:05 kramerrs

Great that it's now fixed! There is no ETA yet, we still have a few things we want to fix before making a new release, but it should be there soon.

LEDfan avatar May 24 '24 07:05 LEDfan

Hi, both fixes are now included in ShinyProxy 3.1.1, therefore I'm going to close this issue.

LEDfan avatar Jun 20 '24 12:06 LEDfan