Blizzard / Blizzard/node-rdkafka

Node.js 26 support: native build fails (NAN vs new V8 GetAlignedPointerFromInternalField)

Open
#1,145 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
2.2k
Forks
403
PR merge metrics
No merged PRs in 30d

Description

### Environment
- **node-rdkafka:** 3.6.1 (latest)
- **Node.js:** 26.4.0 (V8 14.x)
- **OS:** Linux (Ubuntu, GitHub Actions `ubuntu-latest`) and macOS
- **node-gyp:** 11.4.2

### Problem
`node-rdkafka@3.6.1` fails to compile from source on Node.js 26. Node 26's V8 changed the signature of `GetAlignedPointerFromInternalField` (it now takes additional arguments), and the bundled NAN-based bindings don't compile against it:

```
/home/runner/.cache/node-gyp/26.4.0/include/node/v8-object.h:558:26:
note: candidate expects 3 arguments, 1 provided
...
make: *** [node-librdkafka.target.mk:129: Release/obj.target/node-librdkafka/src/binding.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! node -v v26.4.0
gyp ERR! node-gyp -v v11.4.2
gyp ERR! not ok
```

There is also no prebuilt binary published for Node 26 (ABI 137), so installs fall back to a source build and fail.

### Impact
Any project on Node 26 (the current release; Active LTS on 2026-10-28) cannot `npm/yarn install` node-rdkafka, which blocks CI, container base images, and runtime.

### Ask
Could node-rdkafka add Node.js 26 support — either by updating/replacing the NAN usage (NAN is the root cause here; migrating the bindings to Node-API / node-addon-api would be forward-compatible across V8 changes) and/or publishing Node 26 prebuilds?

Related upstream context on the same NAN/V8 break: nodejs/node#61174.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing npm or yarn installation on Node.js 26 and inspect the failure around node-librdkafka.target.mk:129 and the bundled NAN bindings. Done means node-rdkafka installs successfully from source on Node.js 26, with Node 26 prebuild availability addressed if that route is pursued.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
backend, build-system
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.