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

Add support tarantool 3.0 #68

Closed
LeonidVas opened this issue Sep 12, 2023 · 0 comments · Fixed by #75
Closed

Add support tarantool 3.0 #68

LeonidVas opened this issue Sep 12, 2023 · 0 comments · Fixed by #75
Assignees

Comments

@LeonidVas
Copy link
Contributor

Now sharded-queue uses cartridge functionality in its implementation, but cartridge is not supported by tarantool 3.0. Needs to rewrite the module to remove the dependency on cartridge.

@oleg-jukovec oleg-jukovec self-assigned this Mar 19, 2024
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
Calls on vshard replicasets at first glance do not bring additional
load, but at the same time they make the code more general and portable
to Tarantool 3.0.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
The patch splits a large file `storage.lua` with a Cartridge
role for a few smaller files based on their functionality.
It will help to create a Tarantool 3.0 role from that blocks
instead of copy-paste.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
The patch splits a large file `api.lua` with a Cartridge
role for a few smaller files based on their functionality.
It will help to create a Tarantool 3.0 role from that blocks
instead of copy-paste.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
Calls on vshard replicasets at first glance do not bring additional
load, but at the same time they make the code more general and portable
to Tarantool 3.0.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
The patch splits a large file `storage.lua` with a Cartridge
role for a few smaller files based on their functionality.
It will help to create a Tarantool 3.0 role from that blocks
instead of copy-paste.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
The patch splits a large file `api.lua` with a Cartridge
role for a few smaller files based on their functionality.
It will help to create a Tarantool 3.0 role from that blocks
instead of copy-paste.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
The patch splits a large file `storage.lua` with a Cartridge
role for a few smaller files based on their functionality.
It will help to create a Tarantool 3.0 role from that blocks
instead of copy-paste.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
The patch splits a large file `api.lua` with a Cartridge
role for a few smaller files based on their functionality.
It will help to create a Tarantool 3.0 role from that blocks
instead of copy-paste.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
The patch splits a large file `storage.lua` with a Cartridge
role for a few smaller files based on their functionality.
It will help to create a Tarantool 3.0 role from that blocks
instead of copy-paste.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
The patch splits a large file `api.lua` with a Cartridge
role for a few smaller files based on their functionality.
It will help to create a Tarantool 3.0 role from that blocks
instead of copy-paste.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
Calls on vshard replicasets at first glance do not bring additional
load, but at the same time they make the code more general and portable
to Tarantool 3.0.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
The patch splits a large file `storage.lua` with a Cartridge
role for a few smaller files based on their functionality.
It will help to create a Tarantool 3.0 role from that blocks
instead of copy-paste.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
The patch splits a large file `api.lua` with a Cartridge
role for a few smaller files based on their functionality.
It will help to create a Tarantool 3.0 role from that blocks
instead of copy-paste.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
The patch splits a large file `storage.lua` with a Cartridge
role for a few smaller files based on their functionality.
It will help to create a Tarantool 3.0 role from that blocks
instead of copy-paste.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
The patch splits a large file `api.lua` with a Cartridge
role for a few smaller files based on their functionality.
It will help to create a Tarantool 3.0 role from that blocks
instead of copy-paste.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
Calls on vshard replicasets at first glance do not bring additional
load, but at the same time they make the code more general and portable
to Tarantool 3.0.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
The patch splits a large file `storage.lua` with a Cartridge
role for a few smaller files based on their functionality.
It will help to create a Tarantool 3.0 role from that blocks
instead of copy-paste.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 3, 2024
The patch splits a large file `api.lua` with a Cartridge
role for a few smaller files based on their functionality.
It will help to create a Tarantool 3.0 role from that blocks
instead of copy-paste.

Part of #68
oleg-jukovec added a commit that referenced this issue Apr 8, 2024
* The role `roles.sharded-queue-router` communicates with storages as
a vshard router and contains the queue API.
* The role `roles.sharded-queue-storage` stores and manages information
about tubes on vshard storages.

Closes #68
oleg-jukovec added a commit that referenced this issue Apr 8, 2024
* The role `roles.sharded-queue-router` communicates with storages as
a vshard router and contains the queue API.
* The role `roles.sharded-queue-storage` stores and manages information
about tubes on vshard storages.

