This repository was archived by the owner on Nov 20, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 13
This repository was archived by the owner on Nov 20, 2021. It is now read-only.
Composite metatdata with JS client not working properly #11
Copy link
Copy link
Open
Description
I am using
Spring Boot: 2.2.3.RELEASE
Rsocket springboot server throws an exception for routing metadata which is part of composite metadata
java.lang.IndexOutOfBoundsException: readerIndex(1) + length(105) exceeds writerIndex(23): UnpooledSlicedByteBuf(ridx: 1, widx: 23, cap: 23/23, unwrapped: PooledUnsafeDirectByteBuf(ridx: 0, widx: 231, cap: 231))
at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1495)
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Assembly trace from producer [reactor.core.publisher.MonoError] :
reactor.core.publisher.Mono.error(Mono.java:281)
io.rsocket.RSocketResponder.requestResponse(RSocketResponder.java:199)
Error has been observed at the following site(s):
|_ Mono.error ⇢ at io.rsocket.RSocketResponder.requestResponse(RSocketResponder.java:199)
Stack trace:
at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1495)
at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1478)
at io.netty.buffer.AbstractByteBuf.readSlice(AbstractByteBuf.java:894)
at io.rsocket.metadata.TaggingMetadata$1.next(TaggingMetadata.java:47)
at io.rsocket.metadata.TaggingMetadata$1.next(TaggingMetadata.java:37)
at org.springframework.messaging.rsocket.DefaultMetadataExtractor.extractEntry(DefaultMetadataExtractor.java:136)
at org.springframework.messaging.rsocket.DefaultMetadataExtractor.extract(DefaultMetadataExtractor.java:115)
at org.springframework.messaging.rsocket.annotation.support.MessagingRSocket.createHeaders(MessagingRSocket.java:195)
at org.springframework.messaging.rsocket.annotation.support.MessagingRSocket.handleAndReply(MessagingRSocket.java:167)
at org.springframework.messaging.rsocket.annotation.support.MessagingRSocket.requestResponse(MessagingRSocket.java:122)
at io.rsocket.RSocketResponder.requestResponse(RSocketResponder.java:193)
at io.rsocket.RSocketResponder.handleFrame(RSocketResponder.java:299)
with js client with composite metadata
this.socket
.requestResponse({
data: Buffer.from(JSON.stringify(scannerReq)),
metadata: encodeAndAddWellKnownMetadata(
encodeAndAddCustomMetadata(
Buffer.alloc(0),
TEXT_PLAIN.string,
Buffer.from('Hello World')
),
MESSAGE_RSOCKET_ROUTING,
Buffer.from('irl.user.location.user1')
)
})
i have incorporated this changes as well.
Thanks.
Metadata
Metadata
Assignees
Labels
No labels