-
Notifications
You must be signed in to change notification settings - Fork 12
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
Tarantool 3 config instance fails to use 108 symbols control socket on tt start #834
Comments
DifferentialOrange
changed the title
Tarantool 3 config instance fails to use 108 symbols control socket
Tarantool 3 config instance fails to use 108 symbols control socket on tt start
May 3, 2024
BTW, the real tarantool side max path length for a Unix domain socket is 107 on Linux and 103 on Mac OS. See tarantool/tarantool#4634 for details. |
psergee
added a commit
that referenced
this issue
May 6, 2024
Tarantool adds a prefix to the console socket path. Take this prefix into account when checking for possible socket path overflows. Closes #834
psergee
added a commit
that referenced
this issue
May 6, 2024
psergee
added a commit
that referenced
this issue
May 6, 2024
psergee
added a commit
that referenced
this issue
May 6, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The case is follows.
I had created an application based on
tt create vshard_cluster
template. Application path is as follows:/home/moiseevgeorgy/Development/sandbox/t3-app/cluster-app
. Then I've tried to start an application, and got the following status:"No buffer space available" is an error often associated with "too long UNIX socket path". At the same time everything is fine with storage instances, even though their socket path is expected to be 1 symbol longer. The difference is as follows.
storage instances had received the following
TT_CONSOLE_SOCKET_DEFAULT
:and router instance had received the following one:
The reason of this difference is as follows. A router full socket path is 108 symbols, which is considered to be ok for Linux, thus it doesn't shortened. A storage full socket path is 109 symbols, which exceeds this limit and is transformed to be relative.
tt/cli/running/script_instance.go
Line 21 in a0e5aa8
tt/cli/running/script_instance.go
Lines 115 to 117 in a0e5aa8
On the other hand, while working with admin socket, Tarantool adds
unix/:
orunix/:./
before the path (see source code) and then connect fails (see source code).The workaround is rather easy: either make socket path longer or shorter. The proper solution is seems to be "consider additional Tarantool pads while trying to shorten the path", but we may give it a second thought.
The text was updated successfully, but these errors were encountered: