Is there any performance issue when enabling 'glide.script.partial_record_materializer.enabled' this property to true.

kalil
Tera Contributor

Hi, 

I am From Stellantis..

Is anyone find any performance issue after setting the system property called 'glide.script.partial_record_materializer.enabled'  to true.

Basically this sys property was used to populate all the fields and dot walking fields on the list view after upgrade to san diego lot of reports didn't populating the records properly, if we make the above mentioned property as to true it is populating the records.

If any answers about this , you are welcome for comments..

Thanks

Kalil

2 REPLIES 2

Johan M
Tera Contributor

Hello @kalil,

 

from ServiceNow support, they provided the next info about the 'glide.script.partial_record_materializer.enabled' sys property:

 

This property will allow the materialization of partial records.

To understand what the means let's first define what a partial record is. A partial record is a GlideRecord object that does not contain all the columns for the row it is representing. Meaning, if the GlideRecord is suppose to represent the "task" table and it only contains the columns, sys_created_on, sys_updated_on, sys_id, and sys_class_name then it is considered partial.

The next thing to do is understand what materialization of partial records means. To materialize a partial GlideRecord is to resolve all of the not represented columns. This is an on demand process that only happens once a column on GlideRecord is access that the partial GlideRecord does not have represented. To the caller of this, the GlideRecord will act seemlessly and will return the column asked for but under the hood, a query is done to materialize the column.

When should this be applied

Partial GlideRecords are only created when joins to another table are done and only part of row is returned. On the platform this manifest itself as a dot-walked table normally specified by the user via the UI.

If a user has logic that depends on a dotwalked field and that dotwalk field is logically not resolving correctly, application of this property may be in order.

I would expect an improvement of the performance instead of an issue. But I'm trying to find official documentation to be sure about that.

 

Regards!

Thomas Weyer
Tera Contributor

There's a few more bits of info at the end of the KB
Application of the system property glide.script.partial_record_materializer.enabled - Support and Tr...

This property is only set to false for upgrades and is set to true for new instances.

How to apply?
1. Set the property on the sys_properties table on sub-prod first.
2. Test to ensure behavior is resolved.
3. Ensure that no noticeable performance degradation appears. (performance can be circumstantial and different in every scenario.)