apache / apache/geaflow

gRPC message exceeds maximum size in local environment

Open
#189 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
808
Forks
188
Avg merge
3d 22h
Merged PRs (30d)
2

Description

**Describe the bug**
I wrote a simple application with Graph API and it failed to run on a relatively large amount of vertices in local environment.

logs:
```
2023-10-09 14:32:38 [main] INFO EnvironmentFactory:106 - loaded IEnvironmentArgsParser implementation com.antgroup.geaflow.env.args.EnvironmentArgumentParser@63e31ee
2023-10-09 14:32:38 [main] INFO EnvironmentFactory:86 - loaded IEnvironment implementation com.antgroup.geaflow.cluster.local.client.LocalEnvironment@21a06946
2023-10-09 14:32:38 [main] WARN MetricGroupRegistry:90 - report list is empty
2023-10-09 14:32:38 [main] WARN HAServiceFactory:55 - unknown ha service type:memory, use default memoryHaService
2023-10-09 14:32:38 [main] INFO ClusterMetaStoreFactory:55 - create memory cluster metastore
2023-10-09 14:32:38 [main] INFO ClusterMetaStore:50 - create ClusterMetaStore, store key framework/cluster/b834e281-64f3-447e-ba3a-e59a5ac7f48d, id 0
2023-10-09 14:32:38 [main] INFO RpcServiceImpl:58 - Server started, listening on: 33913
2023-10-09 14:32:38 [main] INFO DefaultResourceManager:83 - init worker number 16, isRecover false
2023-10-09 14:32:38 [main] INFO AbstractClusterManager:91 - allocate 16 workers in 1 containers[16]
2023-10-09 14:32:38 [main] INFO RpcServiceImpl:58 - Server started, listening on: 33357
2023-10-09 14:32:38 [main] INFO ShuffleConfig:80 - init shuffle config: Configuration{{geaflow.container.heap.size.mb=3276, geaflow.system.state.backend.type=MEMORY, geaflow.job.cluster.id=b834e281-64f3-447e-ba3a-e59a5ac7f48d, geaflow.run.local.mode=true, geaflow.system.offset.backend.type=MEMORY, geaflow.job.unique.id=a666e9bb-809c-4e1e-a84a-7caa6464a72e, geaflow.job.runtime.name=geaflowa666e9bb-809c-4e1e-a84a-7caa6464a72e}}
2023-10-09 14:32:38 [main] INFO NettyClient:65 - Transport type 'auto': using NIO.
2023-10-09 14:32:38 [main] INFO NettyUtils:56 - create a PooledByteBufAllocator: preferDirect=true, allowCache=true
2023-10-09 14:32:38 [main] INFO NettyClient:101 - Successful initialization (took 3 ms).
2023-10-09 14:32:38 [main] INFO NettyUtils:56 - create a PooledByteBufAllocator: preferDirect=true, allowCache=true
2023-10-09 14:32:38 [main] INFO NettyServer:113 - Successful initialization (took 3 ms). Listening on /172.17.0.2:37929. NettyConfig: ShuffleConfig{, connectTimeoutMs=180000, fetchTimeoutMs=600000, serverBacklog=512, serverThreads=4, clientThreads=4, maxSpillSizePerSliceMB=1536}
2023-10-09 14:32:38 [main] INFO HeartbeatClient:47 - register container-1 info:ContainerInfo{id=1, name='container-1', host='172.17.0.2', pid=1299, rpcPort=33357, shufflePort=37929}
2023-10-09 14:32:38 [main] INFO Container:65 - container container-1 init finish
2023-10-09 14:32:38 [main] INFO DefaultResourceManager:90 - init worker manager finish
2023-10-09 14:32:38 [main] INFO LocalClient:38 - init master
2023-10-09 14:32:38 [main] INFO RpcServiceImpl:58 - Server started, listening on: 45101
2023-10-09 14:32:38 [main] INFO HeartbeatClient:47 - register driver-2 info:DriverInfo{id=2, name='driver-2', host='172.17.0.2', pid=1299, rpcPort=45101}
2023-10-09 14:32:38 [main] INFO Driver:82 - driver driver-2 init finish
2023-10-09 14:32:38 [main] INFO LocalClusterManager:73 - call driver start
2023-10-09 14:32:38 [grpc-default-executor-0] INFO AbstractClusterManager:173 - driver is registered:DriverInfo{id=2, name='driver-2', host='172.17.0.2', pid=1299, rpcPort=45101}
2023-10-09 14:32:38 [main] INFO Master:88 - init with info: ClusterInfo{masterAddress=172.17.0.2:33913, driverAddress=172.17.0.2:45101}
2023-10-09 14:32:38 [main] INFO SimpleClusterStartedCallback:25 - start cluster successfully: com.antgroup.geaflow.cluster.client.callback.ClusterStartedCallback$ClusterMeta@9573584
2023-10-09 14:32:38 [main] INFO LocalClusterClient:52 - cluster info: ClusterInfo{masterAddress=172.17.0.2:33913, driverAddress=172.17.0.2:45101}
2023-10-09 14:32:38 [main] INFO DriverEndpointRef:54 - send pipeline to driver, driver host:172.17.0.2, port:45101. com.antgroup.geaflow.pipeline.Pipeline@4f6f416f
2023-10-09 14:32:38 [rpc-executor-0] INFO HeartbeatClient:57 - driver-2 registered success:true
2023-10-09 14:32:38 [rpc-executor-0] INFO HeartbeatClient:69 - start driver-2 heartbeat
2023-10-09 14:32:38 [grpc-default-executor-0] INFO Container:83 - open container container-1 with 16 executors
2023-10-09 14:32:38 [rpc-executor-1] INFO HeartbeatClient:57 - container-1 registered success:true
2023-10-09 14:32:38 [rpc-executor-1] INFO HeartbeatClient:69 - start container-1 heartbeat
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 0, pending 15
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 1, pending 14
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 2, pending 13
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 3, pending 12
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 4, pending 11
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 5, pending 10
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 6, pending 9
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 7, pending 8
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 8, pending 7
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 9, pending 6
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 10, pending 5
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 11, pending 4
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 12, pending 3
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 13, pending 2
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 14, pending 1
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:228 - allocate 16 worker from cluster manager container container-1, host 172.17.0.2, processId 1299, workerIndex 15, pending 0
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:246 - register worker over, available/used : 16/0, pending 0
2023-10-09 14:32:38 [rpc-executor-0] INFO DefaultResourceManager:289 - persist 16/0 workers costs 0ms
Oct 09, 2023 2:32:38 PM io.grpc.netty.NettyServerStream$TransportState deframeFailed
WARNING: Exception processing message
io.grpc.StatusRuntimeException: RESOURCE_EXHAUSTED: gRPC message exceeds maximum size 4194304: 5484045
at io.grpc.Status.asRuntimeException(Status.java:517)
at io.grpc.internal.MessageDeframer.processHeader(MessageDeframer.java:387)
at io.grpc.internal.MessageDeframer.deliver(MessageDeframer.java:267)
at io.grpc.internal.MessageDeframer.deframe(MessageDeframer.java:177)
at io.grpc.internal.AbstractStream$TransportState.deframe(AbstractStream.java:193)
at io.grpc.internal.AbstractServerStream$TransportState.inboundDataReceived(AbstractServerStream.java:266)
at io.grpc.netty.NettyServerStream$TransportState.inboundDataReceived(NettyServerStream.java:198)
at io.grpc.netty.NettyServerHandler.onDataRead(NettyServerHandler.java:464)
at io.grpc.netty.NettyServerHandler.access$800(NettyServerHandler.java:98)
at io.grpc.netty.NettyServerHandler$FrameListener.onDataRead(NettyServerHandler.java:724)
at io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$FrameReadListener.onDataRead(DefaultHttp2ConnectionDecoder.java:236)
at io.netty.handler.codec.http2.Http2InboundFrameLogger$1.onDataRead(Http2InboundFrameLogger.java:48)
at io.netty.handler.codec.http2.DefaultHttp2FrameReader.readDataFrame(DefaultHttp2FrameReader.java:421)
at io.netty.handler.codec.http2.DefaultHttp2FrameReader.processPayloadState(DefaultHttp2FrameReader.java:251)
at io.netty.handler.codec.http2.DefaultHttp2FrameReader.readFrame(DefaultHttp2FrameReader.java:160)
at io.netty.handler.codec.http2.Http2InboundFrameLogger.readFrame(Http2InboundFrameLogger.java:41)
at io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder.decodeFrame(DefaultHttp2ConnectionDecoder.java:118)
at io.netty.handler.codec.http2.Http2ConnectionHandler$FrameDecoder.decode(Http2ConnectionHandler.java:390)
at io.netty.handler.codec.http2.Http2ConnectionHandler.decode(Http2ConnectionHandler.java:450)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:502)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:441)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:750)

Oct 09, 2023 2:32:38 PM io.grpc.netty.NettyServerHandler onStreamError
WARNING: Stream Error
io.netty.handler.codec.http2.Http2Exception$StreamException: Received DATA frame for an unknown stream 3
at io.netty.handler.codec.http2.Http2Exception.streamError(Http2Exception.java:129)
at io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$FrameReadListener.shouldIgnoreHeadersOrDataFrame(DefaultHttp2ConnectionDecoder.java:531)
at io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$FrameReadListener.onDataRead(DefaultHttp2ConnectionDecoder.java:183)
at io.netty.handler.codec.http2.Http2InboundFrameLogger$1.onDataRead(Http2InboundFrameLogger.java:48)
at io.netty.handler.codec.http2.DefaultHttp2FrameReader.readDataFrame(DefaultHttp2FrameReader.java:421)
at io.netty.handler.codec.http2.DefaultHttp2FrameReader.processPayloadState(DefaultHttp2FrameReader.java:251)
at io.netty.handler.codec.http2.DefaultHttp2FrameReader.readFrame(DefaultHttp2FrameReader.java:160)
at io.netty.handler.codec.http2.Http2InboundFrameLogger.readFrame(Http2InboundFrameLogger.java:41)
at io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder.decodeFrame(DefaultHttp2ConnectionDecoder.java:118)
at io.netty.handler.codec.http2.Http2ConnectionHandler$FrameDecoder.decode(Http2ConnectionHandler.java:390)
at io.netty.handler.codec.http2.Http2ConnectionHandler.decode(Http2ConnectionHandler.java:450)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:502)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:441)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:750)

Exception in thread "main" io.grpc.StatusRuntimeException: CANCELLED: HTTP/2 error code: CANCEL
Received Rst Stream
at io.grpc.Status.asRuntimeException(Status.java:526)
at io.grpc.stub.ClientCalls$BlockingResponseStream.hasNext(ClientCalls.java:576)
at com.antgroup.geaflow.cluster.rpc.impl.DriverEndpointRef.executePipeline(DriverEndpointRef.java:61)
at com.antgroup.geaflow.cluster.client.PipelineClient.submit(PipelineClient.java:35)
at com.antgroup.geaflow.cluster.client.GeaFlowClient.submit(GeaFlowClient.java:37)
at com.antgroup.geaflow.cluster.client.AbstractEnvironment.submit(AbstractEnvironment.java:34)
at com.antgroup.geaflow.pipeline.Pipeline.execute(Pipeline.java:74)
at com.github.wzzzzd.tugraph.playground.Main.main(Main.java:40)
Oct 09, 2023 2:32:38 PM io.grpc.netty.NettyServerHandler onStreamError
WARNING: Stream Error
io.netty.handler.codec.http2.Http2Exception$StreamException: Received DATA frame for an unknown stream 3
at io.netty.handler.codec.http2.Http2Exception.streamError(Http2Exception.java:129)
at io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$FrameReadListener.shouldIgnoreHeadersOrDataFrame(DefaultHttp2ConnectionDecoder.java:531)
at io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$FrameReadListener.onDataRead(DefaultHttp2ConnectionDecoder.java:183)
at io.netty.handler.codec.http2.Http2InboundFrameLogger$1.onDataRead(Http2InboundFrameLogger.java:48)
at io.netty.handler.codec.http2.DefaultHttp2FrameReader.readDataFrame(DefaultHttp2FrameReader.java:421)
at io.netty.handler.codec.http2.DefaultHttp2FrameReader.processPayloadState(DefaultHttp2FrameReader.java:251)
at io.netty.handler.codec.http2.DefaultHttp2FrameReader.readFrame(DefaultHttp2FrameReader.java:160)
at io.netty.handler.codec.http2.Http2InboundFrameLogger.readFrame(Http2InboundFrameLogger.java:41)
at io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder.decodeFrame(DefaultHttp2ConnectionDecoder.java:118)
at io.netty.handler.codec.http2.Http2ConnectionHandler$FrameDecoder.decode(Http2ConnectionHandler.java:390)
at io.netty.handler.codec.http2.Http2ConnectionHandler.decode(Http2ConnectionHandler.java:450)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:502)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:441)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:750)

2023-10-09 14:32:38 [Thread-1] WARN RpcServiceImpl:63 - *** shutting down gRPC server since JVM is shutting down
2023-10-09 14:32:38 [Thread-3] WARN RpcServiceImpl:63 - *** shutting down gRPC server since JVM is shutting down
2023-10-09 14:32:38 [Thread-2] WARN RpcServiceImpl:63 - *** shutting down gRPC server since JVM is shutting down
2023-10-09 14:32:38 [Thread-1] WARN RpcServiceImpl:65 - *** server shut down
2023-10-09 14:32:38 [Thread-2] WARN RpcServiceImpl:65 - *** server shut down
2023-10-09 14:32:38 [Thread-3] WARN RpcServiceImpl:65 - *** server shut down
[ERROR] Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:1000)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:947)
at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:471)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
```

**Expected behavior**
The application should run without throwing any exceptions.

**Additional context**
application code
```java
public class Main {
public static void main(String[] args) {
Environment environment = EnvironmentFactory.onLocalEnvironment();
Pipeline pipeline = PipelineFactory.buildPipeline(environment);
List> vertices = IntStream
.range(0, 500000)
.boxed()
.map(n -> new ValueVertex(n, n))
.collect(Collectors.toList());
List> edges = new ArrayList<>();
PipelineTask pipelineTask = buildPipelineTask(vertices, edges);
pipeline.submit(pipelineTask);
IPipelineResult result = pipeline.execute();
if (!result.isSuccess()) {
throw new RuntimeException("pipeline task failed");
}
result.get();
environment.shutdown();
}

static PipelineTask buildPipelineTask(
List> vertices,
List> edges) {
return pipelineTask -> {
PWindowSource> vertexSource = pipelineTask
.buildSource(new CollectionSource<>(vertices), WindowFactory.allWindow())
.withParallelism(1);

PWindowSource> edgeSource = pipelineTask
.buildSource(new CollectionSource<>(edges), WindowFactory.allWindow())
.withParallelism(1);

GraphViewDesc graphViewDesc = GraphViewBuilder
.createGraphView(GraphViewBuilder.DEFAULT_GRAPH)
.withShardNum(1)
.withBackend(BackendType.Memory)
.build();

PGraphWindow graphWindow = pipelineTask
.buildWindowStreamGraph(vertexSource, edgeSource, graphViewDesc);

SinkFunction> vertexSink = vertex -> {
System.out.println(vertex.toString());
};

graphWindow
.getVertices()
.filter(v -> v.getId() % 10000 == 0)
.sink(vertexSink)
.withParallelism(1);
};
}
}
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the Graph API application in local mode with a graph large enough to trigger the reported RESOURCE_EXHAUSTED error, then trace the gRPC server and client configuration involved in that request. Done means the same workload completes without exceeding the 4194304-byte message limit, with coverage for the relevant local RPC path if an existing test entry point is found.

Written by the indexing model from the issue text.

Assessment

Tech stack
grpc, java
Domain
backend, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.