Ooyala Flex 6.0.6 Release Notes 2017-11-27


Ooyala Flex 6.0.6 is a maintenance release to fix issues found in production.

What's New

Ooyala Flex Publish - More resilient to Hazelcast failures

If Hazelcast fails, the Publish node does not function. Therefore, we now catch exceptions when we do operations on cache, and let the service continue its flow. When an exception is triggered by cache we assume that the record is not there, and we try to retrieve it from mongodb. Warnings about cache errors are logged, and the number of warnings has been increased.

Flex Enterprise - Context hierarchy to support levels of depth

For publish, we now reach levels of depth superior to the first level. This enhancement allows all child assets of the asset to be published in the hierarchy.

Flex Publish - Ability to do a transactional Publish of a hierarchy

Transactional publish is now an option on the current Publish plugin. If this new type of publish is run on a group asset, then all child assets/groups of the published group are also published.

A new option as a "destination adapter" has been added, called Alternate. This option, instead of removing the existing media file, creates a different one and removes the previous file only at the end of the process. The Alternate option currently only works along with the transactional publish. The default destination adapter remains the "copy".

Issues Fixed

Ooyala Flex Publish: Subaccount publish does not work when subaccount has its own token

If users created a metadata definition and assigned it to a subaccount that included the storage resource and token field for Publish, then that subaccount would have its own token for Publish.However, for a subaccount, the object would retrieve the assigned account ID, along with the parent account ID, and subaccount ID. Publish expects to receive the account ID that corresponds to the account provided, and because the provided token was the subaccount ID, Publish would fail.

Resolution: Now, when the subaccount has its own metadata and publish token, and the user publishes the assets, the account ID is set to the subaccount ID. If the subaccount is using the token from the parent account, you must set the account ID to the parent account ID..

Import with Copy to Azure results in Java heap space error

If several Import workflows were run in parallel (five or more), when trying to copy files to Azure, all workflows failed at the import step, with a Java heap space error.

Resolution: The heap memory issue no longer occurs.

Bugs in signalling workflows

When signalling a workflow via REST, if a user tried to update the value of an existing additional variable, a hibernate exception was thrown. Also, a workflow could not be signalled that had previously been signalled, even if the signal variable had been removed.

Resolution: When signalling a workflow via REST, the value of an existing additional variable can now be updated successfully without any exception. Also, a workflow can be signalled multiple times.

New publish metadata returns string (containing escaped json) rather than json data structure

API calls to the new publish module (Flex version 6.0.5) to get asset metadata details returned a string of escaped json rather than in json data structure.

Resolution: The correct output is now returned.

FQL - keywords sort, by, asc, desc do not work when used as part of the searched text. Searching for text containing the keywords sort, by, asc, desc did not work.

Resolution: These keywords can now be searched for.

Unpublish segmented media does not remove files from the publish location

Not all files were removed from the publish location when an unpublish action was run.

Resolution: All files are now deleted, as expected.

All Event Handler Launch jobs fail with Batch error

All Launch jobs triggered from event handlers failed with an Unexpected batch count error. Auto retry didn't work.

Resolution: The error no longer occurs.

Publish job is failing when "Transactional Publish" & "Publish Content Metadata" are set to YES

Although settings were correct, publish jobs were failing.

Resolution: This error no longer occurs.

Users get logged out intermittently and login page displayed with details not recognized message

Intermittently, users were logged out and redirected to the login page, with a message that their details not recognized. This issue occurred with both Enterprise and MAM.

Resolution: This problem was related to a timeout issue, which has now been resolved.

User not getting logged out as per time set in minutesToExpire

In MAM, users whose sessions had been inactive for the duration specified in the minutesToEXpire setting were not logged out, as they should have been.

Resolution: Users are now logged out after the specified period of inactivity.


Intermittent inability to scroll on "Manage Asset" metadata view

A scroll bar is usually displayed on the right side of the metadata panel when you hover over it, allowing the user to scroll down and view all metadata fields. Occasionally, the scroll bar was not displayed when the user hovered, so the user could not scroll down.

Resolution: The scrollbar is now always displayed in view and edit mode.

Bulk Action Add to Group doesn't return best match first - broken with over five similar group names

When a user tried to add an action to an existing group, the options given did not include the best match, and were limited to five choices.

Resoliution: The matches are now better.

Known Issues

Flex Authentication: Scaling, sharing and manage multiple session for all Flex Apps

Single authentication is being implemented, which will enable the following:
  • Manage a shared session/cookie via different apps (login/logout from different apps)
  • Http session replication and clustering
  • Allow users to have multiple sessions, one for each tab of browser

From now on the Authentication Provider (version 7.5.383) supports Hazelcast and Redis sessions. If a user authenticates with basic authentication, or with a token (when the user has sent their credentials once), then we store a Session Id in Redis with Spring Session and return it to the user for the following requests.

Every request is authenticated with Basic Authentication, and a HeaderHttpSessionStrategy / CookieHttpSessionStrategy is created to tell Spring to use an X-Auth-Token header to retrieve the session. Using Spring Session allows Flex AuthN to re-authenticate every request store from a Session ID in Redis. This Session ID is passed to the client after authenticating the first time, and from then on it can send this as a request header for all subsequent requests, which will verify that the user is authenticated.

The following properties can be changed on your services to configure the session store:
  • session.namespace - Configures a namespace for the session into the backing store cluster: useful when you want to associate different applications to the same sessions store (default: flex:sessions)
  • session.minutesToExpire - Configures the maximum number of seconds that a session can be persisted after inactivity (default: 30)
  • session.store - Configures the initial backing store for the session: possible values are redis and hazelcast (default: redis)
  • session.store.onError - Defines the application reaction to an error occurred while using the current backing store: possible values are doNothing, throwError, failOverToRedis, and failOverToHazelcast (default: failOverToHazelcast)
    Note: The property management.health.redis.enabled should be set to false if the property session.store.onError is set to failOverToHazelcast and there is no other use of Redis in the app.

Publish job stays in QUEUED state while running on 18K assets hierarchy

When running a Transactional Publish job on a hierarchy of 18K assets, the job stayed in the QUEUED state, and did not proceed further.


Service Version
flex-admin-app 2.0.456
flex-authentication-service 7.5.292 .1
flex-authorisation-service 2.3.315
flex-dataagreggation-service 1.4.377
flex-divarchive-service 2.1.325
flex-events-service 2.7.341
flex-fastobject-service 3.3.383
flex-forms-service 0.0.139
flex-imageproxy-service 3.2.301
flex-indexelastic-service 5.9.373.2
flex-mam-app 4.6.989.5-bugfix-4.6.989.5
flex-metadatadesigner-app 2.2.917
flex-metadatamerge-service 2.2.359
flex-outboundtransfer-service 2.0.219
flex-publish-service 9.3.386.19
flex-reviewer-app 3.1.433
flex-searchelastic-service 4.2.488.2
flex-streamprocessor-service 1.1.101
flex-tag-service 1.0.732
flex-thesaurus-service 0.1.797
flex-webtransfer-app 7.0.526
flex-workflowdesigner-app 7.1.219