It looks like when running the neo4j driver with bun (bun index.ts or bun index.js ) the connection to the database times out. But when running with node (node index.js) it connects fine.
Here is my index.js
import neo4j from "neo4j-driver-lite";
import 'dotenv/config'
async function main() {
const NEO4J_URI = process.env.NEO4J_URI || "";
const NEO4J_USERNAME = process.env.NEO4J_USERNAME || "";
const NEO4J_PASSWORD = process.env.NEO4J_PASSWORD || "";
console.log(NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD);
const driver = neo4j.driver(NEO4J_URI, neo4j.auth.basic(NEO4J_USERNAME, NEO4J_PASSWORD));
const serverInfo = await driver.getServerInfo();
console.log(serverInfo);
}
main()
Output from bun index.js
*/
73 | function Neo4jError(message, code, cause) {
74 | var _this =
75 | // eslint-disable-next-line
76 | // @ts-ignore: not available in ES6 yet
77 | _super.call(this, message, cause != null ? { cause: cause } : undefined) || this;
^
Neo4jError: Connection acquisition timed out in 60000 ms. Pool status: Active conn count = 0, Idle conn count = 0.
code: "N/A"
output from node index.js
ServerInfo {
address: '<ommitted>.databases.neo4j.io:7687',
agent: 'Neo4j/5.11-aura',
protocolVersion: 5.3
}
Node version v20.3.1
Bun version 1.0.0
Driver version: Latest
Neo4j version: Latest
Same behaviour with neo4j-driver and neo4j-driver-lite
Is this already a known issue? I feel like if it was because the driver is using something in node that is not supported by Bun that there would be an error instead of a timeout.
It looks like when running the neo4j driver with bun (
bun index.tsorbun index.js) the connection to the database times out. But when running with node (node index.js) it connects fine.Here is my index.js
Output from
bun index.jsoutput from
node index.jsNode version v20.3.1
Bun version 1.0.0
Driver version: Latest
Neo4j version: Latest
Same behaviour with neo4j-driver and neo4j-driver-lite
Is this already a known issue? I feel like if it was because the driver is using something in node that is not supported by Bun that there would be an error instead of a timeout.