Comments (10)
Yeah, I saw the warnings were expected and that we couldn't pre-migrate.
I'm trying a one-off with #11450. Early results show a channelFactoryShouldNNotSetSocketOptionKeepAlive failure on Linux which I don't yet see on my machine (Java 11). Seems like the channel creation is failing, but I don't know why that'd be flaky. I'll wait until the other CIs finish before digging too deep.
For a continuous CI (tehe) I'm not quite sure how we'd handle the warnings before the first Final release. But it also seems there's only a few places to change. Running the latest snapshot may be a bit interesting to select without manually bumping the version each month.
from grpc-java.
/cc @ejona86
from grpc-java.
For this one-off test, is 4.2.0.Alpha2 close enough, or should we really test the latest SNAPSHOT?
from grpc-java.
I mean SNAPSHOT would be best but latest Alpha release should also be fine. I will cut a new Alpha soonish as well
from grpc-java.
A quick test with just Linux and Alpha2 mostly just had *EventLoopGroup
warnings. We have one shading test failure, but that is unlikely to matter; it is testing that we properly rewrote META-INF/native-image files and one of them was probably renamed. (Edit: Actually, we had already fixed that on a newer version of Netty, but I was on a different base than I thought. Changing to a fresh master, everything passes, on Linux)
from grpc-java.
@ejona86 nice! Yeah the EventLoopGroup
warnings are expected as constructing these directly is deprecated in favor of using MultiThreadIoEventLoopGroup(....)
from grpc-java.
@ejona86 please keep me posted and let me know if there is anything you need
from grpc-java.
@ejona86 any updates on the failed tests ?
from grpc-java.
The tests have passed on every platform. But the Github Actions for Java 8/17 failed. I figured out where the test results were saved. Java 17 stdout/err doesn't have anything special. But in the Java 8 failure, this looks suspicious but may be from the @After
and not related to the root cause:
Aug 07, 2024 12:25:55 AM io.netty.util.concurrent.DefaultPromise safeExecute
SEVERE: Failed to submit a listener notification task. Event loop shut down?
java.util.concurrent.RejectedExecutionException: event executor terminated
at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:1053)
at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:399)
at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:392)
at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:955)
at io.netty.util.concurrent.SingleThreadEventExecutor.execute0(SingleThreadEventExecutor.java:921)
at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:911)
at io.netty.util.concurrent.DefaultPromise.safeExecute(DefaultPromise.java:862)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:500)
at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)
at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629)
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118)
at io.netty.channel.nio.AbstractNioChannel.doClose(AbstractNioChannel.java:578)
at io.netty.channel.socket.nio.NioSocketChannel.doClose(NioSocketChannel.java:342)
at io.netty.channel.AbstractChannel$AbstractUnsafe.doClose0(AbstractChannel.java:618)
at io.netty.channel.AbstractChannel$AbstractUnsafe.access$1000(AbstractChannel.java:288)
at io.netty.channel.AbstractChannel$AbstractUnsafe$6.run(AbstractChannel.java:575)
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148)
at io.netty.util.concurrent.GlobalEventExecutor$TaskRunner.run(GlobalEventExecutor.java:262)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:750)
Aug 07, 2024 12:25:55 AM io.netty.channel.AbstractChannel$AbstractUnsafe invokeLater
WARNING: Can't invoke task later as EventLoop rejected it
java.util.concurrent.RejectedExecutionException: event executor terminated
at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:1053)
at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:399)
at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:392)
at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:955)
at io.netty.util.concurrent.SingleThreadEventExecutor.execute0(SingleThreadEventExecutor.java:921)
at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:911)
at io.netty.channel.AbstractChannel$AbstractUnsafe.invokeLater(AbstractChannel.java:888)
at io.netty.channel.AbstractChannel$AbstractUnsafe.access$1200(AbstractChannel.java:288)
at io.netty.channel.AbstractChannel$AbstractUnsafe$6.run(AbstractChannel.java:578)
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148)
at io.netty.util.concurrent.GlobalEventExecutor$TaskRunner.run(GlobalEventExecutor.java:262)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:750)
It didn't reproduce on my machine, so I suspect a race. Looking at the test, I'm most suspicious about it using a LocalChannel with an NioEventLoopGroup (out of laziness). I can try swapping the event loop type, but it might be interesting to figure out why it is flaky.
from grpc-java.
Using DefaultEventLoopGroup instead of NioEventLoopGroup with LocalChannel fixed the flake.
All the tests passed on all platforms (the errors are because an example is failing because it doesn't know how to find the snapshot; on Thursday an example was added that used grpc-netty instead of grpc-netty-shaded).
from grpc-java.
Related Issues (20)
- connection reset using firebase firestore using Php and Html HOT 1
- Add a global TypeRegistry, similar to the Go implementation HOT 1
- MultiChildLb unconditionally calls requestConnection() HOT 4
- IS_PETIOLE_POLICY is not used by PickFirstLeafLoadBalancer
- Pumping to version 1.65.2 from version 1.62.2 gave the following error 'failed with code: BACKEND_FAILURE_URL_UNREACHABLE' HOT 1
- I can't run the android client example. HOT 2
- Unexpected INTERNAL error io.grpc.StatusRuntimeException: INTERNAL: http2 exception HOT 3
- Header size exceeded max allowed size (10240) HOT 20
- xds: Incorrect load reporting when using pick first as locality-routing policy
- Got ClassNotFoundException while building native image with grpc-netty-shaded HOT 1
- Android grpc with UDS is slow to connect sometimes HOT 6
- monitoring component for related performance indicators (such as rt qps error rate, etc.) HOT 1
- Release notes for 1.66.0 HOT 1
- newAttachHeadersServerInterceptor() is experimental
- Drop support for API Levels 21-22
- linker fails when building under Alpine HOT 2
- What is the purpose of animal-sniffer as a runtime dependency? HOT 3
- Can it support dynamically determining whether to enable gzip compression based on message size HOT 1
- latency between onMessage and onReady execution resulting in client timeout HOT 1
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 grpc-java.