Converting old APM data to Kfuse 2.6.5 APM Service Identity format
Service Identity is introduced in Kfuse version 2.6.5 for APM stream. APM data ingested prior to 2.6.5 is incompatible and thus will not get rendered properly in the APM UI page. As part of Kfuse version 2.6.5 release, it includes an option to convert the older data to the current format. Note that the conversion process can take some time, depending on the size of data to convert. When enabled the conversion will run when pinot servers starts up and loads the segments.
Pre-conversion:
To enable the conversion, ensure that the custom_values.yaml
has the following configuration:
pinot:
traces:
serviceHashConversionEnabled: true
traces_errors:
serviceHashConversionEnabled: true
metrics:
serviceHashConversionEnabled: true
Disable KV Cardinality limit on Pinot Metrics Table
pinot:
metrics:
kvTotalCardinalityThreshold: 0
Increase heap allocated to Pinot Server Offline servers
Segment conversion requires memory. Temporarily double the memory configured for the Pinot server offline in custom_values.yaml
.
pinot:
server:
offline:
jvmOpts: "<Adjust the Xmx and Xms settings here>"
Reduce the helix threads to 10
Upgrade
Run the standard upgrade command with the updated
custom_values.yaml
. Refer to Upgrade | Upgrade command
Post-Upgrade
The upgrade includes changes to Pinot table configuration. Restart Pinot servers to ensure that the configuration gets picked up.
Conversion Status
Conversion of all Pinot segments can take some time to complete. From the Pinot controller UI console, the table segments status should reflect the loaded (converted) segments. Segments that are in
good
status are those that have been converted. Once all segments are in good state, then conversion has finished. The command below shows how to connect to Pinot controller.
Post-Conversion
After conversion has completed, revert the helix threads back to the default setting.
Revert back the cardinality threshold configuration and heap allocated to the Pinot server offline servers in
custom_values.yaml
Run the upgrade command again
Special Cases
To force a re-conversion of segments before the upgrade, delete the pinot-server-offline STS and PVC, and run the conversion steps. This will force older segments to be downloaded from deep store.