Skip to content

BLPAPI warning: Invalid dateortime wire value on LAST_UPDATE_ALL_SESSIONS_RT after bdp/bdtick + subscribe #293

Description

@m3ridian-zero

Description

When subscribing to live market data on an engine that has previously made bdp or bdtick calls, BLPAPI emits a warning from its C++ event parser:

WARN blpapi_subscriptioneventparser.cpp:346 blpapi.subscriptioneventparser
Invalid dateortime wire value: 20159615
{ FieldName=LAST_UPDATE_ALL_SESSIONS_RT ParentField=MarketDataEvents }
Events skipped since last log: 0

The field LAST_UPDATE_ALL_SESSIONS_RT is not explicitly requested — it arrives as part of Bloomberg's automatic metadata in subscription events. The value 20159615 appears to be a malformed date (would decode to 2015-96-15, invalid month).

Reproduction

import xbbg from "xbbg/js-xbbg";

const engine = await xbbg.connect({ host: "localhost", port: 8194 });

// Step 1: Make any reference data call first
await engine.bdp(["ES1 Index"], ["LAST_PRICE"]);

// Step 2: Make any tick history call
const now = new Date();
const fiveMinAgo = new Date(now.getTime() - 5 * 60 * 1000);
await engine.bdtick("ES1 Index", {
  start: fiveMinAgo.toISOString().slice(0, 19),
  end: now.toISOString().slice(0, 19),
});

// Step 3: Subscribe — warning fires on first event batch
const sub = await engine.subscribe(
  ["ES1 Index", "NQ1 Index"],
  ["LAST_PRICE", "BID", "ASK", "VOLUME"],
);

for await (const table of sub) {
  // Warning appears here on first iteration
  break;
}

Key condition: The warning only appears when subscribe() is called on an engine that has already performed bdp/bdtick calls. A fresh engine that only calls subscribe() does not trigger the warning.

Impact

  • The subscription continues to function — ticks are still delivered after the warning
  • The warning is emitted by the native BLPAPI C++ layer (blpapi_subscriptioneventparser.cpp:346), not by js-xbbg user code
  • It cannot be suppressed or filtered from the JavaScript side

Environment

  • xbbg: github:alpha-xone/xbbg#2e23c28
  • Runtime: Bun 1.3.10 (macOS arm64)
  • Bloomberg Terminal running on Windows VM, connected via TCP proxy on port 8194

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions