Ciao,
dopo un po' di tempo sono riuscito a trovare del tempo per riaffrontare il 
problema e che la SDK di Amazon permette di configurare, in fase di creazione 
del client, una classe che implementi una determinata interfaccia e che 
realizzi la funzionalià di client http. Di default loro usano la loro 
personalizzazione di netty, io ci ho messo una mia implementazione che usa http 
client di java 13 e mi controllo direttamente l'uso dei bytebuffer.
Tra l'altro netty mi ha dato anche altri problemi sotto stress.
Prossimamente passerò in esercizio questa soluzione e ne vedremo gli effetti. 
Per ora in collaudo sembra essere valida.

Luigi

4 settembre 2019 19:38, "Simone Bordet [email protected] 
[it-torino-java-jug]"  wrote:
        Ciao a tutti,

On Wed, Sep 4, 2019 at 6:14 PM [email protected] 
(mailto:[email protected])
[it-torino-java-jug]  wrote:
> Ciao Vasco,
> se pure asincrono il servizio, mantenersi il riferimento di un oggetto che 
> non hai allocato, obblighi il chiamante a non poter fare uso di pool.

Bingo.

Ho discusso di questo problema con i creatori delle librerie reactive
streams, e non sono riuscito a convincerli che ci fosse bisogno di un
messaggio all'indietro (rispetto allo stream dei dati) che dicesse "ho
terminato di utilizzare il dato".
La loro (corretta) argomentazione è stata che A) molti casi non ne
hanno bisogno e pagherebbero il costo e B) se hai bisogno di uno
stream nella direzione opposta lo crei.

In particolare nel tuo esempio, dove il dato è un ByteBuffer (che può
essere riutilizzato), non rimane che leggersi la documentazione dove
_dovrebbe_ essere dettagliato il comportamento preciso del subscriber:
se copia il ByteBuffer (e quindi al ritorno del metodo si può
riutilizzare), oppure se mantiene un reference (che obbliga il
publisher ad allocare sempre ByteBuffers nuovi per ogni dato).

Facci sapere.

--
Simone Bordet
---
Finally, no matter how good the architecture and design are,
to deliver bug-free software with optimal performance and reliability,
the implementation technique must be flawless. Victoria Livschitz 

Reply via email to