Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09)

### Bug Fixes

- **docker:** Set UTF-8 locale environment variables to fix Python UnicodeEncodeError ([#10378](https://github.com/cube-js/cube/issues/10378)) ([104ff5f](https://github.com/cube-js/cube/commit/104ff5f732c80fe54945c959736db5493b4d2575))

### Features

- **cubesql:** Support forwards directions for FETCH statement ([#10377](https://github.com/cube-js/cube/issues/10377)) ([7cbafd5](https://github.com/cube-js/cube/commit/7cbafd541a88c1d244e67aa980c208ca7c0ea68a))
- Unify pool to make named timeout errors ([#10375](https://github.com/cube-js/cube/issues/10375)) ([bac3cd0](https://github.com/cube-js/cube/commit/bac3cd0f2f3f572fac037686ffa16a2e687fbcdc))

## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06)

### Bug Fixes
Expand Down
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "1.6.9",
"version": "1.6.10",
"npmClient": "yarn",
"command": {
"bootstrap": {
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-api-gateway/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09)

**Note:** Version bump only for package @cubejs-backend/api-gateway

## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06)

**Note:** Version bump only for package @cubejs-backend/api-gateway
Expand Down
10 changes: 5 additions & 5 deletions packages/cubejs-api-gateway/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@cubejs-backend/api-gateway",
"description": "Cube.js API Gateway",
"author": "Cube Dev, Inc.",
"version": "1.6.9",
"version": "1.6.10",
"repository": {
"type": "git",
"url": "https://github.com/cube-js/cube.git",
Expand All @@ -27,9 +27,9 @@
"dist/src/*"
],
"dependencies": {
"@cubejs-backend/native": "1.6.9",
"@cubejs-backend/query-orchestrator": "1.6.9",
"@cubejs-backend/shared": "1.6.9",
"@cubejs-backend/native": "1.6.10",
"@cubejs-backend/query-orchestrator": "1.6.10",
"@cubejs-backend/shared": "1.6.10",
"@ungap/structured-clone": "^0.3.4",
"assert-never": "^1.4.0",
"body-parser": "^1.19.0",
Expand All @@ -53,7 +53,7 @@
"zod": "^4.1.13"
},
"devDependencies": {
"@cubejs-backend/linter": "1.6.9",
"@cubejs-backend/linter": "1.6.10",
"@types/express": "^4.17.21",
"@types/jest": "^29",
"@types/jsonwebtoken": "^9.0.2",
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-athena-driver/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09)

**Note:** Version bump only for package @cubejs-backend/athena-driver

## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06)

**Note:** Version bump only for package @cubejs-backend/athena-driver
Expand Down
10 changes: 5 additions & 5 deletions packages/cubejs-athena-driver/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@cubejs-backend/athena-driver",
"description": "Cube.js Athena database driver",
"author": "Cube Dev, Inc.",
"version": "1.6.9",
"version": "1.6.10",
"repository": {
"type": "git",
"url": "https://github.com/cube-js/cube.git",
Expand Down Expand Up @@ -30,13 +30,13 @@
"dependencies": {
"@aws-sdk/client-athena": "^3.22.0",
"@aws-sdk/credential-providers": "^3.22.0",
"@cubejs-backend/base-driver": "1.6.9",
"@cubejs-backend/shared": "1.6.9",
"@cubejs-backend/base-driver": "1.6.10",
"@cubejs-backend/shared": "1.6.10",
"sqlstring": "^2.3.1"
},
"devDependencies": {
"@cubejs-backend/linter": "1.6.9",
"@cubejs-backend/testing-shared": "1.6.9",
"@cubejs-backend/linter": "1.6.10",
"@cubejs-backend/testing-shared": "1.6.10",
"@types/ramda": "^0.27.40",
"typescript": "~5.2.2"
},
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-backend-cloud/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09)

**Note:** Version bump only for package @cubejs-backend/cloud

## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06)

**Note:** Version bump only for package @cubejs-backend/cloud
Expand Down
6 changes: 3 additions & 3 deletions packages/cubejs-backend-cloud/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cubejs-backend/cloud",
"version": "1.6.9",
"version": "1.6.10",
"description": "Cube Cloud package",
"main": "dist/src/index.js",
"typings": "dist/src/index.d.ts",
Expand Down Expand Up @@ -30,15 +30,15 @@
"devDependencies": {
"@babel/core": "^7.24.5",
"@babel/preset-env": "^7.24.5",
"@cubejs-backend/linter": "1.6.9",
"@cubejs-backend/linter": "1.6.10",
"@types/fs-extra": "^9.0.8",
"@types/jest": "^29",
"jest": "^29",
"typescript": "~5.2.2"
},
"dependencies": {
"@cubejs-backend/dotenv": "^9.0.2",
"@cubejs-backend/shared": "1.6.9",
"@cubejs-backend/shared": "1.6.10",
"chokidar": "^3.5.1",
"env-var": "^6.3.0",
"form-data": "^4.0.0",
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-backend-maven/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09)

**Note:** Version bump only for package @cubejs-backend/maven

## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06)

**Note:** Version bump only for package @cubejs-backend/maven
Expand Down
6 changes: 3 additions & 3 deletions packages/cubejs-backend-maven/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@cubejs-backend/maven",
"description": "Cube.js Maven Wrapper for java dependencies downloading",
"author": "Cube Dev, Inc.",
"version": "1.6.9",
"version": "1.6.10",
"license": "Apache-2.0",
"repository": {
"type": "git",
Expand Down Expand Up @@ -31,12 +31,12 @@
"dist/src/*"
],
"dependencies": {
"@cubejs-backend/shared": "1.6.9",
"@cubejs-backend/shared": "1.6.10",
"source-map-support": "^0.5.19",
"xmlbuilder2": "^2.4.0"
},
"devDependencies": {
"@cubejs-backend/linter": "1.6.9",
"@cubejs-backend/linter": "1.6.10",
"@types/jest": "^29",
"@types/node": "^20",
"jest": "^29",
Expand Down
4 changes: 4 additions & 0 deletions packages/cubejs-backend-native/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09)

**Note:** Version bump only for package @cubejs-backend/native

## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06)

**Note:** Version bump only for package @cubejs-backend/native
Expand Down
8 changes: 4 additions & 4 deletions packages/cubejs-backend-native/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cubejs-backend/native",
"version": "1.6.9",
"version": "1.6.10",
"author": "Cube Dev, Inc.",
"description": "Native module for Cube.js (binding to Rust codebase)",
"main": "dist/js/index.js",
Expand Down Expand Up @@ -36,7 +36,7 @@
"dist/js"
],
"devDependencies": {
"@cubejs-backend/linter": "1.6.9",
"@cubejs-backend/linter": "1.6.10",
"@types/jest": "^29",
"@types/node": "^20",
"cargo-cp-artifact": "^0.1.9",
Expand All @@ -47,8 +47,8 @@
"uuid": "^8.3.2"
},
"dependencies": {
"@cubejs-backend/cubesql": "1.6.9",
"@cubejs-backend/shared": "1.6.9",
"@cubejs-backend/cubesql": "1.6.10",
"@cubejs-backend/shared": "1.6.10",
"@cubejs-infra/post-installer": "^0.0.7"
},
"resources": {
Expand Down
6 changes: 6 additions & 0 deletions packages/cubejs-backend-shared/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09)

### Features

- Unify pool to make named timeout errors ([#10375](https://github.com/cube-js/cube/issues/10375)) ([bac3cd0](https://github.com/cube-js/cube/commit/bac3cd0f2f3f572fac037686ffa16a2e687fbcdc))

## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06)

**Note:** Version bump only for package @cubejs-backend/shared
Expand Down
5 changes: 3 additions & 2 deletions packages/cubejs-backend-shared/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cubejs-backend/shared",
"version": "1.6.9",
"version": "1.6.10",
"description": "Shared code for Cube.js backend packages",
"main": "dist/src/index.js",
"typings": "dist/src/index.d.ts",
Expand All @@ -27,7 +27,7 @@
},
"license": "Apache-2.0",
"devDependencies": {
"@cubejs-backend/linter": "1.6.9",
"@cubejs-backend/linter": "1.6.10",
"@types/bytes": "^3.1.5",
"@types/cli-progress": "^3.9.1",
"@types/decompress": "^4.2.7",
Expand All @@ -48,6 +48,7 @@
"decompress": "^4.2.1",
"env-var": "^6.3.0",
"fs-extra": "^9.1.0",
"generic-pool": "^3.9.0",
"lru-cache": "^11.1.0",
"moment-range": "^4.0.2",
"moment-timezone": "^0.5.47",
Expand Down
1 change: 1 addition & 0 deletions packages/cubejs-backend-shared/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,4 @@ export * from './decorators';
export * from './PerfTracker';
export * from './disposedProxy';
export * from './logger';
export * from './pool';
110 changes: 110 additions & 0 deletions packages/cubejs-backend-shared/src/pool.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
/**
* @copyright Cube Dev, Inc.
* @license Apache-2.0
* @fileoverview Named pool wrapper around generic-pool with enhanced error messages.
*/

import genericPool, { Pool as GenericPool, Factory, Options } from 'generic-pool';

export { Factory, Options as PoolOptions } from 'generic-pool';

export class PoolTimeoutError extends Error {
public readonly poolName: string;

public constructor(poolName: string) {
super(`ResourceRequest timed out (pool: ${poolName})`);
this.name = 'PoolTimeoutError';
this.poolName = poolName;
}
}

/**
* Uses composition instead of inheritance because generic-pool doesn't export
* a Pool class, the Pool type is an interface, not an extendable class.
*/
export class Pool<T> {
private readonly pool: GenericPool<T>;

private readonly name: string;

public constructor(name: string, factory: Factory<T>, options?: Options) {
this.name = name;
this.pool = genericPool.createPool<T>(factory, options);
}

public async acquire(priority?: number): Promise<T> {
try {
return await this.pool.acquire(priority);
} catch (error) {
if (error instanceof Error && error.name === 'TimeoutError') {
throw new PoolTimeoutError(this.name);
}

throw error;
}
}

public async release(resource: T): Promise<void> {
return this.pool.release(resource);
}

public async destroy(resource: T): Promise<void> {
return this.pool.destroy(resource);
}

public async drain(): Promise<void> {
return this.pool.drain();
}

public async clear(): Promise<void> {
return this.pool.clear();
}

public async use<U>(cb: (resource: T) => U | Promise<U>): Promise<U> {
try {
return await this.pool.use(cb);
} catch (error) {
if (error instanceof Error && error.name === 'TimeoutError') {
throw new PoolTimeoutError(this.name);
}
throw error;
}
}

// State accessors
public get size(): number {
return this.pool.size;
}

public get available(): number {
return this.pool.available;
}

public get borrowed(): number {
return this.pool.borrowed;
}

public get pending(): number {
return this.pool.pending;
}

public get max(): number {
return this.pool.max;
}

public get min(): number {
return this.pool.min;
}

// Event handling
public on(event: 'factoryCreateError' | 'factoryDestroyError', listener: (err: Error) => void): this {
this.pool.on(event, listener);
return this;
}

// For backward compatibility (drivers use pool._factory for testConnection)
public get _factory(): Factory<T> {
// eslint-disable-next-line no-underscore-dangle
return (this.pool as any)._factory;
}
}
4 changes: 4 additions & 0 deletions packages/cubejs-base-driver/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09)

**Note:** Version bump only for package @cubejs-backend/base-driver

## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06)

**Note:** Version bump only for package @cubejs-backend/base-driver
Expand Down
Loading
Loading