Replace dropwizard-websockets with Jakarta WebSocket on Jetty 11
- Dominant language
- Scala
- Stars
- 314
- Forks
- 187
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 214
Description
### Task Summary
`amber/build.sbt` depends on `com.liveperson:dropwizard-websockets:1.3.14` (last release 2018, Dropwizard 1.3.x only). The five amber WebSocket sites it powers:
- `amber/src/main/scala/org/apache/texera/web/resource/WorkflowWebsocketResource.scala`
- `amber/src/main/scala/org/apache/texera/web/resource/CollaborationResource.scala`
- `amber/src/main/scala/org/apache/texera/web/resource/pythonvirtualenvironment/PveWebsocketResource.scala`
- `amber/src/main/scala/org/apache/texera/web/resource/WebsocketPayloadSizeTuner.scala`
- `amber/src/main/scala/org/apache/texera/web/ServletAwareConfigurator.scala`
The resource classes use `@javax.websocket.server.ServerEndpoint` (JSR-356). Under Dropwizard 4 the equivalent annotation is `@jakarta.websocket.server.ServerEndpoint` and the runtime container moves from Jetty 9's Jakarta-flavoured WebSocket support to Jetty 11's `JakartaWebSocketServletContainerInitializer`. There is no Dropwizard-4-compatible build of `dropwizard-websockets`, so the bundle registration code in `TexeraWebApplication` and `ComputingUnitMaster` must be replaced with manual container wiring.
Part of #5423. Highest-risk sub-issue: collaborative editing and live workflow execution depend on these endpoints.
### Task Type
- [x] Refactor / Cleanup
Contributor guide
Assessment
This issue has not been assessed yet.