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

[Suggestion] Provide 'BETA' releases #4

Open
lars18th opened this issue Jul 21, 2017 · 13 comments
Open

[Suggestion] Provide 'BETA' releases #4

lars18th opened this issue Jul 21, 2017 · 13 comments
Milestone

Comments

@lars18th
Copy link

Hi,

Please, can you provide some BETA or RC releases?
This will simplifies the testing for some users.

Thank you!

@jim3ma
Copy link
Owner

jim3ma commented Aug 1, 2017

@lars18th 🎉
Thanks for you kindly suggestion.
Gota project uses travis for CI.
I have just tag master branch for v0.0.1-beta.
Anyone can download from release for trying gota.

@jim3ma jim3ma changed the title Seggestion: Provide 'BETA' releases Suggestion: Provide 'BETA' releases Aug 1, 2017
@lars18th
Copy link
Author

Hi @jim3ma ,

Thank you! Now I can test "gota" and it works! ;)

However, some suggestions:

  1. Please, improve the robustness... some times after a lot of use the server needs to be restarted. Perhaps a simple remote command for restarting or a simple full reset watchdog can be a partial solution.

  2. Can you implement some kind of priorities for the paths? For example: use path 1 for 80% of the traffic and 20% for path2. I like to bond Wifi and 4G channel, but the 4G is a mettered connection, so for this reason I like to use it less than the wifi channel.

  3. About the security and passwords: Can you also add a "white list of remote IPs"? This is for refuse any connection from unkown addresses.

  4. Also I like to see more status information. Perhaps a simple tool for printing some info can be useful.

What you think?
And thank you for this good project!

@jim3ma
Copy link
Owner

jim3ma commented Aug 23, 2017

Hello @lars18th
Thanks for testing gota.
I'm glad to hear your suggestions.

  1. I only develop and debug gota weekend. We need more automate test cases.
  2. Priorities is great idea, I will think about how to implement it.
  3. Yes, white list is OK. I will develop this feature.
  4. Status information is necessary. I will develop this feature.

@lars18th
Copy link
Author

lars18th commented Aug 23, 2017

Hi @jim3ma ,

Thanks for testing gota.
I'm glad to hear your suggestions.

Great!
Please, remember to tag your new commits and put the release binary available.

@lars18th
Copy link
Author

Hi @jim3ma ,

After some days of testing it, another suggestion:

  1. Support more than one listening/redirecting TCP port. My current idea is redirect 2 or 3 ports using the same "gota connection".

I hope you agree to add this function in a future release.
Regards.

@lars18th
Copy link
Author

lars18th commented Aug 25, 2017

Hi @jim3ma ,

Using the current alpha I see that very often the program generates erros. Then I need to restart both, client and server. So, I suggest to add an interesting function:

  1. Add one command-line parameter (or configuration) for "quit on fatal/medium/warn errors".

The idea is run the server and the client controlled by a monitor process that restarts it in case of exit. However, to use in this way you need to provide the "quit/exit" functionality when some level of errors defined by the user is reached and then automatically exit.

You agree with this?
With this "simple" function will be more easy to deploy it as a daemon.

Furthermore, I have other suggestions if you like to hear:

  1. Implement a bye,bye message. At time, when a client is restarted the server has troubles with already opened connections. Moreover, when the server is restarted the client doesn't be notified, and we need to restart it manually.

  2. Implement a path reconnection after error/close. At time, when one path goes off-line then client never tryes to reopen it. Will be very interesting to try to reconnect inmediatly after the connection is closed, and if an error is comming, then wait some delay and retry.

You found these ideas interesting?
Regards.

@jim3ma jim3ma added this to the 0.0.1 milestone Aug 26, 2017
@lars18th
Copy link
Author

Hi @jim3ma ,

Thank you for the last release! A good improvement in stability.

I'll try to write some shell script for a continous executition in case of error. Perhaps you will like to include it in the 'examples' section.

If you can, please, add some option for an user selectable "quit when error". The idea is to leave to the user the option for selection at which level of errors triggering the exit.

And more more thing. In my tests with the last release I see this several times:

ERRO[0062] CH: Write to connection error: write tcp 192.168.1.37:8080->192.168.1.1:43748: write: broken pipe
ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 17, dropped.
ERRO[0062] CH: Write to connection error: write tcp 192.168.1.37:8080->192.168.1.1:43749: write: broken pipe
ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 17, dropped.
ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 18, dropped.
ERRO[0062] CH: Write to connection error: write tcp 192.168.1.37:8080->192.168.113:43747: write: broken pipe
ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 17, dropped.
ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 17, dropped.
ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 18, dropped.
ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 16, dropped.
ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 17, dropped.
ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 18, dropped.
ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 16, dropped.
ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 18, dropped.
ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 18, dropped.
ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 18, dropped.
ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 16, dropped.
ERRO[0063] CM: Connection didn't exist, client id: 1701494204, connection id: 17, dropped.
ERRO[0063] CM: Connection didn't exist, client id: 1701494204, connection id: 18, dropped.
ERRO[0063] CM: Connection didn't exist, client id: 1701494204, connection id: 16, dropped.
ERRO[0063] CM: Connection didn't exist, client id: 1701494204, connection id: 17, dropped.
ERRO[0116] CM: Connection didn't exist, client id: 1701494204, connection id: 26, dropped.
ERRO[0121] CM: Connection didn't exist, client id: 1701494204, connection id: 21, dropped.
WARN[0124] CH: Connection 14 closed, Gota Frame dropped
ERRO[0337] CM: Connection didn't exist, client id: 1701494204, connection id: 43, dropped.

FYI, this is my testing environment:

  • One local machine running gota listening in port 8080.
  • One remote machine running gota listening in two incommings ports and with an upstream to a proxy server in another machine at port 8080.
  • One local proxy server listening in port 8080 and with upstream to the local "gota" server.
  • Two pathes between the local and the remote gotas: one over a regular DSL connection and one over LTE connection.
  • Then I connect my workstation machine to the local proxy server.

And this is the architecture:

Client ---> Local Proxy ---> gota client ====(2 paths DSL/LTE)====> gota server ---> Remote Proxy ---> Internet

I suggest do tests with a similar environment.
Regards.

@jim3ma
Copy link
Owner

jim3ma commented Aug 29, 2017

Hi, @lars18th
I have pushed a new release(v0.0.1-beta3) for bug fixed and improving the robustness (Suggestion 1 & 6 & 7). You can have a try.
I will fix more bugs later and improve the robustness first.

@jim3ma
Copy link
Owner

jim3ma commented Aug 29, 2017

@lars18th
I will split your suggestions into other issues for independence feature request.
#2 for your suggesstion 4.

@jim3ma
Copy link
Owner

jim3ma commented Aug 29, 2017

@lars18th
About the error, gota will exit when encounters any error.
I will add retry mechanism for stability.

About the log, I will reduce debug log later.

I did not find/encounter the error log below in my environment. Can you provide some actions ?

ERRO[0062] CM: Connection didn't exist, client id: 1701494204, connection id: 17, dropped.

One more thing, I also use proxy for testing. 🎉 .

@lars18th
Copy link
Author

Hi @jim3ma ,

Thank you for the 0.0.1-Beta3 ! I'll test it.

Also thank you for split all suggestions in different issues. I'll write in the others and I leave this only for the original request: 'Beta releases'.

One more thing, I also use proxy for testing.

Great!
So, please, check proxy+gota with the FAST.COM service and the SPEEDTEST (beta HTML5). Both use TCP only and work with HTTP proxies.

Regards.

@lars18th lars18th changed the title Suggestion: Provide 'BETA' releases [Suggestion] Provide 'BETA' releases Aug 31, 2017
@lars18th
Copy link
Author

Hi,

I do some tests with the "old" release 0.0.1-Beta5.
Please, generate a new release, as the Beta5 has a lot of errors and inconsistencies, for example a lower performance. From this "release" some commits were done.

If you release the Beta 0.6, then I'll check it! And if you can, please add the "release name with the subversion" (i.e. v0.0.1-beta6) in the name of the packages (i.e. "gota_linux_386_v0.0.1-beta6.tar.gz") instead of HEAD.

Thank you!

@jim3ma
Copy link
Owner

jim3ma commented Sep 17, 2017

I have fixed a performance bug in beta6.
Currently, I print some unused logs for debug. If you have found any issues, please paste them here or create a new issues.

Thanks for feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants