deephaven / deephaven-core

Deephaven Community Core
Other
257 stars 80 forks source link

FlightServiceGrpcImpl getFlightInfo / getSchema unauthenticated path misimplemented #6374

Open devinrsmith opened 1 week ago

devinrsmith commented 1 week ago

Noticed after #6215 in #6023 that there were certain cases where RPCs were hanging in tests. These happened to be FlightServiceGrpcImpl#getFlightInfo and FlightServiceGrpcImpl#getSchema calls with unauthenticated users where the implementation returns an ExportObject in that contains an error, the service does not end up ever calling onError.

There is a partial workaround by reverting part of #6215 where the TicketRouter explicitly catches RuntimeException and re-wraps as SessionState.wrapAsFailedExport, but this is not sufficient as the TicketResolver itself may choose to wrap an exception in an ExportObject instead of throwing it.

devinrsmith commented 1 week ago

The io.deephaven.server.flightsql.FlightSqlUnauthenticatedTest in #6023 can reproduce this issue.