EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB486793: How to solve the Timeout Error "Unable to load the attribute definition. Error when building Intelligence Server session. Request timeout" when Editing Attributes in MicroStrategy Workstation by Generating a 512-bit Secret Key.


Rainiero Leon

Support Engineer • MicroStrategy


This article elaborates on Timeout Error "Unable to load the attribute definition. Error when building Intelligence Server session. Request timeout" when Editing Attributes in MicroStrategy Workstation after upgrading to MicroStrategy 2021 Update 12. There might be persistent timeout errors when editing an attribute in any project via Workstation. The article provides a detailed solution focusing on the generation of a stronger 512-bit secret key to overcome these timeout errors.

Symptom 

The error message "Unable to load the attribute definition. Error when building Intelligence Server session. Request timeout" is received while attempting to edit an attribute for any project via the Workstation Interface post upgrade to Strategy 2021 Update 12. Despite the properly configured Modeling service, the problem persisted, disrupting other related functionalities such as schema editing, creation of migration packages, and editing reports in the Strategy Workstation or Strategy Library.

Cause 

The issue originates from an inadequate secret key, which does not meet the security length requirements. An unusually short secret key length leads to persistent timeout errors when users attempt to edit an attribute in any project via the Workstation Interface. Usually, this issue often arises with newer Strategy versions. 

Solution 

The reported issue seems to be a product of a security improvement; the identity token secret key size should be at least 512 bits and base64 encoded to conform to the specifications of RFC7158 (3.2. HMAC with SHA-2 Functions). In on-premises environments, it is necessary to carry out a manual update of the invalid base64-encoded secret key for all related components. Below-listed components utilize this secret key as an integral part of their respective procedures. Therefore, there is a need to update each of these related components with the correct key.
Related Components:
- Modeling Service
- Library Web
- Strategy Web
- Collaboration Service
Execute the following steps to generate a robust 512-bit secret key as a workaround, which will replace the current insecure one:
1. Paste the code shown below into a text editor and name the file generate_token.py.


import os
import base64
import platform
def generate_token():

# Generate 64 bytes of random data (512 bits)
    random_bytes = os.urandom(64)
    # Encode the random bytes using base64
    encoded_token = base64.b64encode(random_bytes)
    # Convert bytes to string
    token = encoded_token.decode('utf-8')
    return token
def main():
    token = generate_token()
    print("Generated Token:", token)
if __name__ == "__main__":
    main()

2. Generate a 512-bit secret key using the Python script you just created.
3. Replace the secret key with the new key in the component's configuration file.
   - For Modeling Service, refer to Modeling Service Configuration Properties for the configuration file path.
   - For Library, refer to MicroStrategy Library Server Configuration Properties for the configuration file location.
   - For Strategy Web, check How to Enable Seamless Login Between Web and Library for the configuration parameter name.
   - For the Collaboration Service, refer to Collaboration Server Configuration Properties for the applicable configuration file path.
4. Restart the component.
5. Additionally, it is recommended to manually defining the Modelling Service URL in the Library admin by Selecting ‘specified URLs’, remember to include the port.
If the environment is clustered, repeat steps 3 and 4 on each clustered machine. The secret key must be identical on all cluster nodes.

Related Articles 

KB486418 - When Connecting to the Modeling service, an error appears
https://community.Strategy.com/s/article/KB486418-When-Connecting-to-the-Modeling-service-an-error-appears?language=en_US 

Disclaimer 

Customization Warning: This customization is provided as a convenience to Strategy users and is only directly applicable to the version stated. While this code may apply to other releases directly, Strategy Technical Support makes no guarantees that the code provided will apply to any future or previous builds. In the event of a code change in future builds, Strategy Technical Support makes no guarantee that an updated version of this particular customization will be provided. For enhancements to this customization or to incorporate similar functionality into other versions, contact your Account Executive to inquire about Strategy Consulting assistance.


Comment

0 comments

Details

Knowledge Article

Published:

June 28, 2024

Last Updated:

July 1, 2024