Skip to content

Release Notes - kdb Insights Microservices 1.2.0

kdb Insights Microservices 1.2.0 release.

Release Date



Storage Manager & Data Access

[NEW] Ability for Data Access tiers (RDB, IDB, HDB) to share compute resources by using mountList within Assembly configuration rather than mountName.

Stream Processor

[NEW] MQTT QoS 0 Reader has been added.

Known Issues

  • If you request too much data in a single getData(), the request will fail. To overcome this issue you should request less data per getData() call. The error message returned will look like the example below
   {"header":{"http":"json","corr":"6dd8f0c5-1895-49c9-a87a-636a834af370","logCorr":"6dd8f0c5-1895-49c9-a87a-636a834af370","client":":","api":".kxi.getData","protocol":"gw","numRP":1,"ogRcID":"","to":"2022-04-07T11:41:35.717000000","retryCount":0,"rc":42,"ac":10,"ai":"Agg died"},"payload":[]}
  • cannot be run in a pipeline to query an Insights database. The following example code can be used as a workaround to query data (ex. reference data to be used within a pipeline).
if[0 <> hdr`ac;
    .sp.log.error ("Query failed host=%s, api=%s, code=%n, error=%s";hdr`gw; hdr`api; hdr`ac; hdr`ai)];
publish data
.qsp.onStart {
    h:hopen hsym `$.spenv.getReleaseName[],"-sg-gateway:5050";
    res: neg[h] (`.kxi.getData; (enlist `table)!(enlist `instruments); `onResponse; ()!());
}[`publish] .qsp.write.toConsole[]
  • If metrics reporting is enabled within a microservice, along with the handler for, services calling through the with 0(f;x) will throw a type error due to a failure in the handler to return correctly. The workaround if metrics reporting is enabled is to disable the event handler in the metrics configuration for all microservices.
"metrics": {
    "enabled": "true",
    "frequency": 5,
    "handler": {
        "pc": true,
        "pg": true,
        "ph": true,
        "po": true,
        "pp": true,
        "ps": false,
        "ts": true,
        "wc": true,
        "wo": true,
        "ws": true

Upgrade considerations

  • If using a kdb+ tick tickerplant, the schema for database signals has changed to the following, which must be updated in the tick sym.q
(`$"_prtnEnd") set ([] time:"n"$(); sym:`$(); signal:`$(); endTS:"p"$(); opts:());
(`$"_reload") set ([] time:"n"$(); sym:`$(); mount:`$(); params:(); asm:`$())


Service Discovery

microservice Docker Helm Chart
Discovery Registry
Discovery Proxy

Stream Processor

microservice Docker qpk

Data Access

microservice Docker
Data Access Process (DA)
Single container

Storage Manager

microservice Docker
Storage Manager
End of Interval (EOI)
End of Day (EOD)
Database Migration (DBM)
Single Container

Service Gateway

microservice Docker
Resource Coordinator

User interface

microservice Docker Helm Chart

Machine Learning

microservice package
ML Registry
ML Analytics


microservice Docker package
Metrics Sidecar
OpenAPI SDK Generator