Question about both using managed memory with RocksDB and tuning other options
Hi community, According to the docs of Flink and RocksDB, if we set `state.backend.rocksdb.memory.managed` option to `true`, the memory budget of memtable and block cache will be controlled by WriteBufferManager and Cache, according to the given ratios. Based on this premise, how will the other related parameters (e.g. block size / block cache size / write buffer count / write buffer size) be set? Do they just keep their own default values, or actively set new values by WriteBufferManager? Furthermore, if we arbitrarily set these parameters or configure PredefinedOptions (e.g. in SPINNING_DISK_OPTIMIZED_HIGH_MEM, the block cache size is 256MB), will these parameters take effect? If they do, how can we ensure that they agree with WriteBufferManager? Many thanks.
Question about object reusing in Flink SQL
Hi community, I have read a blog named <> [1], which says enabling object reuse can greatly improve performance of Blink Planner. But as I see in the code (v1.14), there’s few occurrences of controllable object reusing in Flink SQL-related modules. What’s more, when enabling object reuse, the planner deep-copies the objects (e.g. in `CommonExecLookupJoin`), which is just opposite to the shallow-copy behavior in DataStream API. The generated code is always the same, regardless of the setting. Am I missing something? Or the behavior changed during version update? Many thanks. [1] https://www.ververica.com/blog/a-journey-to-beating-flinks-sql-performance