It appears you have an intermittent DNS issue since it is working some of the time. I recommend that you review the connections that failed and make note of the time to see if there is a pattern there. Since DNS is local, perhaps a server is having an issue or is down for maintenance. When a resource works at times and nothing is changing in GoAnywhere, it is best to look at the external resource, or in this case the DNS.
To help troubleshoot, you can run a short test project to connect to this resource repeatedly over time, then present the findings to your system admin and the remote server admin. If nothing changes in the GA resource, then something is changing elsewhere.
The DNS must not be the same for the production machine if the behavior is different. If nothing else, you may have to use the IP address if the name cannot be resolved.
I have actually run the smbclient from the Go Anywhere server itself and was able to successfully connect to the resource by DNS name. At the same time I am doing that, I then tried to connect to the DNS alias by going through the GA Director screen to test the resource and it fails. It seems to me that this is only failing from within GA Director itself and not from the server.
Any other thoughts?
the issues started occurring around Feb 1st and the symptoms are sporadic connection failures to SMB locations. I have tried multiple methods to resolve this but no luck yet.
Options included changing logging levels, increasing timeouts, changing the resolve order to allow DNS 1st. Nothing has worked...
We have been told to mount the SMB shares since the linux SMB client never seems to have this issue. But there are concerns (security) around this method. We'd like for the root cause to be identified.
Errors seen have been "The handle is invalid". This causes major headaches as these jobs are essential to our operation.
oddly enough, just this morning I created a script that runs every 30 mins to connect to a few of these shares. This is to see when the issue is occurring and when it is not
Lead Solutions Consultant
We are using SMB driver.
When I test a Network Share connection it takes roughly 2 to 3 minutes to complete.
When I try to add a flat file read task and I click the Browse and try to drill down to the file I wait for minutes for each folder to return.
I've ran tracert on the server I'm connected to and am able to resolve DNS as well as IP.
I've changed server name to IP in Resources.
Still no luck.
I have two projects that have been running smoothly in TEST and PROD environments.
Yesterday around 10 AM they all, both environments, started failing.
I created a test project and a new resource connecting to a completely different server and I get the same error message.
I've included it here.
Further research and testing has shown that a fully qualified Domain name (e.g. Domain.com) resolved the issue.
I have to assume the error message from GoAnywhere call stack was due to a timeout where the Domain controller didn't respond in a timely manner and therefore the call made by the scheduler raised the internal error 'The Handle is Invalid'.
The solution we found that enabled all of our scheduled projects to run was to update our Network Share resources' Domain field with Domain.net (or .com, etc. - fully qualified domain name). As soon as I did that all of the other projects that were failing began to work. To me that doesn't make sense either since only a single resource was changed to include the .net qualification in the domain field yet all other resources using that same domain began to work.
We're still researching the log files on the shared server, domain controller, and eventually we'll hit the rounters and firewalls.
My question now is: Does GoAnywhere identify the fastest connection configuration of a resource and only use that configuration going forward?
So...If I successfully connect with just the domain name and it takes 25 seconds to connect is that successful connection compared against any other connections to the same resource, found to be the fastest, and logged as the one to use in any future calls?
When I changed the domain to a fully qualified name it got a response of 1 second. Does GoAnywhere then take that as the defacto and map all other calls to that domain in the same way?