chdb-io / chdb-node Goto Github PK
View Code? Open in Web Editor NEWNative NodeJS bindings for chDB, an in-process SQL OLAP Engine powered by ClickHouse
Home Page: https://chdb.io
License: Apache License 2.0
Native NodeJS bindings for chDB, an in-process SQL OLAP Engine powered by ClickHouse
Home Page: https://chdb.io
License: Apache License 2.0
Hi there,
We have a ClickHouse Cloud service in production and we're trying to use chdb-node
in our tests suite to simulate that service.
When running our tests suite we run into an issue where an exception is raised from the ClickHouse engine and we're having a hard time identifying what's wrong.
For each series of tests, we instantiate a new Session, perform some operations and then clean up the session.
After a few operations, we get the following error:
terminate called after throwing an instance of 'DB::Exception'
what(): Storage is about to be deleted. Done active task as if it was aborted.
Aborted (core dumped)
We also get the following one (but less often):
terminate called after throwing an instance of 'DB::Exception'
what(): Cancelled merging parts
Aborted (core dumped)
Configuration:
I'm curious if you guys ran into this issue in other context.
I also wrote a simple script that generates many sessions in series and for each session performs a few insert
and select
operations, and I didn't encounter the problem. So it could be something with our CI suite but so far I'm clueless.
I'm pretty positive I'm not deleting the session while it's been used but maybe I made a mistake.
Any pointers or ideas would be much appreciated. Also happy to re-post this somewhere else if it's more suitable there.
Thank you.
This is quite a simple issue, none of the examples in the README file work:
Example n°1:
const { query } = require("chdb");
const ret = query("SELECT version(), 'Hello chDB', chdb()", "CSV");
Will produce the following error: Uncaught Error: Error in native callback
.
Example n°2:
const { Session } = require("chdb");
const session = new Session("./chdb-node-tmp");
const ret = session.query("SELECT 123", "CSV")
Will make ret
have the value ''
(empty string).
Here's my environment:
OS: Mac OSX Ventura 13.2.1
Architecture: M1 Apple Silicone
Package Version: 1.1.2
Node.js Version: v18.4.0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.