Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[BUG] `GET /channels/{channelId}/statistics` intermittently returns 500 during undeploy of an unrelated channel

Ouverte
#457 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
38/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
java, sql
Domaine
api, backend, databases

Piste de recherche

The GET /channels/{channelId}/statistics path (and the includeUndeployed variant) currently reads D_MS tables for every channel, so a concurrent undeploy of another channel can drop a table and raise DonkeyDaoException wrapping SQLSyntaxErrorException; serialising that exception then fails and the client only sees a generic 500. Start from the statistics handler and the Donkey DAO that enumerates those tables. Done when a request naming channel A only reads what it needs for A and the two-thread repro no longer 500s.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug

Repro:

  1. In one thread, loop: deploy channel B, send a message through it, remove channel B.
  2. In another thread, loop: GET /channels/{A}/statistics. GET /channels/statistics?channelId={A}&includeUndeployed=true fails the same way.

Expected:

  • A request naming channel A reads only what it needs to answer about channel A.

Actual:

  • Each request reads D_MS<n> for every channel the server knows about, A or not.
  • Roughly one request in forty fails with HTTP 500 under the loop above.
  • The server log shows
    DonkeyDaoException: java.sql.SQLSyntaxErrorException: Table/View 'D_MS<n>' does not exist,
    for the channel being removed, not for A.
  • The client sees only {"message":"Request failed.","status":"500"}, because serialising the
    SQLException into the error response throws as well.
Langage dominant
Java
Étoiles
227
Forks
81
Merge moyen
3 j 6 h
PR mergées (30 j)
15

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de OpenIntegrationEngine/engine

Toutes les issues de OpenIntegrationEngine/engine

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.