Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(api-gateway): Async native query results transformations #8961

Merged
merged 132 commits into from
Jan 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
a189b3f
create a basic cubeorchestrator project structure
KSDaemon Oct 24, 2024
d968996
wip
KSDaemon Oct 24, 2024
ed495b7
move flatbuffer schema/code to separate crate
KSDaemon Nov 14, 2024
aebc8d3
implement parse_cubestore_ws_result
KSDaemon Nov 15, 2024
6acc20d
add cubeorchestrator/parse_cubestore_ws_result_message export
KSDaemon Nov 15, 2024
63309dd
use native parseCubestoreResultMessage
KSDaemon Nov 15, 2024
0928991
init hashmap with capacity
KSDaemon Nov 15, 2024
6710001
cargo fmt
KSDaemon Nov 15, 2024
ac0d3c9
some optimizations and improvements
KSDaemon Nov 15, 2024
c5e2cc5
a bit optimized version
KSDaemon Nov 18, 2024
9ac122e
use cx.execute_scoped for optimization
KSDaemon Nov 18, 2024
04fb9a4
a bit more rust idiomatic code
KSDaemon Nov 18, 2024
6ee9e96
put native parseCubestoreResultMessage behind the flag
KSDaemon Nov 20, 2024
4c88cb2
tiny improvement
KSDaemon Nov 21, 2024
e1b6015
cargo fmt
KSDaemon Nov 25, 2024
2c8b51c
cargo fmt
KSDaemon Nov 25, 2024
15d2eb3
cargo clippy fix
KSDaemon Nov 25, 2024
ab94375
update cubestore Dockerfile
KSDaemon Nov 25, 2024
df7d64c
cargo fmt
KSDaemon Nov 25, 2024
0eadaa1
update cubestore Docker builds
KSDaemon Nov 25, 2024
9e658be
introduce CubeStoreResult struct
KSDaemon Nov 27, 2024
d3d4429
create CubeStoreResultWrapper class and switch to lazy evaluation of …
KSDaemon Nov 29, 2024
4762624
add resToRawResultFn in API GW
KSDaemon Nov 29, 2024
e4fd085
cargo fmt
KSDaemon Nov 29, 2024
43cfed8
update resToResultFn
KSDaemon Nov 29, 2024
a5eea52
call prepareAnnotation later
KSDaemon Nov 29, 2024
e3c6c2d
remove bytes
KSDaemon Dec 2, 2024
ecc6ce1
add cached flag to CubeStoreResultWrapper
KSDaemon Dec 2, 2024
5dd8a73
convert core data types from api gateway
KSDaemon Dec 2, 2024
fc8d8e9
implement transformData and related helpers
KSDaemon Dec 2, 2024
1bc5ed9
cargo fmt
KSDaemon Dec 2, 2024
a3a0a40
down chrono to same version as in cubesql (0.4.31)
KSDaemon Dec 2, 2024
da1177a
fail fast in api gw load()
KSDaemon Dec 2, 2024
b301cbf
update cargo.lock (syn crate)
KSDaemon Dec 2, 2024
e667eb9
linter fix
KSDaemon Dec 3, 2024
733db9f
implement get_query_granularities & get_pivot_query
KSDaemon Dec 9, 2024
b84ec3a
prepare transformQueryData native wrapper
KSDaemon Dec 9, 2024
97c1aea
small optimization: do not use native parsing for short messages
KSDaemon Dec 10, 2024
5565858
refactor transformValue and related
KSDaemon Dec 10, 2024
b6b280f
types restructure
KSDaemon Dec 10, 2024
3cea716
debug and fix native transform_data()
KSDaemon Dec 10, 2024
dd462ef
lazy transformData evaluation
KSDaemon Dec 10, 2024
515c499
omplement get_final_cubestore_result & get_final_cubestore_result_mul…
KSDaemon Dec 11, 2024
0f81a44
cargo fmt
KSDaemon Dec 11, 2024
77215f0
cargo clippy fix
KSDaemon Dec 11, 2024
c2bbdf6
refactor getVanillaRow
KSDaemon Dec 11, 2024
3ee04bb
implement get_final_cubestore_result_array() native
KSDaemon Dec 11, 2024
79039e7
fix native response flow for sqlApiLoad
KSDaemon Dec 12, 2024
286532d
add postgres with native cubestore results driver tests
KSDaemon Dec 12, 2024
ae22656
Build native (without Python) in drivers tests
KSDaemon Dec 12, 2024
9ba18b7
workaround for native build in testings-drivers
KSDaemon Dec 12, 2024
a5baacc
small improvements in CubeStoreResultWrapper
KSDaemon Dec 12, 2024
76db2ba
make parse_cubestore_ws_result_message async
KSDaemon Dec 13, 2024
b42ee10
make all native cubestore_result_transform functions async
KSDaemon Dec 13, 2024
0607c3d
cargo fmt
KSDaemon Dec 13, 2024
243d893
refactor results transformations
KSDaemon Dec 16, 2024
36dc2b5
yarn sync
KSDaemon Dec 16, 2024
43c6171
implement custom deserializer from JS Value to rust
KSDaemon Dec 16, 2024
f8d00ee
refactor json_to_array_buffer()
KSDaemon Dec 17, 2024
1f4163a
a bit of refactoring
KSDaemon Dec 17, 2024
5ddae0e
code rearrangement
KSDaemon Dec 17, 2024
bd86b8c
switch to use DBResponsePrimitive instead of just Strings
KSDaemon Dec 17, 2024
b6f6532
refactoring
KSDaemon Dec 17, 2024
4618d7b
always use transform data native for all results
KSDaemon Dec 17, 2024
6b7cc58
fix dtos for native query processing (thnx unit tests)
KSDaemon Dec 17, 2024
f1e15bc
cache loadNative
KSDaemon Dec 17, 2024
813cd2a
remove not needed anymore native.transformQueryData
KSDaemon Dec 17, 2024
8b38c05
add Build native for unit tests in CI
KSDaemon Dec 17, 2024
f6a7bc0
refactor serde annotations
KSDaemon Dec 17, 2024
d2ce46b
remove unused
KSDaemon Dec 17, 2024
713ea34
annotate native query results processing functions
KSDaemon Dec 17, 2024
fe77601
add Build native for unit tests in CI for Debian without pushing
KSDaemon Dec 17, 2024
b64eeee
add few unit tests
KSDaemon Dec 17, 2024
efece0e
fix some tests
KSDaemon Dec 17, 2024
c4717a1
attempt to fix native build/test in docker-dev CI
KSDaemon Dec 17, 2024
f3bdce2
fix empty result set issue
KSDaemon Dec 17, 2024
fd02fca
another fix in datetime parsing
KSDaemon Dec 18, 2024
9c67b67
another fix in deserialization
KSDaemon Dec 18, 2024
6d6b0c2
another fix in datetime parsing
KSDaemon Dec 18, 2024
08be452
update postgres-native-cubestore-response-full.test.ts.snap
KSDaemon Dec 18, 2024
8a9ae0c
another fix in deserialization
KSDaemon Dec 18, 2024
8d51ddf
cargo fmt
KSDaemon Dec 18, 2024
ee71b1d
another fix in datetime parsing
KSDaemon Dec 18, 2024
ce8d4ab
update postgres-native-cubestore-response-full.test.ts.snap
KSDaemon Dec 18, 2024
7567d11
attempt to fix native build/test in docker-dev CI
KSDaemon Dec 18, 2024
5e9af78
add some comments
KSDaemon Dec 18, 2024
5687b67
edits in result processing when streaming
KSDaemon Dec 18, 2024
11d1c7e
fix native response processing via websocket
KSDaemon Dec 18, 2024
8c12cfd
fix yarn lock
KSDaemon Dec 18, 2024
d788f59
attempt to fix native build/test in cloud integration tests in CI
KSDaemon Dec 19, 2024
0c460d5
recreated unit tests for transform data in native
KSDaemon Dec 19, 2024
1f7a8a6
run rust unit tests on push
KSDaemon Dec 20, 2024
3c58ab6
commented out cargo fmt/build/test for cubesql, cubesqlplanner
KSDaemon Dec 20, 2024
8726f7f
remove transformdata JS implementation
KSDaemon Dec 20, 2024
34919fc
refactor push CI jobs
KSDaemon Dec 20, 2024
1ffc07f
rename CubestoreResultWrapper → ResultWrapper
KSDaemon Jan 7, 2025
0d2f4de
add isNative flag to ResultWrapper
KSDaemon Jan 7, 2025
6a8bc54
rename getResultInternal → prepareResultTransformData
KSDaemon Jan 7, 2025
339ccaa
use ResultWrapper for all results
KSDaemon Jan 7, 2025
e25d17b
fix getArray in ResultWrapper
KSDaemon Jan 7, 2025
80fa259
lint fix
KSDaemon Jan 7, 2025
fccac53
encapsulate rootResultObject into ResultWrapper
KSDaemon Jan 7, 2025
5ab9f50
add DataResult interface + implement it in result wrappers
KSDaemon Jan 7, 2025
2eee432
add isWrapper property to wrappers
KSDaemon Jan 7, 2025
9326e5d
transform wrapped result later before returning the response
KSDaemon Jan 7, 2025
21236db
fix lint warn
KSDaemon Jan 8, 2025
bfb5a53
fix async request porcessing
KSDaemon Jan 8, 2025
c4ae315
some node version fix
KSDaemon Jan 9, 2025
c8eda70
weird yarn.lock change. Wtf?
KSDaemon Jan 9, 2025
f6ee0e1
full transition of result native-js-native
KSDaemon Jan 9, 2025
61d79a7
fix @cubejs-backend/native version ref
KSDaemon Jan 10, 2025
cf7a041
refactor ResultWrapper constructor
KSDaemon Jan 10, 2025
70c9dd5
fix string deserialize in transport
KSDaemon Jan 10, 2025
0a496b1
extend DataResult interface
KSDaemon Jan 10, 2025
8270dd5
support iterative access in ResultWrapper
KSDaemon Jan 10, 2025
fb54ff7
refactor ResultWrapper classes
KSDaemon Jan 10, 2025
5657478
pass ResultWrapper to native and offload transformData from the event…
KSDaemon Jan 10, 2025
586f6be
remove obsolete getFinalQueryResultArray
KSDaemon Jan 10, 2025
f0c5189
fix ws api subscriptionServer results processing
KSDaemon Jan 10, 2025
72302ec
pass SchemaRef to load methods.
KSDaemon Jan 10, 2025
ef67929
trying to fix flaky ws failing tests
KSDaemon Jan 10, 2025
cfd983c
remove cubeorchestrator dependency from cubesql
KSDaemon Jan 13, 2025
6f32094
rewrite all load api calls to return RecordBatch
KSDaemon Jan 13, 2025
ad0aabf
fix @cubejs-backend/native version ref after rebase
KSDaemon Jan 13, 2025
6a9fc58
set prototype of ResultWrapper proxy to class prototype
KSDaemon Jan 14, 2025
4ba9374
fix linter warnings
KSDaemon Jan 14, 2025
65aa06a
fix yarn.lock
KSDaemon Jan 14, 2025
474f285
linter fix
KSDaemon Jan 14, 2025
a02ffdd
Set CUBEJS_TESSERACT_ORCHESTRATOR: true for all tests workflows
KSDaemon Jan 23, 2025
a8bf953
fix old refs after rebase
KSDaemon Jan 23, 2025
ebad189
update integration-cubestore job with the build of backend-native
KSDaemon Jan 23, 2025
892ca42
remove postgres-native-cubestore-response from testing drivers as we …
KSDaemon Jan 24, 2025
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
21 changes: 21 additions & 0 deletions .github/workflows/cloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ on:
- 'package.json'
- 'yarn.lock'

