Considering making the Completion interface extend AutoCloseable

Aperta
#247 2 commenti 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
java

Direzione di ricerca

La issue non indica alcun file, test o punto di ingresso. Inizia individuando l’interfaccia Completion e tracciandone il ciclo di vita sincrono e asincrono; per considerare il lavoro completato sarebbe necessario definire e documentare l’ambito, stabilendo se e come aggiungere il supporto per AutoCloseable.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Background and Intention

When using asynchronous processing completion, if a completion leak occurs, the system will be unable to consume furthur records which is quite dangerous. Therefore, avoiding completion leaks during development is a critical issue that requires attention.

However, in the context of collaboration and maintenance, as the complexity of the codebase increases and maintainers change over time, the likelihood of developers overlooking completion leaks also rises (e.g., complete being called across different locations in the call chain). I am considering whether there is a way to increase developers' awareness of completion leaks or to automatically check them.

Considerations

Perhaps one of the most effective approaches would be for developers to perform AST-based code analysis on their respective projects and integrate it into the CI pipeline. However, this is not something Decaton project can guarantee, and due to the cost, it is often not carried out.

Therefore, I am considering whether Completion could be annotated at the code level as something that must be completed, or whether it could be automatically completed at the appropriate time (though I haven't thought of a reasonable implementation for this).

Eventually, one idea I have is for Completion to extend the AutoCloseable interface. While this doesn't have any practical function, it would allow most developers' IDEs to detect the implementation of the AutoCloseable interface through their inspector tools, triggering warnings and serving as a pre-warning stuff.

I’d like to hear your thoughts on this. Thank you!

While this doesn't have any practical function ->

  • In sync complete scenarios, after the process method returns, the completion will be completed by decaton, so there is no need to control the completion process
  • In async complete scenarios, the completion is often completed during a callback, and completing it prematurely can cause issues.
Lingua principale
Java
Stelle
373
Fork
61
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di line/decaton

Tutte le issue di line/decaton

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.