Remedy with Smart IT: How To Enable Subquery In Smart IT To Improve Overall Performance INCLUDES VIDEO
Knowledge Article
Remedy with Smart IT: How To Enable Subquery In Smart IT To Improve Overall Performance INCLUDES VIDEO
By default in Remedy uses an algorithm called "combined likes" which for each permission group in your permissions and for each field on the form in question that is a permission field it does an "OR". There is another alternative as delimited in KA Smart IT Dashboard slowness causes unresponsive system where it is suggested to set parameter Disable-New-RLS-Implementation to F when false, instead of doing "combined likes" the query uses regex aka regular expressions statements for dynamic group permissions. (RLS split). RLS Split tends to improve performance for some customers but makes poorer performance for others so a they have come up with a new algorithm.
Remedy with Smart IT
Remedy with Smart IT
Smart IT 19.02 and Dev Studio 19.08 and upwards
ITSM 19.02 and upwards
This is an alternative method to increase performance with RLS.
By default in Remedy uses an algorithm called "combined likes" which for each permission group in your permissions and for each field on the form in question that is a permission field it does an "OR". There is another alternative as delimited in KA Smart IT Dashboard slowness causes unresponsive system where it is suggested to set parameter Disable-New-RLS-Implementation to F when false, instead of doing "combined likes" the query uses regex aka regular expressions statements for dynamic group permissions. (RLS split). RLS Split tends to improve performance for some customers but makes poorer performance for others so a they have come up with a new algorithm. Which is the Subquery one.
Prerequisites for this are at least:
AR Server must be 19.02 or later (For 19.02 specifically you will require to follow this KA: RLS Subquery Algorithm - Controlled Release 000171691)
Ensure AR System tablespace has enough space to increase tablespace or have it set to auto extend
Identify all forms that needs to be adapted for RLS functionality as well as the view.
For example on the SHR:Union_ConfigurationConsole form you may need to convert the 'Overview Console', 'Smart IT Ticket Console' and the 'Smart IT Social' tables not only do you need to convert all of the forms listed on those 3 but you also need to convert the view itself which is.
SHR:Union_OverviewConsole (overview console) SMT:Social_WorklogView (smart it social) SMT:UnionSmartIT_TicketConsole (smart it ticket console)
Old combined 'LIKES' algorithm can cause performance issues in big environments
This knowledge article may contain information that does not apply to version 21.05 or later which runs in a container environment. Please refer to Article Number 000385088 for more information about troubleshooting BMC products in containers.
VIDEO
Open Dev Studio (19.08 or later)
To determine what forms need to be updated. Open “SHR:Union_ConfigurationConsole” form and set “Implementation Area” = "Overview Console", take note of all the forms listed in the table Source Forms. Then set “Implementation Area” = "Smart IT Ticket Console", take note of all the forms listed in the table Source Forms. Then set “Implementation Area” = "SmartIT Social", take note of all the forms listed in the table Source Forms.
Open each of the form noted above, as well as SHR:Union_OverviewConsole (overview console) SMT:Social_WorklogView (smart it social) SMT:UnionSmartIT_TicketConsole (smart it ticket console) as they ALL need to be modified and go to the Definitions Tab
Change the Overlay Type to Overwrite
3. Change the algorithm to 'subquery'
NOTE: Migration time will depend on volume of records in table
A) Monitor "RLS Migration Pending" form for data movement to S table. Once the form is empty then the migration is complete
Do not update this form manually- it is used to resume migration if server is stopped
Also you will see entries in arerror.log as each form completes
Result of RLS Migration after complete Additional S tables will be created for each table
Example CTM:People is T 1383 RLS conversion table is S1383
select schemaid, name from arschema where name = 'CTM:People'
select count(*) from T1383 3873223 select count(*) from S1383 11526048
Migration Troubleshooting
Error while processing migration for form SMT:Social_FollowConfig.
Stopping migration process
INFO - com.bmc.arsys.domain.etc.ARException: ERROR (552): The SQL database operation failed.; ORA-01654: unable to extend index ARADMIN.PK_S4017 by 128 in tablespace ARSYSTEM
Extend tablespace ARSYSTEM
To restart Migration
Go to RLS Migration Pending Table
Look for remaining Entries in table select
Click Resume Migration = Yes
Save
4.- For UNION form after Migration rebuild Union Consoles - Open “SHR:Union_ConfigurationConsole” form and select Union form name from “Implementation Area” drop down. Click on “Build/Rebuild Database Union Structure” 5.- Pop up will display Union was rebuild successfully. Make sure any rebuild success message you receive includes the 'with RLS View' part, as highlighted below. If that is not present, this would suggest that the S-views are not build. One condition the workflow checks before building the S-views is that all registered forms for the Union have their Security (S)-table. If one or more of the registered forms does not have this S-Table, the workflow to build the S-views is skipped.
The attachment of this article includes SQL that can help to quickly build queries to check for the existence of the required S-tables for all registered forms for the union that is being rebuild. The output of the query would include SELECT statements for each registered form (using the relevant schemaId), which can then be used against the database to check if that S-table exists. A Readme is included with the attachments, explaining how to use the SQL.
**Important** to get a list of forms to add subquery to open the form above " SHR:Union_ConfigurationConsole " and look in the field Source forms. ALL of the forms listed need to be modified. This list may vary based on customer's customizations (example: custom form may have been added).