Version 2020

Automatically Resend Failed Statistics Messages

When the connection between Intelligence Server and Telemetry Server is lost, the statistics telemetry messages will be lost for consumption by Platform Analytics. Enabling this feature will save the failed statistics message to disk when the connection is lost. The Intelligence Server can then resend the saved statistics messages to Telemetry Server when the connection reestablished.

How to Enable/Disable Automatic Resending

The feature is enabled by default in MicroStrategy 2020. It can be turned off through a feature flag "Automatically Resend Failed Messages to Platform Analytics". The feature flag will only be available after you upgrade the metadata to the 2020 version.

The feature flag is controlled via Command Manager with the following scripts:

  • To check the feature flag status run:

    LIST ALL FEATURE FLAGS;

  • To turn on the feature flag run:

    ALTER FEATURE FLAG "Automatically Resend Failed Messages to Platform Analytics" ON;

  • To turn off the feature flag run:

    ALTER FEATURE FLAG "Automatically Resend Failed Messages to Platform Analytics" OFF;

To verify that failed statistics messages are being captured by this feature:

  • If this feature is enabled and connection between Intelligence Server and Telemetry Server is lost, and statistics messages are produced, the KFKProducerError.log file will contain messages like:

    • 2019-10-29 08:52:54.675[HOST:env-168909laiouse1][PID:8701][THR:139814881539840] Open file /opt/mstr/MicroStrategy/log/FailedSentOutMessages/KafkaFailMessage_1 for storing fail messages.
  • When connection between Intelligence Server and Telemetry Server is reestablished, and IServer has started to process the failed messages from disk, the KFKProducerError.log file will contain messages like:

    • 2019-10-29 08:52:54.675[HOST:env-168909laiouse1][PID:8701][THR:139814881539840] Start processing fail messages in file /opt/mstr/MicroStrategy/log/FailedSentOutMessages/KafkaFailMessage_1 .
    • 2019-10-29 08:52:54.675[HOST:env-168909laiouse1][PID:8701][THR:139814881539840] Finish processing 4 fail messages in the file.
  • The FailedSentOutMessages has been created and contains the KafkaFailMessage_1 file.

Feature Behavior

Intelligence Server will create a folder named "FailedSentOutMessages" in the same folder as DSSError.log file. By default this is:

  • Windows: C:\Program Files (x86)\Common Files\MicroStrategy\Log
  • Linux: /opt/MicroStrategy/log

When the connection between Intelligence Server and Telemetry Server fails, Intelligence Server will save the failed statistics messages in the folder as DSSError log files such as KafkaFailMessage_1, KafkaFailMessage_2, etc.

When the connection between Intelligence Server and Telemetry Server is re-established, Intelligence Server will start to read the log file which starts with the smallest number. Intelligence Server will try to reconnect to Telemetry Server every 10 seconds, so once Telemetry Server is running, Intelligence Server can detect whether the connection can be established very quickly.

Once the file has been read by Intelligence Server, the file will be deleted from the disk.

Changing the file count limit

In MicroStrategy 2020 the file count limit is set to 2560 log files with a default file size limit of 4MB. The file count limit can be modified through the following registry setting:

KEY_LOCAL_MACHINE\SOFTWARE\MicroStrategy\Data Sources\CastorServer\KafkaProducer Fail Message File Count.

The default file size limit of 4MB cannot be changed, only the count limit of files can be changed.

Example

  • Linux: Open [HKEY_LOCAL_MACHINE\SOFTWARE\MicroStrategy\Data Sources\CastorServer] and add a new line:

    "KafkaProducer Fail Message File Count"=dword:00000010

  • Windows: Open [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MicroStrategy\Data Sources\CastorServer] and add a new DWORD value:

    "KafkaProducer Fail Message File Count"