laptop and a wrench

漏洞

When editing a parcel fabric service, the attribute rule performance is slower on ArcGIS Enterprise 10.9.x than on previous versions.

上次发布: October 1, 2022 ArcGIS GIS Server
漏洞 ID 编号 BUG-000148951
已提交May 3, 2022
上次修改时间June 17, 2025
适用范围ArcGIS GIS Server
找到的版本10.9
操作系统Windows OS
操作系统版本10.0 64 Bit
修正版本3.1
状态Fixed

附加信息

The way the attribute rule is authored is the main cause of the performance. The attribute rule loops through the entire `Property` layer looking for a property matching the edited feature name. What exacerbates the problem is the fact that the attribute rule is permitted to be executed in the client (Exclude from App Evaluation is unchecked). ArcGIS Pro first executes the rule locally before sending the applyEdits function, which means ArcGIS Pro needs to fetch all properties from the service, causing paging query requests defined by the maximum record size. The time to pull the class to the client is what takes most of the execution. Later, the applyEdits function is sent to the server to only repeat the same process to execute the attribute rule on the server side. The queries are faster due to querying the database directly. This can be avoided by rewriting the rule to push the where clause to the database, which should push the time to a sub-second. This attribute rule did, however, expose an optimization in Arcade when some of the fields are asked to be retrieved. The optimization fix was pushed to 11.1/3.1 but cannot be patched to older releases.

解决办法

Rewrite the attribute rule as follows: if ($originalfeature.Name != $feature.Name) { var newName = $feature.Name; var oid = $feature.OBJECTID; var Properties = FeatureSetByName($datastore, 'Branch.GIS.Property', ['OBJECTID'], false); var duplicates = Filter(Properties, 'RetiredByRecord IS NULL AND Name=@newName AND OBJECTID < > @oid') return false; } return true;

重现步骤

漏洞 ID: BUG-000148951

软件:

  • ArcGIS GIS Server

当漏洞状态发生变化时获得通知

下载 Esri 支持应用程序

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项