Using Flink 1.9.2, Java, FsStateBackend. Running Session cluster on EC2 instances.
I have a KeyedProcessFunction that is causing a segmentation fault, crashing the flink task manager. The seems to be caused by using 3 State variables in the operator. The crash happens consistently after some load is processed.
This is the second time I have encountered this. The first time I had 3 ValueState variables, this time I had 2 ValueState variables and a MapState variable. Both times the error was alleviated by removing one of the state variables.
This time I replaced the 2 valueState variables with a Tuple2 of the types of the individual variables. I can try to put together a minimal example, but I was wondering if anyone has encountered this problem.
Are there any documented limits of the number of state variables 1 operator can use?
For background the reason I use multiple state variables is the operator is processing 2 types of inputs, Left and Right. When Left is received it is put it into a PriorityQueue. When the Right type is received I put that into a ring buffer.
I replaced the PriorityQueue with a queue of Ids and MapState to hold the elements. So I have Left stored in a queue ValueState variable and MapState variable, and Right is stored in the ring buffer ValueState variable.
Free forum by Nabble | Edit this page |