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

Implement proxying box calls on the IPROTO level #5012

Open
akudiyar opened this issue May 22, 2020 · 9 comments
Open

Implement proxying box calls on the IPROTO level #5012

akudiyar opened this issue May 22, 2020 · 9 comments
Labels
feature A new functionality
Milestone

Comments

@akudiyar
Copy link

akudiyar commented May 22, 2020

Summary:
Allow users to interact with vshard or Cartridge cluster as with a single Tarantool instance. This may be achieved via proxying the box.* calls on the iproto level.

Description:
There are a number of connectors that are designed to work with a single Tarantool instance, some of them are even unmaintainable. Also exposing cluster management details to users may be unnecessary if they want only reliable storage.

In this case, a proxy for IPROTO_* calls can solve the problem. Since these calls over iproto can not be proxied on the Lua level, changes must be done on the iproto implementation level.

@akudiyar akudiyar added the feature A new functionality label May 22, 2020
@kostja
Copy link
Contributor

kostja commented May 22, 2020 via email

@olegrok
Copy link
Collaborator

olegrok commented May 22, 2020

There is already a ticket for this - implement proxy module

#2625

@akudiyar
Copy link
Author

akudiyar commented May 22, 2020

@kostja You probably mentioned the ticket #2625 -- although it looks similar, the main case and goal are different. Solving of this issue may lead to solving the other somehow.

@kostja
Copy link
Contributor

kostja commented May 22, 2020

Well, how would you implement vshard proxying without failover? vshard router currently fails over automatically. #2625 is a subset of this issue, not a different issue.

@Mons
Copy link
Contributor

Mons commented May 22, 2020

No, these tikets are completely different.
This ticket i about API: access to IPROTO_SELECT, IPROTO_UPDATE, IPROTO_INSERT, so on...
That ticket is about to implement something on top of... maybe this ticket.

I hardly vote for this ticket. And for implementation of proxy I will use github.com/moonlibs/apex

@kostja
Copy link
Contributor

kostja commented May 22, 2020

I have no idea what "access API" you're talking about.
Ggiven that you guys think is different and I don't is a good sign this is all messed up. I suggest to use an existing ticket and write a better description for it, maybe splitting the work into independent parts. Otherwise it's a mess - the bugs database is a collection of badly described issues which are only understood by their authors.
Speaking of the nature, no it is not different, before you can bounce iproto commands to the right shard, you need to be able to bounce it to the right replica, as vshard is currently doing both.

@Mons
Copy link
Contributor

Mons commented May 22, 2020

I've tired to swordplay with you.
You didn't even try to understand what we are talking about and what the problem we are try to solve.
You're completely blaming any newly created tickets, always referring your own but very old tickets, even if they only a bit relative.
What was the force, that stopped you from implementing all of those tickets, when you was the head of core development team?

@akudiyar
Copy link
Author

@kostja @Mons Guys, please, stop flaming. Let this ticket be discussed and then all the necessary merges and new tickets will be done.

@sharonovd
Copy link

tarantool/vshard#150

This ticket is slightly more related

@kyukhin kyukhin added this to the wishlist milestone Sep 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A new functionality
Projects
None yet
Development

No branches or pull requests

6 participants