yandex / temporal-over-ydb

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

license GitHub go.mod Go version stability-wip

temporal-over-ydb

temporal-over-ydb is an implementation of a custom Temporal persistence layer using YDB, a distributed SQL DBMS.

It is still a work in active progress and is not ready for production use.

How to run tests

Clone and patch Temporal source code:

git clone https://github.com/temporalio/temporal.git
cd ./temporal
git checkout v1.22.0

# This patch allows setting custom advanced visibility persistence,
# see https://github.com/temporalio/temporal/pull/4871
curl https://github.com/temporalio/temporal/pull/4871.diff -Lso- | git apply

# Since the suites in the tests package are not exportable and not configurable with
# custom persistence, for now we just patch them to use YDB:
git apply ../tests/functests.patch
cd ./tests
cp ../../tests/functests.go.mod ./go.mod
go mod tidy

Run docker-compose:

cd ./tests
docker-compose -f ./docker-compose.yml up -d

Run functional server tests:

cd ./temporal/tests
# Specific suite:
go test . -persistenceType=nosql -persistenceDriver=ydb -run 'TestIntegrationSuite'
# Or all of them:
go test . -persistenceType=nosql -persistenceDriver=ydb

Run persistence unit tests:

cd ./tests/persistencetests
go mod tidy
go test .

About

License:MIT License


Languages

Language:Go 94.1%Language:Shell 5.5%Language:Dockerfile 0.4%