Skip to content

adds class check for discarded values#1091

Merged
OlegDokuka merged 1 commit intomasterfrom
bugfix/#1077
Apr 24, 2023
Merged

adds class check for discarded values#1091
OlegDokuka merged 1 commit intomasterfrom
bugfix/#1077

Conversation

@OlegDokuka
Copy link
Copy Markdown
Member

closes #1077

Signed-off-by: OlegDokuka <odokuka@vmware.com>
@OlegDokuka OlegDokuka added this to the 1.1.4 milestone Apr 24, 2023
@OlegDokuka OlegDokuka merged commit 6d07389 into master Apr 24, 2023
@OlegDokuka OlegDokuka deleted the bugfix/#1077 branch April 24, 2023 09:27
@zhou-hao
Copy link
Copy Markdown

The version 1.1.4 in maven repository does not contains this commit ?

image

@VictoryWangCN
Copy link
Copy Markdown

@OlegDokuka The version 1.1.5 in maven repository does not contains this commit ?

@OlegDokuka
Copy link
Copy Markdown
Member Author

@OlegDokuka The version 1.1.5 in maven repository does not contains this commit ?

it should. do you observe any issues related to that?

@VictoryWangCN
Copy link
Copy Markdown

@OlegDokuka I found that io/rsocket/core/DefaultRSocketClient.java in sources.jar does not contain the content.

image

@VictoryWangCN
Copy link
Copy Markdown

@OlegDokuka 1.1.5 still throw ClassCastException

java.lang.ClassCastException: class org.springframework.core.io.buffer.NettyDataBuffer cannot be cast to class io.netty.util.ReferenceCounted (org.springframework.core.io.buffer.NettyDataBuffer and io.netty.util.ReferenceCounted are in unnamed module of loader 'app')
	at java.base/java.util.function.Consumer.lambda$andThen$0(Consumer.java:65) ~[na:na]
	at java.base/java.util.function.Consumer.lambda$andThen$0(Consumer.java:65) ~[na:na]
	at reactor.core.publisher.Operators.onDiscard(Operators.java:441) ~[reactor-core-3.4.34.jar:3.4.34]
	at reactor.core.publisher.MonoZip$ZipInner.cancel(MonoZip.java:388) ~[reactor-core-3.4.34.jar:3.4.34]
	at reactor.core.publisher.MonoZip$ZipCoordinator.cancel(MonoZip.java:272) ~[reactor-core-3.4.34.jar:3.4.34]
	at reactor.core.publisher.FluxMap$MapConditionalSubscriber.cancel(FluxMap.java:300) ~[reactor-core-3.4.34.jar:3.4.34]
	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.cancel(FluxContextWrite.java:141) ~[reactor-core-3.4.34.jar:3.4.34]
	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.cancel(FluxContextWrite.java:141) ~[reactor-core-3.4.34.jar:3.4.34]
	at io.rsocket.core.DefaultRSocketClient$FlatMapMain.cancel(DefaultRSocketClient.java:331) ~[rsocket-core-1.1.5.jar:na]
	at io.rsocket.core.DefaultRSocketClient$FlattingInner.cancel(DefaultRSocketClient.java:463) ~[rsocket-core-1.1.5.jar:na]
	at reactor.core.publisher.FluxMap$MapSubscriber.cancel(FluxMap.java:169) ~[reactor-core-3.4.34.jar:3.4.34]
	at reactor.core.publisher.FluxMap$MapSubscriber.cancel(FluxMap.java:169) ~[reactor-core-3.4.34.jar:3.4.34]
	at reactor.core.publisher.Operators.terminate(Operators.java:1277) ~[reactor-core-3.4.34.jar:3.4.34]
	at reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.cancel(MonoSubscribeOn.java:210) ~[reactor-core-3.4.34.jar:3.4.34]
	at reactor.core.publisher.BlockingSingleSubscriber.dispose(BlockingSingleSubscriber.java:70) ~[reactor-core-3.4.34.jar:3.4.34]
	at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:123) ~[reactor-core-3.4.34.jar:3.4.34]
	at reactor.core.publisher.Mono.block(Mono.java:1766) ~[reactor-core-3.4.34.jar:3.4.34]

may cause by
reactor/reactor-core#3209

// org.springframework.messaging.rsocket.DefaultRSocketRequester.DefaultRequestSpec#firstPayload
private Mono<Payload> firstPayload(Mono<DataBuffer> encodedData) {
			return Mono.zip(encodedData, this.metadataEncoder.encode())
					.map(tuple -> PayloadUtils.createPayload(tuple.getT1(), tuple.getT2()))
					.doOnDiscard(DataBuffer.class, DataBufferUtils::release)
					.doOnDiscard(Payload.class, Payload::release);
		

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SendUtils onDiscard handler class cast exception

3 participants