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

api: add Dialer interface and implementation #265

Merged
merged 1 commit into from
Mar 9, 2023

Conversation

oleg-jukovec
Copy link
Collaborator

@oleg-jukovec oleg-jukovec commented Jan 25, 2023

The patch adds ability to mock network connection to a Tarantool instance.

The default implementation can be used as a basic building block for another package or a connector.

Part of https://github.com/tarantool/roadmap-internal/issues/197

I didn't forget about (remove if it is not applicable):

Related issues:

https://github.com/tarantool/roadmap-internal/issues/197

@oleg-jukovec oleg-jukovec force-pushed the oleg-jukovec/connection-dialer branch 2 times, most recently from 7fc110f to 01414fb Compare February 14, 2023 14:31
@oleg-jukovec oleg-jukovec marked this pull request as ready for review February 14, 2023 15:19
@oleg-jukovec oleg-jukovec requested review from AnaNek, DifferentialOrange and vr009 and removed request for DifferentialOrange and AnaNek February 14, 2023 15:19
Copy link
Member

@DifferentialOrange DifferentialOrange left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the PR! I have left a few comments.

As far as I understand, the main motivation is to reuse the code for a replicator component? The PR mostly seems like a code moving from one place to another, so my review was rather shallow.

CHANGELOG.md Outdated Show resolved Hide resolved
connection.go Outdated Show resolved Hide resolved
connection.go Show resolved Hide resolved
dial.go Outdated Show resolved Hide resolved
connection.go Show resolved Hide resolved
request.go Show resolved Hide resolved
@oleg-jukovec
Copy link
Collaborator Author

oleg-jukovec commented Feb 20, 2023

As far as I understand, the main motivation is to reuse the code for a replicator component?
Yes, it is.

The PR mostly seems like a code moving from one place to another

Yes, in fact I just split Connection.dial() method into several functions and move relevant functions from connection.go to dial.go.

Copy link
Member

@DifferentialOrange DifferentialOrange left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems cool, thank you! (But maybe it's worth to wait for a go-replica review to end, even though I don't remember having any dial-related rework requests there.)

Copy link

@vr009 vr009 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the patch!

The patch adds ability to mock network connection to a Tarantool
instance.

The default implementation can be used as a basic building block
for another package or a connector.

Part of tarantool/roadmap-internal#197
@oleg-jukovec oleg-jukovec force-pushed the oleg-jukovec/connection-dialer branch from d3f87ef to 8fe39d8 Compare March 9, 2023 14:07
@oleg-jukovec oleg-jukovec merged commit e257ff3 into master Mar 9, 2023
@oleg-jukovec oleg-jukovec deleted the oleg-jukovec/connection-dialer branch March 9, 2023 14:33
oleg-jukovec added a commit that referenced this pull request Mar 24, 2023
Overview

    The release adds pagination support and wrappers for for the
    crud module.

Breaking changes

    There are no breaking changes in the release.

New features

    Support pagination (#246).

    A Makefile target to test with race detector (#218).

    Support CRUD API (#108).

    An ability to replace a base network connection to a Tarantool
    instance (#265).

Bugfixes

    Several non-critical data race issues (#218).

    ConnectionPool does not properly handle disconnection with
    Opts.Reconnect set (#272).
@oleg-jukovec oleg-jukovec mentioned this pull request Mar 24, 2023
oleg-jukovec added a commit that referenced this pull request Mar 24, 2023
Overview

    The release adds pagination support and wrappers for the
    crud module.

Breaking changes

    There are no breaking changes in the release.

New features

    Support pagination (#246).

    A Makefile target to test with race detector (#218).

    Support CRUD API (#108).

    An ability to replace a base network connection to a Tarantool
    instance (#265).

Bugfixes

    Several non-critical data race issues (#218).

    ConnectionPool does not properly handle disconnection with
    Opts.Reconnect set (#272).
oleg-jukovec added a commit that referenced this pull request Mar 24, 2023
Overview

    The release adds pagination support and wrappers for the
    crud module.

Breaking changes

    There are no breaking changes in the release.

New features

    Support pagination (#246).

    A Makefile target to test with race detector (#218).

    Support CRUD API (#108).

    An ability to replace a base network connection to a Tarantool
    instance (#265).

Bugfixes

    Several non-critical data race issues (#218).

    Build on Apple M1 with OpenSSL (#260).

    ConnectionPool does not properly handle disconnection with
    Opts.Reconnect set (#272).
oleg-jukovec added a commit that referenced this pull request Apr 27, 2023
Overview

    The release adds pagination support and wrappers for the
    crud module.

Breaking changes

    There are no breaking changes in the release.

New features

    Support pagination (#246).

    A Makefile target to test with race detector (#218).

    Support CRUD API (#108).

    An ability to replace a base network connection to a Tarantool
    instance (#265).

    Missed iterator constant (#285).

Bugfixes

    Several non-critical data race issues (#218).

    Build on Apple M1 with OpenSSL (#260).

    ConnectionPool does not properly handle disconnection with
    Opts.Reconnect set (#272).
oleg-jukovec added a commit that referenced this pull request May 18, 2023
Overview

    The release adds pagination support and wrappers for the
    crud module.

Breaking changes

    There are no breaking changes in the release.

New features

    Support pagination (#246).

    A Makefile target to test with race detector (#218).

    Support CRUD API (#108).

    An ability to replace a base network connection to a Tarantool
    instance (#265).

    Missed iterator constant (#285).

Bugfixes

    Several non-critical data race issues (#218).

    Build on Apple M1 with OpenSSL (#260).

    ConnectionPool does not properly handle disconnection with
    Opts.Reconnect set (#272).

    Watcher events loss with a small per-request timeout (#284).

    Connect() panics on concurrent schema update (#278).

    Wrong Ttr setup by Queue.Cfg() (#278).

    Flaky queue/Example_connectionPool (#278).

    Flaky queue/Example_simpleQueueCustomMsgPack (#277).

Other

    queue module version bumped to 1.3.0 (#278).
oleg-jukovec added a commit that referenced this pull request May 18, 2023
Overview

    The release adds pagination support and wrappers for the
    crud module.

Breaking changes

    There are no breaking changes in the release.

New features

    Support pagination (#246).

    A Makefile target to test with race detector (#218).

    Support CRUD API (#108).

    An ability to replace a base network connection to a Tarantool
    instance (#265).

    Missed iterator constant (#285).

Bugfixes

    Several non-critical data race issues (#218).

    Build on Apple M1 with OpenSSL (#260).

    ConnectionPool does not properly handle disconnection with
    Opts.Reconnect set (#272).

    Watcher events loss with a small per-request timeout (#284).

    Connect() panics on concurrent schema update (#278).

    Wrong Ttr setup by Queue.Cfg() (#278).

    Flaky queue/Example_connectionPool (#278).

    Flaky queue/Example_simpleQueueCustomMsgPack (#277).

Other

    queue module version bumped to 1.3.0 (#278).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants