Serve uma janela reaberta apenas o que perdeu, e audite uma página em uma escrita

PerformanceMediaService
Navios
28 de agosto de 2026 às 01:24 UTC
Autor
Kamo
Enviar
0d96bb9

Dois custos, ambos pagos em cada janela de chat aberta. Desde o início das sessões/mensagens. Uma janela sendo reaberta quer o mensagens após o que já detém, e não tinha como dizê-lo — o único pergunta este endpoint respondido foi "a página mais nova", que é a primeira tempo e errado todas as vezes depois. Então cada reabrir re-leia uma centena de linhas, correu um tradução passar sobre eles, queried suas reações e escreveu uma linha de auditoria por including: duas mensagens podem compartilhar um milissegundo, um corte estritamente maior seria soltar o segundo deles permanentemente, e o cliente já dedupe por id porque uma página que corre um envio retorna linhas sobrepostas de qualquer maneira. Ausente ou imparável, o comportamento é exatamente o que era, então um cliente mais velho perde A consulta vive no MediaService ao invés das outras consultas do MediaObj: a biblioteca compartilhada envia como uma versão fixa para toda a frota, e esta é Um ponto final é lido. Sua busca junta espelho da página de abertura exatamente, INNER juntar-se ao membro incluído — o catch-up deve devolver as mesmas linhas que a página ter, e alargá-lo aqui faria com que objetos sem membros aparecem em reabertura e Em nenhum outro lugar. Uma página cheia de volta de um catch-up é o sinal do cliente que mais chegou do que uma página detém e as linhas que não obteve são as que estão no meio; é quando ele re-ler o fio em vez de anexar sobre um buraco. ChatMessageAccessAuditor agora grava uma página com registroAll em vez de um loop de single saves. §164. 312 (b) está inalterado — ainda uma linha por mensagem, porque "foi Esta mensagem divulgada" ainda é a questão — mas uma página de cem mensagens é uma unidade de trabalho em vez de cem, que a própria biblioteca coloca em 0,49 ms/row contra 16,36. hibernate.jdbc.batch size é o resto: uma única transação ainda não emitida uma viagem de ida e volta INSERT por linha, e O ID UUID do PhiAccessLog é atribuído antes do flush, para que estas linhas possam em lote Todos. O lote é atômico, então uma página agora é auditada completamente ou não em tudo em vez de qualquer linha lançada. Verificado contra prod antes de tocar nisto: 3,094 linhas CHAT MESSAGE/LIST são O rasto estava a ser escrito e isto é uma correção de velocidade, não uma reparação.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços