Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[FEATURE] Let clients receive feedback when KyuubiOperation is cancelled or closed failed

Abierto
#7,253 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
scala
Área
api, backend

Línea de trabajo

Comienza rastreando la cancelación y el cierre de KyuubiStatement hasta los métodos con nombre cancelOperation y closeOperation, y luego sigue cómo se gestionan sus respuestas RPC. El issue estará completo cuando los clientes puedan distinguir entre operaciones de cierre o cancelación exitosas y fallidas, incluidos los fallos del lado del engine, con cobertura para ambos caminos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

kind:feature priority:major
Code of Conduct
Search before asking
  • I have searched in the issues and found no similar issues.
Describe the feature

When we close or cancel a KyuubiStatement, an RPC request is sent to the Kyuubi server.
The server handles the close/cancel on the related session, and will emit the result if the cancel or close operation fails on the engine.

def cancelOperation(operationHandle: TOperationHandle): Unit = {
    val req = new TCancelOperationReq(operationHandle)
    val resp = withLockAcquiredAsyncRequest(CancelOperation(req))
    if (resp.getStatus.getStatusCode == TStatusCode.SUCCESS_STATUS) {
      info(s"$req succeed on engine side")
    } else {
      warn(s"$req failed on engine side", KyuubiSQLException(resp.getStatus))
    }
  }

  def closeOperation(operationHandle: TOperationHandle): Unit = {
    val req = new TCloseOperationReq(operationHandle)
    val resp = withLockAcquiredAsyncRequest(CloseOperation(req))
    if (resp.getStatus.getStatusCode == TStatusCode.SUCCESS_STATUS) {
      info(s"$req succeed on engine side")
    } else {
      warn(s"$req failed on engine side", KyuubiSQLException(resp.getStatus))
    }
  }

The client cannot know whether the close/cancel is success or failed.

Motivation

No response

Describe the solution

No response

Additional context

No response

Are you willing to submit PR?
  • Yes. I would be willing to submit a PR with guidance from the Kyuubi community to improve.
  • No. I cannot submit a PR at this time.
Lenguaje dominante
Scala
Estrellas
2.4k
Forks
1k
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/kyuubi

Todos los issues de apache/kyuubi

Issues similares

Más issues de Scala

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.