env:
CUBEJS_TESSERACT_ORCHESTRATOR: true

jobs:
latest-tag-sha:
runs-on: ubuntu-20.04
Expand Down Expand Up @@ -59,15 +62,31 @@ jobs:
matrix:
node-version: [ 20.x ]
db: [ 'athena', 'bigquery', 'snowflake' ]
target: [ "x86_64-unknown-linux-gnu" ]
fail-fast: false

steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly-2024-07-15
# override: true # this is by default on
rustflags: ""
components: rustfmt
target: ${{ matrix.target }}
- name: Install Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Install cargo-cp-artifact
run: npm install -g [email protected]
- uses: Swatinem/rust-cache@v2
with:
workspaces: ./packages/cubejs-backend-native
key: native-${{ runner.OS }}-${{ matrix.target }}
shared-key: native-${{ runner.OS }}-${{ matrix.target }}
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
Expand All @@ -87,6 +106,8 @@ jobs:
run: yarn build
- name: Lerna tsc
run: yarn tsc
- name: Build native (no python)
run: cd packages/cubejs-backend-native && npm run native:build-release
- name: Run Integration tests for ${{ matrix.db }} matrix
timeout-minutes: 30
env:
Expand Down
14 changes: 11 additions & 3 deletions .github/workflows/drivers-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@ on:
- 'packages/cubejs-backend-native/**'
- 'rust/cubesql/**'

