I'm running into this error in an @dynamic task:
TooLarge: Event message exceeds maximum gRPC size limit, caused by [rpc error: code = ResourceExhausted desc = grpc: received message larger than max (5928244 vs. 4194304)]
I found a message from
@Dan Rammer (hamersaw) from a year ago that says (abbreviated):
So this error is happening when propeller sends an event to admin <and exceeds the configured gRPC buffer size>
What I don't understand is the "event message" that is occurring and its contents -- or how to get around it. It is related to the number of tasks I create in the @dynamic, and the error occurs before any of the tasks get launched. My use case looks like this:
@dynamic
def some_dynamic_worklow( input ):
for i in range(n):
# manipulate input to get input1, input2, etc.
res1 = task1( input1 )
res2 = task2( input2, res1 )
task3( input3, res1, res2 ) # writes all results to filesystem
summary = X # some local computation, resulting in a smallish object
return summary
For small
n
, this works fine; as
n
gets bigger, I get the error. This error occurs
before I see any tasks launched - so presumably is related to sending info about the task inputs -- in one event-message? -- that need to be launched?
Some of my inputs do in fact contain long protein sequences, so may be e.g. 100K in size - but I don't understand why these ALL are presumably getting sent in some single event/message, and causing the size issue. I'm not passing any big collections of them around -- just one at a time between tasks. And looking at the pod-log for my flyte-binary via k9s, I don't even see this logged, so all I have to go on is the message at top that is shown in Flyte Console.
Help? Thanks!