Release Notes#

January 8, 2025 4:00PM PT - 2025.1.4-3b307911#

New Features and Enhancements#

  • You can now manually suspend an engine using the new api.suspend_engine() procedure. For example, the following suspends an engine named my_engine:

    #CALL relationalai.api.suspend_engine('my_engine');
    

    See Engine Suspension for more information.

  • Error messages for api.get_data_stream() have been improved. When background tasks necessary for processing stream updates are not running, you will now see an error message that includes instructions for resolving the issue.

  • A new value for the DATA_STREAM_SYNC_STATUS column returned by api.get_data_stream() has been added. The value NOT_INITIALIZED indicates that Snowflake objects, such as tasks, that are required by the stream are missing or configured incorrectly. To resolve this issue, delete the data stream and recreate it.

  • A new compute pool for the RAI Native App has been created named RELATIONAL_AI_COMPILE_CACHE_SPCS with instance family HIGHMEM_X64_M. This compute pool is reserved for internal app purposes and has been added to avoid situations where all available nodes in engine compute pools are occupied by user engines. There is no impact to cost associated with this change.

Bug Fixes#

  • Fixed a bug that caused the RAI SPCS Service to fail to start if you have the Snowflake ERROR_ON_NONDETERMINISTIC_UPDATE parameter set to TRUE.

  • Fixed a bug that caused some users to see empty results the second time a query is run.

  • Fixed a bug that caused data streams to remain in a SYNCING state if the CDC Service is disabled before the stream is synchronized.

  • Fixed a bug that caused some data streams to become SUSPENDED when updates to multiple streams must be processed simultaneously.

  • Fixed a bug that caused internal engines used by the RAI Native App to suspend periodically, which could lead to unexpected behavior.


December 21, 2024 4:30PM PT - 2024.12.16-9486a276-4#

NOTE

This is the last release of 2024. Weekly releases will resume on January 8, 2025.

Bug Fixes#

  • Fixed an issue in the 2024.12.16-9486a276 release related to comparing fixed decimals and integers.

December 18, 2024 4:00PM PT - 2024.12.16-9486a276#

New Features and Enhancements#

  • You may now optionally specify which underlying RAI Native App resources are dropped when you call the app.deactivate() procedure. For example, the following deactivates the app and drops the app’s warehouse:

    #CALL relationalai.app.deactivate('warehouse')
    

    Supported options are:

    • 'all'
    • 'warehouse'
    • 'compute_pool'
    • 'relational_ai_service'

    The default value is NULL, which means no resources are dropped. This is consistent with the behavior of app.deactivate() prior to this release.

  • The STATUS column in the api.engines view and the table returned by the api.get_engine() procedure now shows the status UPGRADING if an engine is currently being upgraded.

  • Query performance on engines that are resumed after having been suspended has been slightly improved.

Bug Fixes#

  • The api.engines view no longer returns a row for an engine named compcache. The compcache resource may not be used as an engine and is reserved for internal use by the RAI Native App.

  • When an engine compute pool is at capacity and you attempt to create an engine with an existing name, you will now see an engine already exists error instead of a compute pool at capacity error.

  • Fixed a bug that occasionally caused the app.activate() procedure to fail due to attempting to communicate with the RAI SPCS Service before it was available.

  • Fixed a bug that caused some users to see the following error:

    #Object 'RELATIONALAI.APP_STATE.RAI_DATABASE_SOURCES' does not exist or not authorized.
    

December 11, 2024 4:00PM PT - 2024.12.8-1ddd4a93-2#

Behavior Changes#

  • New engines now auto-suspend after one hour of inactivity. Previously, auto-suspension was disabled by default for manually created engines and enabled by default for those created via the RAI Python API. Existing engines keep their current settings. Use alter_engine_auto_suspend_mins() to update an engine’s configuration. See Engine Suspension for details.

  • The RAI Native App is now limited to 10,000 concurrently executed RAI models. Previously, there was no limit. This limit is not expected to occur in practice.

New Features and Enhancements#

  • Improved query performance for RAI models with unchanged source data. This reduces time spent on the Preparing your data... spinner in notebooks and REPLs.

  • Enhanced CDC service error messages:

    • Transactions sent to the CDC engine during an upgrade now return an error indicating the engine is upgrading instead of being suspended or deleted.

    • Attempts to enable or disable CDC while the RAI Native App is deactivated return an error that reflects the app’s state and includes instructions to activate the app.


