orchestrator
2023.4
false
UiPath logo, featuring letters U and I in white
Orchestrator Installation Guide
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated Oct 3, 2024

Before you upgrade

Important:

If you use Active Directory (AD) and are planning on upgrading to 2023.4.0, we highly recommend that you skip straight to the 2023.4.3 version, as 2023.4.0, 2023.4.1 and 2023.4.2 are impacted by an AD issue.

Please make sure to perform these steps before an upgrade from 2023.4 to 2023.4+. They help ensure that, once the upgrade is done, you can get started in no time, with zero issues.

  1. Back up your database to remove any data loss risks.

  2. Run the pre-upgrade database maintenance script below.

    This script removes all expired or consumed grants from the database. This helps speed up the [identity].[PersistedGrants] primary key and index re-creation, and, as such, the database migration.
    DECLARE @Now DATETIME2 = GETUTCDATE()
    DECLARE @ConsumedGrantsGracePeriod DATETIME2 = DATEADD(hour, -2, @Now)
    
    DECLARE @ConsumedDeleted int = 1
    DECLARE @ExpiredDeleted int = 1
    DECLARE @BatchSize int = 500
    DECLARE @ConsumedBatchesDeleted int = 0
    DECLARE @ExpiredBatchesDeleted int = 0
    
    SET LOCK_TIMEOUT 0
    SET DEADLOCK_PRIORITY LOW
    
    WHILE (@ConsumedDeleted=1 OR @ExpiredDeleted=1)
    BEGIN
    
      IF @ConsumedDeleted=1
      BEGIN
        BEGIN TRY
          DELETE TOP(@BatchSize) FROM [identity].[PersistedGrants] WHERE [ConsumedTime] IS NOT NULL AND [ConsumedTime] < @ConsumedGrantsGracePeriod AND [Type] <> 'reference_token'
          IF @@ROWCOUNT = 0
            SET @ConsumedDeleted=0
    	  ELSE
    	    SET @ConsumedBatchesDeleted = @ConsumedBatchesDeleted + 1
    	END TRY
    	BEGIN CATCH
    	  PRINT 'Failed to delete consumed grants'
    	END CATCH
      END
    
      IF @ExpiredDeleted=1
      BEGIN
        BEGIN TRY
          DELETE TOP(@BatchSize) FROM [identity].[PersistedGrants] WHERE [Expiration] < @Now AND [Type] <> 'reference_token'
    	  IF @@ROWCOUNT = 0
    	    SET @ExpiredDeleted=0
    	  ELSE
    	    SET @ExpiredBatchesDeleted = @ExpiredBatchesDeleted + 1
    	END TRY
    	BEGIN CATCH
    	  PRINT 'Failed to delete expired grants'
    	END CATCH
      END
    
      PRINT 'Consumed batches deleted: ' + CONVERT(nvarchar(32), @ConsumedBatchesDeleted)
      PRINT 'Expired batches deleted: ' + CONVERT(nvarchar(32), @ExpiredBatchesDeleted)
    
      -- Wait for 10 seconds between deletes
      IF (@ExpiredDeleted=1 OR @ConsumedDeleted=1)
        WAITFOR DELAY '00:00:05.000'
    
    ENDDECLARE @Now DATETIME2 = GETUTCDATE()
    DECLARE @ConsumedGrantsGracePeriod DATETIME2 = DATEADD(hour, -2, @Now)
    
    DECLARE @ConsumedDeleted int = 1
    DECLARE @ExpiredDeleted int = 1
    DECLARE @BatchSize int = 500
    DECLARE @ConsumedBatchesDeleted int = 0
    DECLARE @ExpiredBatchesDeleted int = 0
    
    SET LOCK_TIMEOUT 0
    SET DEADLOCK_PRIORITY LOW
    
    WHILE (@ConsumedDeleted=1 OR @ExpiredDeleted=1)
    BEGIN
    
      IF @ConsumedDeleted=1
      BEGIN
        BEGIN TRY
          DELETE TOP(@BatchSize) FROM [identity].[PersistedGrants] WHERE [ConsumedTime] IS NOT NULL AND [ConsumedTime] < @ConsumedGrantsGracePeriod AND [Type] <> 'reference_token'
          IF @@ROWCOUNT = 0
            SET @ConsumedDeleted=0
    	  ELSE
    	    SET @ConsumedBatchesDeleted = @ConsumedBatchesDeleted + 1
    	END TRY
    	BEGIN CATCH
    	  PRINT 'Failed to delete consumed grants'
    	END CATCH
      END
    
      IF @ExpiredDeleted=1
      BEGIN
        BEGIN TRY
          DELETE TOP(@BatchSize) FROM [identity].[PersistedGrants] WHERE [Expiration] < @Now AND [Type] <> 'reference_token'
    	  IF @@ROWCOUNT = 0
    	    SET @ExpiredDeleted=0
    	  ELSE
    	    SET @ExpiredBatchesDeleted = @ExpiredBatchesDeleted + 1
    	END TRY
    	BEGIN CATCH
    	  PRINT 'Failed to delete expired grants'
    	END CATCH
      END
    
      PRINT 'Consumed batches deleted: ' + CONVERT(nvarchar(32), @ConsumedBatchesDeleted)
      PRINT 'Expired batches deleted: ' + CONVERT(nvarchar(32), @ExpiredBatchesDeleted)
    
      -- Wait for 10 seconds between deletes
      IF (@ExpiredDeleted=1 OR @ConsumedDeleted=1)
        WAITFOR DELAY '00:00:05.000'
    
    END
  3. Migrate your classic folders to modern folders, so as to ensure uninterrupted executions.

    These are the changes that you can expect at this point in the classic folders removal process.

Was this page helpful?

Get The Help You Need
Learning RPA - Automation Courses
UiPath Community Forum
Uipath Logo White
Trust and Security
© 2005-2024 UiPath. All rights reserved.