Gemfire - 如何 restrict/limit 区域的 OQL 查询

Gemfire - How to restrict/limit OQL queries for a region

一些用户正在为在巨大区域中触发内存不足错误的区域执行 OQL。单独对查询进行排序会触发内存不足错误。

是否有任何配置来天气限制内存占用或禁止特定区域的查询?

据我所知,没有具体的方法来限制查询的内存消耗。

但是,您可以使用其他选项来使集群对这些情况更具弹性(除了显而易见的选项:教育您的用户不要在大区域上执行 SELECT * 之类的操作):

  1. 配置 Geode Resource Manager, which allows Geode to automatically cancel running queries whenever the memory is above a pre-configured threshold (see here).
  2. 部署自定义 SecurityManager 进行身份验证和授权,并为您的用户谨慎分配 DATA:READ:RegionName 权限。启用安全性后,尝试针对特定 RegionName 执行 OQL 查询的用户需要具有 DATA:READ:RegionName ResourcePermission assigned, so you can decide before hand to whom give this privileges. More details here.