Affects Version/s: None
Fix Version/s: BLAZEGRAPH_RELEASE_1_5_2
This is a feature request to support a limit on the amount of native memory that can be used by the analytic query mode.
- Modify MemoryManager to accept the "blocks" boolean as a constructor argument. When blocks:=false, the MemoryManager will throw an out of memory exception. This will break queries that attempt to consume to much native memory.
- Add property (with a System property to override the default) that specifies the maximum amount of native memory that may be consumed by a query. When 0L there will be no limit.
- When the maximum amount of native memory is NOT 0L, then specify blocks:=false to AbstractRunningQuery.getMemoryManager(). This will cause queries that consume too much native memory to break with a MemoryManagerOutOfMemory exception.
- See AbstractRunningQuery.getMemoryManager()
- See PipelineOp.MAX_MEMORY (this is not quite the same concept since it specified the per-input-queue memory limit)