Skip to content

Library does not handle subscriptions to data/ChangeEvents #34

@eltoroit

Description

@eltoroit

Although, I can subscribe to the generic CDC event data/ChangeEvents, when it receives the notification it's not able to handle it.

I am getting this error:

Connected to Pub/Sub API endpoint api.pubsub.salesforce.com:7443
Subscribe request sent for 100 events from /data/ChangeEvents...
Received 6 events, latest replay ID: 1762404
node:internal/process/promises:289
            triggerUncaughtException(err, true /* fromPromise */);
            ^

Error: 3 INVALID_ARGUMENT: Schema validation failed. The schema ID can't be blank. rpcId: 08e6cf95-ce52-4389-8e26-e902caee0c17
    at callErrorFromStatus (/Users/aperez/Git Projects/current/ARC101/2024/grpc/node_modules/@grpc/grpc-js/build/src/call.js:31:19)
    at Object.onReceiveStatus (/Users/aperez/Git Projects/current/ARC101/2024/grpc/node_modules/@grpc/grpc-js/build/src/client.js:193:76)
    at Object.onReceiveStatus (/Users/aperez/Git Projects/current/ARC101/2024/grpc/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:360:141)
    at Object.onReceiveStatus (/Users/aperez/Git Projects/current/ARC101/2024/grpc/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:323:181)
    at /Users/aperez/Git Projects/current/ARC101/2024/grpc/node_modules/@grpc/grpc-js/build/src/resolving-call.js:129:78
    at process.processTicksAndRejections (node:internal/process/task_queues:77:11)
for call at
    at ServiceClientImpl.makeUnaryRequest (/Users/aperez/Git Projects/current/ARC101/2024/grpc/node_modules/@grpc/grpc-js/build/src/client.js:161:32)
    at ServiceClientImpl.<anonymous> (/Users/aperez/Git Projects/current/ARC101/2024/grpc/node_modules/@grpc/grpc-js/build/src/make-client.js:105:19)
    at file:///Users/aperez/Git%20Projects/current/ARC101/2024/grpc/node_modules/salesforce-pubsub-api-client/dist/client.js:1029:20
    at new Promise (<anonymous>)
    at #fetchEventSchemaFromIdWithClient (file:///Users/aperez/Git%20Projects/current/ARC101/2024/grpc/node_modules/salesforce-pubsub-api-client/dist/client.js:1028:12)
    at Object.callback (file:///Users/aperez/Git%20Projects/current/ARC101/2024/grpc/node_modules/salesforce-pubsub-api-client/dist/client.js:1012:76)
    at Object.onReceiveStatus (/Users/aperez/Git Projects/current/ARC101/2024/grpc/node_modules/@grpc/grpc-js/build/src/client.js:188:40)
    at Object.onReceiveStatus (/Users/aperez/Git Projects/current/ARC101/2024/grpc/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:360:141)
    at Object.onReceiveStatus (/Users/aperez/Git Projects/current/ARC101/2024/grpc/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:323:181)
    at /Users/aperez/Git Projects/current/ARC101/2024/grpc/node_modules/@grpc/grpc-js/build/src/resolving-call.js:129:78 {
  code: 3,
  details: "Schema validation failed. The schema ID can't be blank. rpcId: 08e6cf95-ce52-4389-8e26-e902caee0c17",
  metadata: Metadata {
    internalRepr: Map(6) {
      'content-type' => [ 'application/grpc' ],
      'error-code' => [ 'sfdc.platform.eventbus.grpc.schema.validation.failed' ],
      'rpc-id' => [ '08e6cf95-ce52-4389-8e26-e902caee0c17' ],
      'type' => [ 'GetSchema' ],
      'date' => [ 'Fri, 31 May 2024 12:47:32 GMT' ],
      'x-envoy-upstream-service-time' => [ '62' ]
    },
    options: {}
  }
}

Node.js v20.12.2

I think problem is here

const { schemaId } = response;

because the response does not have a schemaId.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions