They can’t (with the current design of Flink) because each CEP pattern get’s executed by a separate operator.
We could think about doing multiplexing of several patterns inside one operator. It’s what I hinted at earlier as a possible solution when I mentioned that you could implement your own operator that keeps track of the patterns and does the pattern matching. Best, Aljoscha > On 2. May 2017, at 18:00, Elias Levy <fearsome.lucid...@gmail.com> wrote: > > Any reason they can't share a single RocksDB state backend instance? > > > On Fri, Apr 28, 2017 at 8:44 AM, Aljoscha Krettek <aljos...@apache.org > <mailto:aljos...@apache.org>> wrote: > The problem here is that this will try to open 300 RocksDB instances on each > of the TMs (depending on how the parallelism is spread between the machines > this could be more or less). As the exception says, this will open too many > files because each RocksDB instance has a directory with several files in it. > > One possible solution would be to increase the limit on open files but I > don’t think that opening 300 RocksDB instances on one machine is a good idea > for any size of machine. I think with this many patterns you could start > thinking about writing the pattern matching yourself and multiplexing the > several patterns in one stateful function or operator. > > @Stefan, what do you think about having this many Rocks instances? > >