Comments (13)
ok will look into it. Thanks for the feedback, in the meantime you can remove micronaut-serde-jackson
and replace it with micronaut-jackson-databind
and it will work.
from micronaut-discovery-client.
I also want to point out that this seems to be the case for all client discovery on consul. I am able to run it OK on my side in dev mode. I'll be glad to show any other details. I'm going to try and run this on a windows machine right now and see if it's OS specific. however, given that it's a serde serialization error, I suspect there's a bug that broke the feature
from micronaut-discovery-client.
can you try declare @SerdeImport(Inet4Address.class)
on your Application
class as the error says, just out of interest
from micronaut-discovery-client.
/home/krickert/.sdkman/candidates/java/17.0.7-tem/bin/java -Dfile.encoding=UTF-8 -classpath /home/krickert/IdeaProjects/search_indexer/services/grpc-nlp-service/target/classes:/home/krickert/.m2/repository/io/micronaut/micronaut-discovery-core/4.1.8/micronaut-discovery-core-4.1.8.jar:/home/krickert/.m2/repository/org/slf4j/slf4j-api/2.0.9/slf4j-api-2.0.9.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-context/4.1.8/micronaut-context-4.1.8.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-aop/4.1.8/micronaut-aop-4.1.8.jar:/home/krickert/.m2/repository/io/projectreactor/reactor-core/3.5.10/reactor-core-3.5.10.jar:/home/krickert/.m2/repository/org/reactivestreams/reactive-streams/1.0.4/reactive-streams-1.0.4.jar:/home/krickert/.m2/repository/io/micronaut/cache/micronaut-cache-caffeine/4.0.2/micronaut-cache-caffeine-4.0.2.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-inject/4.1.8/micronaut-inject-4.1.8.jar:/home/krickert/.m2/repository/jakarta/inject/jakarta.inject-api/2.0.1/jakarta.inject-api-2.0.1.jar:/home/krickert/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-core/4.1.8/micronaut-core-4.1.8.jar:/home/krickert/.m2/repository/io/micronaut/cache/micronaut-cache-core/4.0.2/micronaut-cache-core-4.0.2.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-http/4.1.8/micronaut-http-4.1.8.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-context-propagation/4.1.8/micronaut-context-propagation-4.1.8.jar:/home/krickert/.m2/repository/com/github/ben-manes/caffeine/caffeine/3.1.7/caffeine-3.1.7.jar:/home/krickert/.m2/repository/org/checkerframework/checker-qual/3.36.0/checker-qual-3.36.0.jar:/home/krickert/.m2/repository/io/micronaut/discovery/micronaut-discovery-client/4.0.1/micronaut-discovery-client-4.0.1.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-json-core/4.1.8/micronaut-json-core-4.1.8.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-http-client/4.1.8/micronaut-http-client-4.1.8.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-http-client-core/4.1.8/micronaut-http-client-core-4.1.8.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-websocket/4.1.8/micronaut-websocket-4.1.8.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-http-netty/4.1.8/micronaut-http-netty-4.1.8.jar:/home/krickert/.m2/repository/io/netty/netty-codec-http/4.1.99.Final/netty-codec-http-4.1.99.Final.jar:/home/krickert/.m2/repository/io/netty/netty-codec-http2/4.1.99.Final/netty-codec-http2-4.1.99.Final.jar:/home/krickert/.m2/repository/io/netty/netty-handler/4.1.99.Final/netty-handler-4.1.99.Final.jar:/home/krickert/.m2/repository/io/netty/netty-resolver/4.1.99.Final/netty-resolver-4.1.99.Final.jar:/home/krickert/.m2/repository/io/netty/netty-handler-proxy/4.1.99.Final/netty-handler-proxy-4.1.99.Final.jar:/home/krickert/.m2/repository/io/netty/netty-common/4.1.99.Final/netty-common-4.1.99.Final.jar:/home/krickert/.m2/repository/io/netty/netty-buffer/4.1.99.Final/netty-buffer-4.1.99.Final.jar:/home/krickert/.m2/repository/io/netty/netty-transport/4.1.99.Final/netty-transport-4.1.99.Final.jar:/home/krickert/.m2/repository/io/netty/netty-codec/4.1.99.Final/netty-codec-4.1.99.Final.jar:/home/krickert/.m2/repository/io/netty/netty-codec-socks/4.1.99.Final/netty-codec-socks-4.1.99.Final.jar:/home/krickert/.m2/repository/io/micronaut/validation/micronaut-validation/4.0.3/micronaut-validation-4.0.3.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-core-reactive/4.1.8/micronaut-core-reactive-4.1.8.jar:/home/krickert/.m2/repository/jakarta/validation/jakarta.validation-api/3.0.2/jakarta.validation-api-3.0.2.jar:/home/krickert/.m2/repository/io/micronaut/reactor/micronaut-reactor/3.0.2/micronaut-reactor-3.0.2.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-retry/4.1.8/micronaut-retry-4.1.8.jar:/home/krickert/.m2/repository/io/micronaut/grpc/micronaut-grpc-runtime/4.0.1/micronaut-grpc-runtime-4.0.1.jar:/home/krickert/.m2/repository/io/micronaut/grpc/micronaut-grpc-client-runtime/4.0.1/micronaut-grpc-client-runtime-4.0.1.jar:/home/krickert/.m2/repository/io/micronaut/grpc/micronaut-grpc-annotation/4.0.1/micronaut-grpc-annotation-4.0.1.jar:/home/krickert/.m2/repository/io/micronaut/grpc/micronaut-grpc-opentracing/4.0.1/micronaut-grpc-opentracing-4.0.1.jar:/home/krickert/.m2/repository/io/grpc/grpc-netty/1.56.1/grpc-netty-1.56.1.jar:/home/krickert/.m2/repository/io/grpc/grpc-core/1.56.1/grpc-core-1.56.1.jar:/home/krickert/.m2/repository/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar:/home/krickert/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.23/animal-sniffer-annotations-1.23.jar:/home/krickert/.m2/repository/io/perfmark/perfmark-api/0.26.0/perfmark-api-0.26.0.jar:/home/krickert/.m2/repository/io/netty/netty-transport-native-unix-common/4.1.99.Final/netty-transport-native-unix-common-4.1.99.Final.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-buffer-netty/4.1.8/micronaut-buffer-netty-4.1.8.jar:/home/krickert/.m2/repository/io/micronaut/grpc/micronaut-grpc-server-runtime/4.0.1/micronaut-grpc-server-runtime-4.0.1.jar:/home/krickert/.m2/repository/io/micronaut/grpc/micronaut-grpc-health/4.0.1/micronaut-grpc-health-4.0.1.jar:/home/krickert/.m2/repository/io/micronaut/serde/micronaut-serde-jackson/2.2.5/micronaut-serde-jackson-2.2.5.jar:/home/krickert/.m2/repository/io/micronaut/micronaut-jackson-core/4.1.8/micronaut-jackson-core-4.1.8.jar:/home/krickert/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.15.2/jackson-core-2.15.2.jar:/home/krickert/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.15.2/jackson-annotations-2.15.2.jar:/home/krickert/.m2/repository/io/micronaut/serde/micronaut-serde-api/2.2.5/micronaut-serde-api-2.2.5.jar:/home/krickert/.m2/repository/io/micronaut/serde/micronaut-serde-support/2.2.5/micronaut-serde-support-2.2.5.jar:/home/krickert/.m2/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar:/home/krickert/.m2/repository/ch/qos/logback/logback-classic/1.4.11/logback-classic-1.4.11.jar:/home/krickert/.m2/repository/ch/qos/logback/logback-core/1.4.11/logback-core-1.4.11.jar:/home/krickert/.m2/repository/org/yaml/snakeyaml/2.0/snakeyaml-2.0.jar:/home/krickert/.m2/repository/io/micronaut/testresources/micronaut-test-resources-client/2.0.0/micronaut-test-resources-client-2.0.0.jar:/home/krickert/.m2/repository/io/micronaut/testresources/micronaut-test-resources-core/2.0.0/micronaut-test-resources-core-2.0.0.jar:/home/krickert/.m2/repository/org/apache/opennlp/opennlp-tools/2.3.0/opennlp-tools-2.3.0.jar:/home/krickert/IdeaProjects/search_indexer/protobuf-projects/wikisearch-model/target/classes:/home/krickert/.m2/repository/commons-io/commons-io/2.13.0/commons-io-2.13.0.jar:/home/krickert/.m2/repository/org/apache/commons/commons-lang3/3.13.0/commons-lang3-3.13.0.jar:/home/krickert/.m2/repository/io/grpc/grpc-stub/1.56.1/grpc-stub-1.56.1.jar:/home/krickert/.m2/repository/io/grpc/grpc-api/1.56.1/grpc-api-1.56.1.jar:/home/krickert/.m2/repository/io/grpc/grpc-context/1.56.1/grpc-context-1.56.1.jar:/home/krickert/.m2/repository/io/grpc/grpc-protobuf/1.56.1/grpc-protobuf-1.56.1.jar:/home/krickert/.m2/repository/com/google/api/grpc/proto-google-common-protos/2.17.0/proto-google-common-protos-2.17.0.jar:/home/krickert/.m2/repository/io/grpc/grpc-protobuf-lite/1.56.1/grpc-protobuf-lite-1.56.1.jar:/home/krickert/.m2/repository/com/google/protobuf/protobuf-java/3.23.4/protobuf-java-3.23.4.jar:/home/krickert/.m2/repository/org/testcontainers/consul/1.18.3/consul-1.18.3.jar:/home/krickert/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/home/krickert/.m2/repository/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar:/home/krickert/.m2/repository/com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0.jar:/home/krickert/.m2/repository/com/google/guava/guava/32.0.1-jre/guava-32.0.1-jre.jar:/home/krickert/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:/home/krickert/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/home/krickert/.m2/repository/com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8.jar com.krickert.search.service.nlp.Application
__ __ _ _
| \/ (_) ___ _ __ ___ _ __ __ _ _ _| |_
| |\/| | |/ __| '__/ _ \| '_ \ / _` | | | | __|
| | | | | (__| | | (_) | | | | (_| | |_| | |_
|_| |_|_|\___|_| \___/|_| |_|\__,_|\__,_|\__|
03:20:09.914 [main] INFO i.m.context.DefaultBeanContext - Reading bootstrap environment configuration
03:20:12.093 [main] INFO io.micronaut.runtime.Micronaut - Startup completed in 2804ms. Server Running: http://localhost:50051
03:20:22.110 [default-nioEventLoopGroup-4-1] WARN i.n.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
io.netty.handler.timeout.ReadTimeoutException: null
03:20:28.148 [default-nioEventLoopGroup-4-2] WARN i.n.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
io.netty.handler.timeout.ReadTimeoutException: null
03:20:37.150 [default-nioEventLoopGroup-4-3] WARN i.n.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
io.netty.handler.timeout.ReadTimeoutException: null
03:20:39.149 [default-nioEventLoopGroup-4-4] ERROR i.m.d.registration.AutoRegistration - Error occurred during service registration with Consul: class io.micronaut.discovery.consul.client.v1.TTLCheck cannot be cast to class io.micronaut.discovery.consul.client.v1.HTTPCheck (io.micronaut.discovery.consul.client.v1.TTLCheck and io.micronaut.discovery.consul.client.v1.HTTPCheck are in unnamed module of loader 'app')
java.lang.ClassCastException: class io.micronaut.discovery.consul.client.v1.TTLCheck cannot be cast to class io.micronaut.discovery.consul.client.v1.HTTPCheck (io.micronaut.discovery.consul.client.v1.TTLCheck and io.micronaut.discovery.consul.client.v1.HTTPCheck are in unnamed module of loader 'app')
at io.micronaut.discovery.consul.client.v1.$HTTPCheck$Introspection.dispatchOne(Unknown Source)
at io.micronaut.inject.beans.AbstractInitializableBeanIntrospection$BeanPropertyImpl.getUnsafe(AbstractInitializableBeanIntrospection.java:856)
at io.micronaut.serde.support.serializers.SerBean$PropSerProperty.get(SerBean.java:463)
at io.micronaut.serde.support.serializers.CustomizedObjectSerializer.serialize(CustomizedObjectSerializer.java:66)
at io.micronaut.serde.support.serializers.CustomizedIterableSerializer.serialize(CustomizedIterableSerializer.java:50)
at io.micronaut.serde.support.serializers.CustomizedIterableSerializer.serialize(CustomizedIterableSerializer.java:32)
at io.micronaut.serde.support.serializers.CustomizedObjectSerializer.serialize(CustomizedObjectSerializer.java:132)
at io.micronaut.serde.support.serializers.ObjectSerializer$RuntimeTypeSerializer.serialize(ObjectSerializer.java:245)
at io.micronaut.serde.jackson.JacksonJsonMapper.writeValue(JacksonJsonMapper.java:114)
at io.micronaut.serde.jackson.JacksonJsonMapper.writeValue(JacksonJsonMapper.java:193)
at io.micronaut.json.body.JsonMessageHandler.writeTo(JsonMessageHandler.java:134)
at io.micronaut.http.body.MessageBodyWriter.writeTo(MessageBodyWriter.java:138)
at io.micronaut.http.netty.body.NettyJsonHandler.writeTo(NettyJsonHandler.java:133)
at io.micronaut.http.body.DynamicMessageBodyWriter.writeTo(DynamicMessageBodyWriter.java:79)
at io.micronaut.http.client.netty.DefaultHttpClient.buildNettyRequest(DefaultHttpClient.java:1326)
at io.micronaut.http.client.netty.DefaultHttpClient.sendRequestThroughChannel(DefaultHttpClient.java:1468)
at io.micronaut.http.client.netty.DefaultHttpClient.lambda$exchangeImpl$26(DefaultHttpClient.java:1102)
at reactor.core.publisher.FluxCreate.subscribe(FluxCreate.java:95)
at reactor.core.publisher.Flux.subscribe(Flux.java:8773)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onNext(MonoFlatMapMany.java:195)
at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
at io.micronaut.http.client.netty.CancellableMonoSink.tryForward(CancellableMonoSink.java:69)
at io.micronaut.http.client.netty.CancellableMonoSink.tryEmitValue(CancellableMonoSink.java:86)
at io.micronaut.http.client.netty.ConnectionManager$Pool$ConnectionHolder.emitPoolHandle(ConnectionManager.java:1155)
at io.micronaut.http.client.netty.ConnectionManager$Pool$Http1ConnectionHolder.dispatch0(ConnectionManager.java:1308)
at io.micronaut.http.client.netty.ConnectionManager$Pool$ConnectionHolder.dispatch(ConnectionManager.java:1179)
at io.micronaut.http.client.netty.PoolResizer.dispatchSafe(PoolResizer.java:169)
at io.micronaut.http.client.netty.PoolResizer.doSomeWork(PoolResizer.java:115)
at io.micronaut.http.client.netty.PoolResizer.dirty(PoolResizer.java:77)
at io.micronaut.http.client.netty.PoolResizer.onNewConnectionEstablished1(PoolResizer.java:208)
at io.micronaut.http.client.netty.ConnectionManager$Pool$Http1ConnectionHolder.init(ConnectionManager.java:1248)
at io.micronaut.http.client.netty.ConnectionManager$Pool$2$1.channelActive(ConnectionManager.java:1038)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:262)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:238)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelActive(AbstractChannelHandlerContext.java:231)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelActive(CombinedChannelDuplexHandler.java:412)
at io.netty.channel.ChannelInboundHandlerAdapter.channelActive(ChannelInboundHandlerAdapter.java:69)
at io.netty.channel.CombinedChannelDuplexHandler.channelActive(CombinedChannelDuplexHandler.java:211)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:260)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:238)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelActive(AbstractChannelHandlerContext.java:231)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelActive(DefaultChannelPipeline.java:1398)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:258)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:238)
at io.netty.channel.DefaultChannelPipeline.fireChannelActive(DefaultChannelPipeline.java:895)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:305)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:335)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:833)
from micronaut-discovery-client.
I'm getting a class cast exception now as well.
Couple observations now:
- This error is the same on a windows machine too running in a WSL environment
- I do have consul running, it would give a not found exception if it wasn't because port 8500 would be closed
- Same thing happens if you run from the jar directly
I now see a class cast exception, which I pasted above.
From what I can tell - this would be reproduceable when attempting to run in most environments. Since the instructions do say to turn of consul integration on a dev environment, I can see how that would've made it past the tests.
from micronaut-discovery-client.
from micronaut-discovery-client.
I think we might be able to conclude that the discovery client doesn't register the service. I tried this with an http service example, and that too does not work.
from micronaut-discovery-client.
This looks to me like a duplicate of #385
from micronaut-discovery-client.
Thanks for the workaround! Works fine. I also had to add micronaut-discovery-client
too.. but this unblocked me. Thanks so much!!!
from micronaut-discovery-client.
I created an issue to support java.net.InetAddress
in Micronaut Serialization. I am able to reproduce the java.lang.ClassCastException: class io.micronaut.discovery.consul.client.v1.TTLCheck cannot be cast to class io.micronaut.discovery.consul.client.v1.HTTPCheck
error.
from micronaut-discovery-client.
Is there a way to validate if the workaround breaks the health check exposing at the grpc endpoint?
https://micronaut-projects.github.io/micronaut-grpc/latest/guide/#server
Following this guide, to automatically register the health checks it asks that you add the following dependencies:
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-services</artifactId>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-management</artifactId>
</dependency>
And the instructions say after this:
If the management dependency (io.micronaut:micronaut-management) is added, then Micronaut’s Health Endpoint can be used to expose the health status of the gRPC server.
For example, if gRPC is running then the /health endpoint will return:
{
"status": "UP",
"details": {
"grpc-server": {
"name": "your-project-name",
"status": "UP",
"details": {
"host": "localhost",
"port": 5050
}
}
},
...
}
This used to work for me. Although consul registers the service fine (still going to test the client - but have another question about that as well)..
I'll be glad to make it a separate bug, but think it's not a bug because I suspect that it's related to this bug and I'm just missing a dependency.
When I try to hit the health check endpoint I get:
> curl http://localhost:50052/health -L
curl: (1) Received HTTP/0.9 when not allowed
And from the running application:
Oct 09, 2023 6:09:15 AM io.grpc.netty.NettyServerTransport notifyTerminated
INFO: Transport failed
io.netty.handler.codec.http2.Http2Exception: Unexpected HTTP/1.x request: GET /health
at io.netty.handler.codec.http2.Http2Exception.connectionError(Http2Exception.java:109)
at io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.readClientPrefaceString(Http2ConnectionHandler.java:317)
at io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.decode(Http2ConnectionHandler.java:247)
at io.netty.handler.codec.http2.Http2ConnectionHandler.decode(Http2ConnectionHandler.java:453)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:529)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:468)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:833)
You can see this if you go to this project
https://github.com/krickert/search_indexer
Under the maven modules "services/grpc-vectorizer-service"
It's self-contained, but it is dependent on a parent project (the proto stuff) - but if need be I can make it more self-contained than it is now.
from micronaut-discovery-client.
I believe this fixed registering the client - but I think the other direction doesn't work; whenever I try to do a consul lookup by following the directions I'll always get an exception.
Caused by: io.micronaut.http.client.exceptions.HttpClientResponseException: Client 'consul': Error decoding HTTP response body: No bean introspection available for type [class java.net.InetAddress]. Ensure the class is annotated with io.micronaut.core.annotation.Introspected
at io.micronaut.http.client.netty.DefaultHttpClient$FullHttpResponseHandler.makeNormalBodyParseError(DefaultHttpClient.java:2254)
at io.micronaut.http.client.netty.DefaultHttpClient$FullHttpResponseHandler.forwardResponseToPromise(DefaultHttpClient.java:2184)
This happened for all clients you can try
from micronaut-discovery-client.
Checked the latest snapshot out and everything is working. The workaround (I think?) breaks the client. Downloading the snapshot works. will use the snapshot for now until the release is out.
from micronaut-discovery-client.
Related Issues (20)
- Attempt to replace Jackson with Micronaut Serialization HOT 1
- Migrate to new configuration ascidoc macro
- Add flag for use name as prefix HOT 2
- Add native test
- VaultConfigurationClient failed if 1 path is not found HOT 1
- Dash '-' not working for activeName for Consul PropertySource name HOT 2
- Consul deregistration not working for multi-registered application HOT 1
- Error occurred during service registration with Consul, app throw UnimplementedAdviceException HOT 10
- Micronaut won't start (throws exception) when "discovery-client" feature is enabled HOT 2
- version 4 do no contains some fixes done in version 3
- Unable to run test locally HOT 1
- Microanut service registration for consul client will resutle in a failure even if the service is registered HOT 8
- CI Java 21 for Discovery Client
- Issue with resolving environment in consul config
- Registration with Eureka doesn't work when using Micronaut serialization
- GRPC service execution is throwing exceptions when updating to 4.2 micronaut HOT 1
- Del @Deprecated Discovery Client
- SpringCloud Config Client doesn't work with Micronaut Serialization
- Consul Client doesn't work when using Micronaut serialization
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from micronaut-discovery-client.