Websockets errors: ELB issue or symptom of something else?

We are using Dremio AWS edition. We have it behind an ELB that forwards port 22 -> 22 (TCP), 443 -> 9047 (HTTPS), and 32010 -> 32010 (TCP). The UI mostly works, except for stuff that depends on websockets. So, you can’t see the results of a query in real time, for instance. We get “Error during WebSocket handshake: Unexpected response code: 405”.

My theory has been that it doesn’t work with ELB and requires an ALB instead. But in one of my environments, staging, this doesn’t seem to be an issue!

In prod, this error in the UI: “There was an issue communicating with Dremio. Your Internet connection may be offline, or WebSockets to Dremio are being blocked.” Lots of websockets errors in the console as well, and in the network panel, on the WS tab, you can review all the failed sockets requests. Query results do not populate live.

In stage, no such errors. Query results populate live. If ELB is the issue, then why does Dremio work fine in one environment, but not the other? Both are running build 4.9.3-202010281843560195-edc49b6d.

@fizz

Ensuring that your environment allows WebSocket communication is a requirement, are you saying even after doing the same you are getting the above websocket error?

We figured it out. In prod load balancer, we had a combination of https and tcp listeners on the same ELB. Changed the https listener to TCP/secure to match stage. Websockets now work. Thanks!