-
Notifications
You must be signed in to change notification settings - Fork 11
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
"Perforce Connection Error" with new version #193
Comments
Is the server name "perforce" and running on port 1666? The error you're describing means that the currently configured P4PORT setting doesn't refer to a server it can contact. The configuration of the updated plugin has changed from the old one, and the old configuration settings are not carried over into the new plugin. What happens when you click the "Check Connection" button from the VCS directory mapping configuration? (see https://github.com/groboclown/p4ic4idea#setting-up-the-plugin) If it seems all the connection information is correct, then you can turn on some debugging. I recommend turning on "p4" (no quotes) in the Help -> Debug Log Settings... dialog. That will detail in the log file all the equivalent Perforce command-line executions. |
This is from the logging
|
Do any operations complete, or is this happening for every action? If some operations complete, then there may be an opportunity to add retry attempts to the plugin when a socket timeout happens. This doesn't look like an issue with the server connection settings (P4CONFIG). I ran some simple experiments, and this is due to the Perforce server spending a long time processing data before sending back a result. It could come from the Perforce server (or p4broker, if installed) is putting a limit on the number of connections served. In version 0.10.1, you can configure those with the Settings -> Version Control -> Perforce preferences panel. I recommend first dropping the Simultaneous server connection maximum down to 1, then increase the RPC SO Socket Timeout setting. Under the covers, operations are controlled by three settings. First, each operation tries to get the next available connection from the pool of connections; this is controlled by the Connection times out after setting - if the total time to obtain the lock and run the operation goes over this time, then the whole operation times out. Next, the total pool size is controlled by the "Simultaneous" setting; no more than that number of operations can run at a time. Finally, the individual socket read requests must respond in the within the socket timeout setting. |
Still happening, even with increased timeouts:
2018-12-17 12:53:26,588 [ 15031] DEBUG - p4.api - p4java info: connected to Perforce server at perforce:1666 |
Thanks for the logging information. That last problem was due to the task queue being full (maxed out on simultaneous connections) and they took too long to run. That might be an issue with a command not terminating correctly. That can easily be tracked by adding debug logging for:
This will trace what processes gain access to the queue, which processes are pending access, and how long each one is taking. |
I'm looking now into ensuring that the values for the socket timeout are used correctly, and that retries are made for socket timeouts. This should also not be marked as going offline when it happens. |
Looks like there was another bug, where changing the sso timeout and lock timeout would only take effect when a project is opened. I'm testing out a fix for that and the new retry logic now. |
… bug with preference updates only taking effect on project start.
New version is released with the added feature. Please report back if this helps solve the issue, or if it still is a problem. |
Using the new version I had better luck for a while, but I noticed is was "Refreshing VCS history" for quite some time, so I reduced all of the fetch max values (changelist, history, etc.. ) to their minimums. After working for a few minutes, I get the following, and IntelliJ slows to a crawl 12/21/2018 11:38 AM Low Memory |
Thanks for the feedback! Looks like a bug that was fixed in beta about a memory leak is back, maybe in another form. Did you see this with the default or altered retry value? |
The next release will have minor tweaks to the memory footprint, but I don't expect it to solve this issue. I'm still looking into this, but I think I have a clue where the memory is being consumed. |
I still get this issue with the currently available build. Is there anything I can do dump the memory usage and put it here? |
I'm about to release a new version which will include extra logging for the There may be some other places related to bad hash codes, but those will require deeper inspections. |
…ced logging information around revert to try to understand the usage pattern that generates the inadvertent revert (#181).
New version is available (0.10.3) which includes the logging. |
Is this still an issue? |
Recently switched to the newest version of the plugin. It was working very briefly, and correctly checked out a file, but now it's giving the following error:
Perforce Connection Error: Connection to Perforce server perforce:1666 failed: java.net.SocketTimeoutException: Read timed out
I don't have any other details, other than it's been seen on multiple machines here, so it might be an internal network/configuration related issue.
The text was updated successfully, but these errors were encountered: