- Spegnimento
- 11 agosto 2026 alle ore 16:20 UTC
- Autore
- Kamo
- Impegno
- 939ed24
ImageService acquisisce uploadDocumentStreaming, la controparte in streaming di uploadDocument. Il modulo buffered non può esprimere un grande upload affatto: readInputStream assegna nuovo byte[size], un array Java si apre a Integer. MAX VALUE e MinIOStorageService.upload poi assegna una copia completa SECOND per retry cross-node. Contro un contenitore 2Gi che ha fatto poche centinaia di megabyte il controsoffitto pratico — per questo motivo il tappo multiparte dell'immagine sedeva a 500MB mentre il percorso di connessione di chat, che già streams, corse a 3 GiB. Il nuovo metodo hashes una volta (entrambi digerisce da un buffer), sniffa il tipo MIME PRIMA del hash pass così un file 3 GiB maleslabelled è respinto senza spendere una lettura completa su di esso, e Delega lo storage a un nuovo negozioContentAddressed sovraccarico che accetta digestori pre-computati quindi la fonte viene letta due volte piuttosto che tre volte. Deliberatamente non @Transactional: memorizzazione gigabyte richiede minuti e una transazione tenuta attraverso di esso pins una connessione in piscina. Aggiunge anche com.kamo.z.shared.hr.training — 20 entità, 11 enum e 20 depositi per Modulo di formazione HR, specchio com.kamo.z.shared.hr.legal's conventions: BaseUuidEntity, an esplicito last modified con tocco() perché BaseUuidEntity.dateUpdated è morto, pinned colonnaDefinizione su ogni facoltativo @JoinColumn, e @OnDelete (CASCADE) sul pubblico FKs perché CascadeType.* non emette nulla al DDL. Due partenze dal piano legale, entrambi deliberati: - TrainingAssignmentStatus divide FAILED in FAILED RETAKE ALLOWED (aperto) e FAILED FINAL (chiuso), e REMINDABLE STATES è strettamente più stretto di OPEN STATES in modo da un membro in attesa il grading non è mai inseguito. Indicato da TrainingAssignmentStatusTest. - hr training notification è una tabella reale con un indice di rivendicazione UNICA piuttosto che un Redis SET NX, così "abbiamo detto loro in questa data" sopravvive a FLUSHDB ed è queryable. I repository di risposta e attestazione estendono il marcatore di repository nudo, non JpaRepository, quindi i metodi di cancellazione batch che bypass @PreRemove non esistono sull'interfaccia. Richiede un KamoInitializerService eseguito prima di qualsiasi servizio che legge queste tabelle viene distribuito.