December 4, 2024 4:00PM PT - 2024.11.30-7b90c864#

New Features and Enhancements#

  • The CDC Engine now autosuspends after thirty minutes of activity and is automatically resumed when changes to a data stream’s source data are detected or a new data stream is created. As part of this change, the CDC engine is now suspended when the CDC service is disabled and resumed (or, if needed, created) when the CDC service is enabled. Previously, the CDC engine was deleted if you disabled the CDC service.
  • The timeout for provisioning an engine has been reduced from thirty minutes to twenty minutes.
  • Engine names now require a minimum of three characters. If you pass a name with fewer than three characters to the api.create_engine() procedure, you will get the following error: invalid engine name - valid characters are a-z, A-Z, 0-9, and _, name must be between 3 and 50 characters long.

November 27, 2024 4:00PM PT - 2024.11.25-3438f573-2#

New Features and Enhancements#

  • Improved error messages in various resource management edge cases, including when the warehouse runs out of capacity and when warehouses are deleted mid-run.
  • Improved error messages when a transaction is aborted due to extremely large rule-sets.

Bug Fixes#

  • Engine upgrade failures during initialization are now better handled.

Deprecations and Removals#

  • The deprecated app.setup_cdc() procedure has been removed. The work that this procedure was responsible for is performed by app.resume_cdc().

November 22, 2024 12:00PM PT - 2024.11.17-087db490-1#

Bug Fixes#

  • Fixes an issue that caused an some engines to experience an unrecoverable engine is upgrading error when an engine upgrade failed to initialize.

November 20, 2024 4:00PM PT - 2024.11.17-087db490#

New Features and Enhancements#

  • In version 2024114-2a37e311-1, we changed the instance family for the RELATIONAL_AI_ERP_COMPUTE_POOL provisioned by new RAI Native App installs to CPU_X64_XS instead of CPU_X64_S.

    In this release, older apps with CPU_X64_S compute pools will be automatically migrated to CPU_X64_XS. This reduces the number of Snowflake credits consumed by the application without affecting performance.

Bug Fixes#

  • Changes to a data stream’s source object’s columns will now result in the stream being quarantined instead of leaving the stream in a broken state. You may resume the quarantined stream to synchronize the schema changes with models built using the RAI Python API.
  • A transaction metadata not found error is no longer raised when a transaction is aborted.

Deprecations and Removals#

  • The deprecated relationalai.app.finalize_install() procedure has been removed. The work that this procedure was responsible for is performed by app.activate().

November 13, 2024 4:00pm PT - 2024.11.10-4f524894#

New Features and Enhancements#

You can now configure engines to automatically suspend after a period of inactivity:

  • The api.create_engine() procedure has a new engine_config parameter that accepts a JSON object, like {'auto_suspend_mins': 60, 'await_storage_vacuum': false}, for configuring how many minutes an engine must be inactive before being suspended and whether or not garbage collection tasks must complete before suspending the engine. If engine_config is NULL, the engine is configured with auto_suspend_mins set to 0, and the engine will not be automatically suspended.

  • The default value for auto_suspend_mins will change from 0 to 60 minutes in a future release. To avoid unexpected behavior, we recommend creating engines with an explicit auto_suspend_mins value. Beginning with version 0.6.0 of the RAI Python API, engines auto-created by the API will be configured with auto_suspend_min set to value of the auto_suspend_min configuration key, or 60 minutes if the key is missing.

  • An api.alter_engine_auto_suspend_mins() procedure has been added to alter an existing engine’s auto_suspend_mins configuration parameter. Note that this procedure only works for engines created using the new api.create_engine() procedure mentioned above.

  • Use the new api.resume_engine() procedure to resume a suspended engine. Beginning with version 0.6.0 of the RAI Python API, suspended engines will be resumed automatically when Python queries are executed.

  • The api.engines view, as well as the table returned by api.get_engine(), now include an AUTO_SUSPEND_MINS and AWAIT_STORAGE_VACUUM columns that contain the configured values for each engine. The new SUSPENDS_AT column shows the timestamp of the next scheduled suspension for inactive engines.

Fixes#

  • Fixed a bug that periodically resumed the app warehouse while the Native App was deactivated.

NOTE

For release notes of versions released prior to November 13, 2024, please refer to the RAI Native App GitHub repository.