env:
CUBEJS_TESSERACT_ORCHESTRATOR: true

jobs:
latest-tag-sha:
runs-on: ubuntu-20.04
Expand Down Expand Up @@ -117,8 +120,8 @@ jobs:
- uses: Swatinem/rust-cache@v2
with:
workspaces: ./packages/cubejs-backend-native
key: native-${{ runner.OS }}-x86_64-unknown-linux-gnu
shared-key: native-${{ runner.OS }}-x86_64-unknown-linux-gnu
key: native-${{ runner.OS }}-${{ matrix.target }}
shared-key: native-${{ runner.OS }}-${{ matrix.target }}
- name: Build native (fallback)
if: (matrix.python-version == 'fallback')
env:
Expand Down Expand Up @@ -165,7 +168,12 @@ jobs:
uses: actions/download-artifact@v4
with:
name: backend-native
path: packages/cubejs-backend-native/
path: packages/cubejs-backend-native
# current .dockerignore prevents use of native build
- name: Unignore native from .dockerignore
run: |
grep -v -E "packages/cubejs-backend-native/((native)|(index.node))" .dockerignore > .dockerignore.tmp
mv .dockerignore.tmp .dockerignore
- name: Build and push
uses: docker/build-push-action@v6
with:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ on:
- 'rust/cubesql/**'
branches:
- master
env:
CUBEJS_TESSERACT_ORCHESTRATOR: true
jobs:
latest-tag-sha:
runs-on: ubuntu-20.04
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -552,7 +552,7 @@ jobs:
- name: Push to Docker Hub
uses: docker/build-push-action@v6
with:
context: ./rust/cubestore/
context: ./rust/
file: ./rust/cubestore/Dockerfile
platforms: ${{ matrix.platforms }}
build-args: ${{ matrix.build-args }}
Expand Down
123 changes: 108 additions & 15 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ on:
- 'packages/**'
- 'rust/cubestore/**'
- 'rust/cubesql/**'
- 'rust/cubenativeutils/**'
- 'rust/cubeorchestrator/**'
- 'rust/cubeshared/**'
- 'rust/cubesqlplanner/**'
- '.eslintrc.js'
- '.prettierrc'
- 'package.json'
Expand All @@ -24,13 +28,20 @@ on:
- 'packages/**'
- 'rust/cubestore/**'
- 'rust/cubesql/**'
- 'rust/cubenativeutils/**'
- 'rust/cubeorchestrator/**'
- 'rust/cubeshared/**'
- 'rust/cubesqlplanner/**'
- '.eslintrc.js'
- '.prettierrc'
- 'package.json'
- 'lerna.json'
- 'rollup.config.js'
- 'yarn.lock'

env:
CUBEJS_TESSERACT_ORCHESTRATOR: true

jobs:
unit:
runs-on: ubuntu-20.04
Expand Down Expand Up @@ -95,14 +106,15 @@ jobs:
command: yarn install --frozen-lockfile
- name: Lerna tsc
run: yarn tsc
- name: Build native (no python)
run: cd packages/cubejs-backend-native && npm run native:build-release
- name: Build client
run: yarn build
- name: Build cubejs-backend-native (with Python)
run: yarn run native:build-release-python
working-directory: ./packages/cubejs-backend-native
env:
PYO3_PYTHON: python${{ matrix.python-version }}

- name: Lerna test
run: yarn lerna run --concurrency 1 --stream --no-prefix unit
# - uses: codecov/codecov-action@v1
Expand All @@ -111,6 +123,21 @@ jobs:
# files: ./packages/*/coverage/clover.xml
# flags: cube-backend
# verbose: true # optional (default = false)
- name: Cargo test cubeorchestrator
run: |
cargo test --manifest-path rust/cubeorchestrator/Cargo.toml -j 1
- name: Cargo test cubenativeutils
run: |
cargo test --manifest-path rust/cubenativeutils/Cargo.toml -j 1
- name: Cargo test cubeshared
run: |
cargo test --manifest-path rust/cubeshared/Cargo.toml -j 1
# - name: Cargo test cubesql
# run: |
# cargo test --manifest-path rust/cubesql/Cargo.toml -j 1
# - name: Cargo test cubesqlplanner
# run: |
# cargo test --manifest-path rust/cubesqlplanner/cubesqlplanner/Cargo.toml -j 1

lint:
runs-on: ubuntu-20.04
Expand Down Expand Up @@ -159,6 +186,21 @@ jobs:
run: yarn lint:npm
- name: Lerna lint
run: yarn lerna run --concurrency 1 lint
- name: Cargo fmt cubeorchestrator
run: |
cargo fmt --manifest-path rust/cubeorchestrator/Cargo.toml -- --check
- name: Cargo fmt cubenativeutils
run: |
cargo fmt --manifest-path rust/cubenativeutils/Cargo.toml -- --check
- name: Cargo fmt cubeshared
run: |
cargo fmt --manifest-path rust/cubeshared/Cargo.toml -- --check
# - name: Cargo fmt cubesql
# run: |
# cargo fmt --manifest-path rust/cubesql/Cargo.toml -- --check
# - name: Cargo fmt cubesqlplanner
# run: |
# cargo fmt --manifest-path rust/cubesqlplanner/cubesqlplanner/Cargo.toml -- --check

build:
runs-on: ubuntu-20.04
Expand Down Expand Up @@ -211,6 +253,21 @@ jobs:
run: yarn lerna run --concurrency 1 build
env:
NODE_OPTIONS: --max_old_space_size=4096
- name: Cargo build cubeorchestrator
run: |
cargo build --manifest-path rust/cubeorchestrator/Cargo.toml -j 4
- name: Cargo build cubenativeutils
run: |
cargo build --manifest-path rust/cubenativeutils/Cargo.toml -j 4
- name: Cargo build cubeshared
run: |
cargo build --manifest-path rust/cubeshared/Cargo.toml -j 4
# - name: Cargo build cubesql
# run: |
# cargo build --manifest-path rust/cubesql/Cargo.toml -j 4
# - name: Cargo build cubesqlplanner
# run: |
# cargo build --manifest-path rust/cubesqlplanner/cubesqlplanner/Cargo.toml -j 4

build-cubestore:
needs: [latest-tag-sha]
Expand Down Expand Up @@ -276,6 +333,13 @@ jobs:
df -h
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly-2024-07-15
# override: true # this is by default on
rustflags: ""
components: rustfmt
- name: Install Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
Expand Down Expand Up @@ -305,6 +369,9 @@ jobs:
command: yarn install --frozen-lockfile
- name: Lerna tsc
run: yarn tsc
- name: Build cubejs-backend-native (without Python)
run: yarn run native:build-release
working-directory: ./packages/cubejs-backend-native
- name: Download cubestored-x86_64-unknown-linux-gnu-release artifact
uses: actions/download-artifact@v4
with:
Expand Down Expand Up @@ -539,6 +606,8 @@ jobs:
- 5000:5000
strategy:
matrix:
node-version: [ 20 ]
target: [ "x86_64-unknown-linux-gnu" ]
dockerfile:
- dev.Dockerfile
include:
Expand All @@ -565,21 +634,29 @@ jobs:
df -h
- name: Checkout
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Build image
uses: docker/build-push-action@v6
timeout-minutes: 30
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
context: .
file: ./packages/cubejs-docker/${{ matrix.dockerfile }}
platforms: linux/amd64
push: true
tags: localhost:5000/cubejs/cube:${{ matrix.tag }}
- name: Use Node.js 20.x
toolchain: nightly-2024-07-15
# override: true # this is by default on
rustflags: ""
components: rustfmt
target: ${{ matrix.target }}
- name: Install Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: 20.x
node-version: ${{ matrix.node-version }}
- name: Install Yarn
run: npm install -g yarn
- name: Set Yarn version
run: yarn policies set-version v1.22.22
- name: Install cargo-cp-artifact
run: npm install -g [email protected]
- uses: Swatinem/rust-cache@v2
with:
workspaces: ./packages/cubejs-backend-native
key: native-${{ runner.OS }}-${{ matrix.target }}
shared-key: native-${{ runner.OS }}-${{ matrix.target }}
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
Expand All @@ -591,8 +668,6 @@ jobs:
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Set Yarn version
run: yarn policies set-version v1.22.22
- name: Yarn install
uses: nick-fields/retry@v3
env:
Expand All @@ -607,6 +682,24 @@ jobs:
run: yarn build
- name: Lerna tsc
run: yarn tsc
- name: Build native (no python)
run: cd packages/cubejs-backend-native && npm run native:build-release
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
# current .dockerignore prevents use of native build
- name: Unignore native from .dockerignore
run: |
grep -v -E "packages/cubejs-backend-native/((native)|(index.node))" .dockerignore > .dockerignore.tmp
mv .dockerignore.tmp .dockerignore
- name: Build image
uses: docker/build-push-action@v6
timeout-minutes: 30
with:
context: .
file: ./packages/cubejs-docker/${{ matrix.dockerfile }}
platforms: linux/amd64
push: true
tags: localhost:5000/cubejs/cube:${{ matrix.tag }}
- name: Testing CubeJS (container mode) via BirdBox
run: |
cd packages/cubejs-testing/
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/rust-cubestore-master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ jobs:
- name: Push to Docker Hub
uses: docker/build-push-action@v6
with:
context: ./rust/cubestore
context: ./rust
file: ./rust/cubestore/Dockerfile
platforms: ${{ matrix.platforms }}
build-args: ${{ matrix.build-args }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/rust-cubestore.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ jobs:
- name: Build only
uses: docker/build-push-action@v6
with:
context: ./rust/cubestore/
context: ./rust/
file: ./rust/cubestore/Dockerfile
platforms: ${{ matrix.platforms }}
build-args: ${{ matrix.build-args }}
Expand Down
4 changes: 2 additions & 2 deletions packages/cubejs-api-gateway/src/SubscriptionServer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const calcMessageLength = (message: unknown) => Buffer.byteLength(
typeof message === 'string' ? message : JSON.stringify(message)
);

export type WebSocketSendMessageFn = (connectionId: string, message: any) => void;
export type WebSocketSendMessageFn = (connectionId: string, message: any) => Promise<void>;

export class SubscriptionServer {
public constructor(
Expand All @@ -31,7 +31,7 @@ export class SubscriptionServer {
}

public resultFn(connectionId: string, messageId: string, requestId: string | undefined) {
return (message, { status } = { status: 200 }) => {
return async (message, { status } = { status: 200 }) => {
this.apiGateway.log({
type: 'Outgoing network usage',
service: 'api-ws',
Expand Down
Loading
Loading