Как я могу решить проблему Axon Stream Stream Error - PullRequest
0 голосов
/ 24 февраля 2020

Я внедряю CQRS с Axon + Spring Boot . Моя команда обрабатывает длинные вычисления, которые приводят к большой совокупности. Проблема в том, что через несколько минут сервер Axon отменяет команду, и после того, как на сервере Axon возникла ошибка, см. Журнал ниже:

ЖУРНАЛЫ С СЕРВЕРА AXON:

io.netty.handler.code c .http2.Http2Exception $ StreamException: полученный кадр DATA для неизвестного потока 11 в io.netty.handler.code c .http2.Http2Exception.streamError (Http2Exception. java: 129) ~ [netty-code c -http2-4.1.35.Final.jar! /: 4.1.35.Final] по адресу io.netty.handler.code c .http2.DefaultHttp2ConnectionDecoder $ FrameReadListener. shouldIgnoreHeadersOrDataFrame (DefaultHttp2ConnectionDecoder. java: 531) ~ [netty-code c -http2-4.1.35.Final.jar! /: 4.1.35.Final] в io.netty.handler.code c .http2 .DefaultHttp2ConnectionDecoder $ FrameReadListener.onDataRead (DefaultHttp2ConnectionDecoder. java: 183) ~ [netty-code c -http2-4.1.35.Final.jar! /: 4.1.35.Final] в io.netty.handler.code c .http2.Http2InboundFrameLogger $ 1.onDataRead (Http2InboundFrameLogger. java: 48) ~ [netty -code c -http2-4.1.35.Final.jar! /: 4.1.35.Final] на io.netty.handler.code c .http2.DefaultHttp2FrameReader.readDataFrame (DefaultHttp2FrameReader. java: 422) ~ [netty-code c -http2-4.1.35.Final.jar! /: 4.1.35.Final] в io.netty.handler.code c .http2.DefaultHttp2FrameReader.processPayloadState (DefaultHttp2FrameReader. java : 251) ~ [netty-code c -http2-4.1.35.Final.jar! /: 4.1.35.Final] на io.netty.handler.code c .http2.DefaultHttp2FrameReader.readFrame (DefaultHttp2FrameReader. java: 160) ~ [netty-code c -http2-4.1.35.Final.jar! /: 4.1.35.Final] в io.netty.handler.code c .http2.Http2InboundFrameLogger.readFrame (Http2InboundFrameLogger. java: 41) ~ [netty-code c -http2-4.1.35.Final.jar! /: 4.1.35.Final] в io.netty.handler.code c .http2. DefaultHttp2ConnectionDecoder.decodeFrame (DefaultHttp2ConnectionDecoder. java: 118) ~ [netty-code c -http2-4.1.35.Final.jar! /: 4.1.35.Final] в io.netty.handler.code c .http2.Http2ConnectionHandler $ FrameDecoder.decode (Http2ConnectionHa ndler. java: 390) ~ [netty-code c -http2-4.1.35.Final.jar! /: 4.1.35.Final] на io.netty.handler.code c .http2.Http2ConnectionHandler .decode (Http2ConnectionHandler. java: 450) [netty-code c -http2-4.1.35.Final.jar! /: 4.1.35.Final] в io.netty.handler.code c .ByteToMessageDecoder .decodeRemovalReentryProtection (ByteToMessageDecoder. java: 502) [netty-code c -4.1.35.Final.jar! /: 4.1.35.Final] в io.netty.handler.code c .ByteToMessageDecoder.callDecode (ByteToMessageDecoder. java: 441) [netty-code c -4.1.35.Final.jar! /: 4.1.35.Final] в io.netty.handler.code c .ByteToMessageDecoder.channelRead (ByteToMessageDecoder . java: 278) [netty-code c -4.1.35.Final.jar! /: 4.1.35.Final] на io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext. java: 374) [netty-transport-4.1.35.Final.jar! /: 4.1.35.Final] на io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext. java: 360) [netty-transport-4.1.35.Final .jar ! /: 4.1.35.Final] на io.netty.channel.AbstractChannelHandlerContext.fireChannelRead (AbstractChannelHandlerContext. java: 352) [netty-transport-4.1.35.Final.jar! /: 4.1.35.Final] в io.netty.channel.DefaultChannelPipeline $ HeadContext.channelRead (DefaultChannelPipeline. java: 1408) [netty-transport-4.1.35.Final.jar! /: 4.1.35.Final] в io.netty.channel.AbstractChannelHandlerContext. invokeChannelRead (AbstractChannelHandlerContext. java: 374) [netty-transport-4.1.35.Final.jar! /: 4.1.35.Final] в io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext. java): 1060 * [netty-transport-4.1.35.Final.jar! /: 4.1.35.Final] на io.netty.channel. DefaultChannelPipeline.fireChannelRead (DefaultChannelPipeline. java: 930) [netty-transport-4.1.35.Final.jar! /: 4.1.35.Final] в io.netty.channel.nio.AbstractNioByteChannel $ NioByteUnsafe.read (AbstractNioByCC). java: 163) [netty-transport-4.1.35.Final.jar! /: 4.1.35.Final] на io.netty.channel.nio.NioEventL oop .processSelectedKey (NioEventL oop. java: 682) [netty-transport-4.1.35.Final.jar! /: 4.1.35.Final] на io.netty.channel.nio.NioEventL oop .processSelectedKeysOptimized (NioEventL oop. java: 617) [netty-transport-4.1.35.Final.jar! /: 4.1.35.Final] на io.netty.channel.nio.NioEventL oop .processSelectedKeys (NioEventL oop. java: 534) [netty-transport-4.1.35.Final.jar! /: 4.1.35.Final] на io.netty.channel.nio.NioEventL oop .run (NioEventL oop. java: 496) [netty -transport-4.1.35.Final.jar! /: 4.1.35.Final] на io.netty.util.concurrent.SingleThreadEventExecutor $ 5.run (SingleThreadEventExecutor. java: 906) [netty-common-4.1.35. Final.jar! /: 4.1.35.Final] на io.netty.util.internal.ThreadExec utorMap $ 2.run (ThreadExecutorMap. java: 74) [netty-common-4.1.35.Final.jar! /: 4.1.35.Final] в io.netty.util.concurrent.FastThreadLocalRunnable.run (FastThreadLocalRunnable. java: 30) [netty-common-4.1.35.Final.jar! /: 4.1.35.Final] в java .lang.Thread.run (неизвестный источник) [na: 1.8.0_181]

Это все, что я получил, и я не знаю почему ... Я использую последние версии аксона и сервера аксонов (4.2.1)

Ответы [ 2 ]

3 голосов
/ 25 февраля 2020

Сервер Axon имеет время ожидания для команд, которое по умолчанию установлено на 5 минут (300_000 мс). Вы можете увеличить это время ожидания, установив свойство axoniq.axonserver.default-command-timeout. Значением свойства является время ожидания в миллисекундах. Максимальный размер сообщения составляет 4 МБ по умолчанию. Вы можете увеличить его, установив свойство axoniq.axonserver.max-message-size в axonserver.properties.

Надеюсь, это решит вашу проблему.

Март c

1 голос
/ 28 февраля 2020

Сообщение "Команда отмены pt.some.admtools.inhousecatalog.command.CheckoutAndParseCommand, отправленная 16912@POR-5CG8271235, ожидающая ответа от 16912@POR-5CG8271235.default" отправляется, когда AxonServer отменяет команду через 5 минут (axoniq.axonserver.default- команда тайм-аут). Можете ли вы проверить, что происходит в вашем обработчике команд и сколько времени занимает обработка?

...