Closes #68
oleg-jukovec added a commit that referenced this issue Apr 9, 2024
* The role `roles.sharded-queue-router` communicates with storages as
a vshard router and contains the queue API.
* The role `roles.sharded-queue-storage` stores and manages information
about tubes on vshard storages.

Closes #68
oleg-jukovec added a commit that referenced this issue Apr 9, 2024
* The role `roles.sharded-queue-router` communicates with storages as
a vshard router and contains the queue API.
* The role `roles.sharded-queue-storage` stores and manages information
about tubes on vshard storages.

Closes #68
oleg-jukovec added a commit that referenced this issue Apr 9, 2024
* The role `roles.sharded-queue-router` communicates with storages as
a vshard router and contains the queue API.
* The role `roles.sharded-queue-storage` stores and manages information
about tubes on vshard storages.

Closes #68
oleg-jukovec added a commit that referenced this issue Apr 9, 2024
* The role `roles.sharded-queue-router` communicates with storages as
a vshard router and contains the queue API.
* The role `roles.sharded-queue-storage` stores and manages information
about tubes on vshard storages.

Closes #68
oleg-jukovec added a commit that referenced this issue Apr 16, 2024
Overview

    The release introduces roles for Tarantool 3 and improves the module
    metrics.

Breaking changes

    Metric `sharded_queue_calls` renamed to
    `tnt_sharded_queue_api_statistics_calls_total` (#71). The metric
    now has labels in the format
    `{name = "tube_name", state = "call_type"}` instead of
    `{name = "tube_name", status = "call_type"}`.

    Metric `sharded_queue_tasks` renamed to
    `tnt_sharded_queue_api_statistics_tasks` (#71). The metric now
    has labels in the format `{name = "tube_name", state = "task_state"}`
    instead of `{name = "tube_name", status = "task_state"}`.

    The dependency `cartridge` is removed from the `rockspec` since
    the module does not require it to work with Tarantool 3 (#68).

New features

    Role `roles.sharded-queue-router` for Tarantool 3 (#68).

    Role `roles.sharded-queue-storage` for Tarantool 3 (#68).

    Metric `tnt_sharded_queue_api_role_stats` is a summary with
    quantiles of `sharded_queue.api` role API calls (#71).
    The metric includes a counter of API calls and errors.
    The metric contains labels in the following format:
    `{name = "tube_name", method = "api_call_method", status = "ok" or "error"}`

    Metric `tnt_sharded_queue_storage_role_stats` is a summary with
    quantiles of `sharded_queue.storage` role API calls (#71).
    The metric includes a counter of API calls and errors.
    The metric contains labels in the following format:
    `{name = "tube_name", method = "api_call_method", status = "ok" or "error"}`

    Metric `tnt_sharded_queue_storage_statistics_calls_total` as
    an equivalent of `tnt_sharded_queue_api_statistics_calls_total`
    for the `sharded_queue.storage` role.
    Values have the same meaning as the `queue` statistics `calls`
    table.
    The metric contains labels in the following format:
    `{name = "tube_name", state = "call_type"}`

    Metric `tnt_sharded_queue_storage_statistics_tasks` as an
    equivalent of `tnt_sharded_queue_api_statistics_tasks` for
    the `sharded_queue.storage` role (#71).
    Values have the same meaning as the `queue` statistics `tasks`
    table.
    The metric contains labels in the following format:
    `{name = "tube_name", state = "task_state"}`

Bugfixes

    Data race with fifo driver for put()/take() methods with vinyl
    engine (#64).
oleg-jukovec added a commit that referenced this issue Apr 16, 2024
Overview

    The release introduces roles for Tarantool 3 and improves the module
    metrics.

Breaking changes

    Metric `sharded_queue_calls` renamed to
    `tnt_sharded_queue_api_statistics_calls_total` (#71). The metric
    now has labels in the format
    `{name = "tube_name", state = "call_type"}` instead of
    `{name = "tube_name", status = "call_type"}`.

    Metric `sharded_queue_tasks` renamed to
    `tnt_sharded_queue_api_statistics_tasks` (#71). The metric now
    has labels in the format `{name = "tube_name", state = "task_state"}`
    instead of `{name = "tube_name", status = "task_state"}`.

    The dependency `cartridge` is removed from the `rockspec` since
    the module does not require it to work with Tarantool 3 (#68).

New features

    Role `roles.sharded-queue-router` for Tarantool 3 (#68).

    Role `roles.sharded-queue-storage` for Tarantool 3 (#68).

    Metric `tnt_sharded_queue_api_role_stats` is a summary with
    quantiles of `sharded_queue.api` role API calls (#71).
    The metric includes a counter of API calls and errors.
    The metric contains labels in the following format:
    `{name = "tube_name", method = "api_call_method", status = "ok" or "error"}`

    Metric `tnt_sharded_queue_storage_role_stats` is a summary with
    quantiles of `sharded_queue.storage` role API calls (#71).
    The metric includes a counter of API calls and errors.
    The metric contains labels in the following format:
    `{name = "tube_name", method = "api_call_method", status = "ok" or "error"}`

    Metric `tnt_sharded_queue_storage_statistics_calls_total` as
    an equivalent of `tnt_sharded_queue_api_statistics_calls_total`
    for the `sharded_queue.storage` role (#71).
    Values have the same meaning as the `queue` statistics `calls`
    table.
    The metric contains labels in the following format:
    `{name = "tube_name", state = "call_type"}`

    Metric `tnt_sharded_queue_storage_statistics_tasks` as an
    equivalent of `tnt_sharded_queue_api_statistics_tasks` for
    the `sharded_queue.storage` role (#71).
    Values have the same meaning as the `queue` statistics `tasks`
    table.
    The metric contains labels in the following format:
    `{name = "tube_name", state = "task_state"}`

Bugfixes

    Data race with fifo driver for put()/take() methods with vinyl
    engine (#64).
oleg-jukovec added a commit that referenced this issue Apr 16, 2024
Overview

    The release introduces roles for Tarantool 3 and improves the module
    metrics.

Breaking changes

    Metric `sharded_queue_calls` renamed to
    `tnt_sharded_queue_api_statistics_calls_total` (#71). The metric
    now has labels in the format
    `{name = "tube_name", state = "call_type"}` instead of
    `{name = "tube_name", status = "call_type"}`.

    Metric `sharded_queue_tasks` renamed to
    `tnt_sharded_queue_api_statistics_tasks` (#71). The metric now
    has labels in the format `{name = "tube_name", state = "task_state"}`
    instead of `{name = "tube_name", status = "task_state"}`.

    The dependency `cartridge` is removed from the `rockspec` since
    the module does not require it to work with Tarantool 3 (#68).

New features

    Role `roles.sharded-queue-router` for Tarantool 3 (#68).

    Role `roles.sharded-queue-storage` for Tarantool 3 (#68).

    Metric `tnt_sharded_queue_api_role_stats` is a summary with
    quantiles of `sharded_queue.api` role API calls (#71).
    The metric includes a counter of API calls and errors.
    The metric contains labels in the following format:
    `{name = "tube_name", method = "api_call_method", status = "ok" or "error"}`

    Metric `tnt_sharded_queue_storage_role_stats` is a summary with
    quantiles of `sharded_queue.storage` role API calls (#71).
    The metric includes a counter of API calls and errors.
    The metric contains labels in the following format:
    `{name = "tube_name", method = "api_call_method", status = "ok" or "error"}`

    Metric `tnt_sharded_queue_storage_statistics_calls_total` as
    an equivalent of `tnt_sharded_queue_api_statistics_calls_total`
    for the `sharded_queue.storage` role (#71).
    Values have the same meaning as the `queue` statistics `calls`
    table.
    The metric contains labels in the following format:
    `{name = "tube_name", state = "call_type"}`

    Metric `tnt_sharded_queue_storage_statistics_tasks` as an
    equivalent of `tnt_sharded_queue_api_statistics_tasks` for
    the `sharded_queue.storage` role (#71).
    Values have the same meaning as the `queue` statistics `tasks`
    table.
    The metric contains labels in the following format:
    `{name = "tube_name", state = "task_state"}`

Bugfixes

    Data race with fifo driver for put()/take() methods with vinyl
    engine (#64).
oleg-jukovec added a commit that referenced this issue Apr 16, 2024
Overview

    The release introduces roles for Tarantool 3 and improves the module
    metrics.

Breaking changes

    Metric `sharded_queue_calls` renamed to
    `tnt_sharded_queue_api_statistics_calls_total` (#71). The metric
    now has labels in the format
    `{name = "tube_name", state = "call_type"}` instead of
    `{name = "tube_name", status = "call_type"}`.

    Metric `sharded_queue_tasks` renamed to
    `tnt_sharded_queue_api_statistics_tasks` (#71). The metric now
    has labels in the format `{name = "tube_name", state = "task_state"}`
    instead of `{name = "tube_name", status = "task_state"}`.

    The dependency `cartridge` is removed from the `rockspec` since
    the module does not require it to work with Tarantool 3 (#68).

New features

    Role `roles.sharded-queue-router` for Tarantool 3 (#68).

    Role `roles.sharded-queue-storage` for Tarantool 3 (#68).

    Metric `tnt_sharded_queue_api_role_stats` is a summary with
    quantiles of `sharded_queue.api` role API calls (#71).
    The metric includes a counter of API calls and errors.
    The metric contains labels in the following format:
    `{name = "tube_name", method = "api_call_method", status = "ok" or "error"}`

    Metric `tnt_sharded_queue_storage_role_stats` is a summary with
    quantiles of `sharded_queue.storage` role API calls (#71).
    The metric includes a counter of API calls and errors.
    The metric contains labels in the following format:
    `{name = "tube_name", method = "api_call_method", status = "ok" or "error"}`

    Metric `tnt_sharded_queue_storage_statistics_calls_total` as
    an equivalent of `tnt_sharded_queue_api_statistics_calls_total`
    for the `sharded_queue.storage` role (#71).
    Values have the same meaning as the `queue` statistics `calls`
    table.
    The metric contains labels in the following format:
    `{name = "tube_name", state = "call_type"}`

    Metric `tnt_sharded_queue_storage_statistics_tasks` as an
    equivalent of `tnt_sharded_queue_api_statistics_tasks` for
    the `sharded_queue.storage` role (#71).
    Values have the same meaning as the `queue` statistics `tasks`
    table.
    The metric contains labels in the following format:
    `{name = "tube_name", state = "task_state"}`

Bugfixes

    Data race with fifo driver for put()/take() methods with vinyl
    engine (#64).
oleg-jukovec added a commit that referenced this issue Apr 17, 2024
Overview

    The release introduces roles for Tarantool 3 and improves the module
    metrics.

Breaking changes

    Metric `sharded_queue_calls` renamed to
    `tnt_sharded_queue_api_statistics_calls_total` (#71). The metric
    now has labels in the format
    `{name = "tube_name", state = "call_type"}` instead of
    `{name = "tube_name", status = "call_type"}`.

    Metric `sharded_queue_tasks` renamed to
    `tnt_sharded_queue_api_statistics_tasks` (#71). The metric now
    has labels in the format `{name = "tube_name", state = "task_state"}`
    instead of `{name = "tube_name", status = "task_state"}`.

    The dependency `cartridge` is removed from the `rockspec` since
    the module does not require it to work with Tarantool 3 (#68).

New features

    Role `roles.sharded-queue-router` for Tarantool 3 (#68).

    Role `roles.sharded-queue-storage` for Tarantool 3 (#68).

    Metric `tnt_sharded_queue_api_role_stats` is a summary with
    quantiles of `sharded_queue.api` role API calls (#71).
    The metric includes a counter of API calls and errors.
    The metric contains labels in the following format:
    `{name = "tube_name", method = "api_call_method", status = "ok" or "error"}`

    Metric `tnt_sharded_queue_storage_role_stats` is a summary with
    quantiles of `sharded_queue.storage` role API calls (#71).
    The metric includes a counter of API calls and errors.
    The metric contains labels in the following format:
    `{name = "tube_name", method = "api_call_method", status = "ok" or "error"}`

    Metric `tnt_sharded_queue_storage_statistics_calls_total` as
    an equivalent of `tnt_sharded_queue_api_statistics_calls_total`
    for the `sharded_queue.storage` role (#71).
    Values have the same meaning as the `queue` statistics `calls`
    table.
    The metric contains labels in the following format:
    `{name = "tube_name", state = "call_type"}`

    Metric `tnt_sharded_queue_storage_statistics_tasks` as an
    equivalent of `tnt_sharded_queue_api_statistics_tasks` for
    the `sharded_queue.storage` role (#71).
    Values have the same meaning as the `queue` statistics `tasks`
    table.
    The metric contains labels in the following format:
    `{name = "tube_name", state = "task_state"}`

Bugfixes

    Data race with fifo driver for put()/take() methods with vinyl
    engine (#64).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants