Google Cloud Function "[ERROR]: Exception on / [POST]" - exception

I have this error
[ERROR]: Exception on / [POST]
as the last entry in the Log tab of the Cloud Function after testing the function failed with:
Error: function terminated. Recommended action: inspect logs for termination reason. Additional troubleshooting documentation can be found at https://cloud.google.com/functions/docs/troubleshooting#logging Details:
500 Internal Server Error: The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
What to do?

Just sharing this since it surprised me. The log just needs some dozen seconds to really finish the entries. In my case, I went to the Log directly after the failed test, and then jumped to Edit of the CF right after seeing that log entry error at the bottom, thinking it would be all to gain from the log.
Then I changed my mind, went back to the Log tab and saw the real error entry only coming after that [ERROR]: Exception on / [POST].
Not important since you will have another error anyway: I had used create_engine() function without the needed module prefix sqlalchemy.create_engine(). (Side-note: Querying your own db does not seem to work anyway in a CF unless you use a VPC connector, do not think from this example that it might be possible).

Related

.NET/MYSQL RDS: Intermittent Issue A call to SSPI failed, see inner exception, he message or signature supplied for verification has been altered

Seeing this error seemingly randomly (never been able to recreate):
Intermittent A call to SSPI failed, see inner exception, he message or signature supplied for verification has been altered
.net 4.5 connecting to MYSQL 5.7.21 on RDS.
Is this an issue on our end or on AWS' end?

Visual Studio Update Wizard MySql

I am running Visual Studio 2010, and attempting to update my Entity Framework project using the Update Wizard. When I attempt to add a single table from the MySql database, the add tab will show the table that I am attempting to add, however when I click finish, I get the following error message.
Unable to generate the model because of the following exception: 'An error occurred while executing the command definition. See the inner exception for details.
Fatal error encountered during command execution.
Fatal error encountered attempting to read the resultset.
Reading from the stream has failed.
Attempted to read past the end of the stream.
I get the same error message if attempt to create the Entity Framework from scratch. In addition, Server Explorer shows that the connection is successful when I test it.
I have also contacted Host Gator who is hosting the database and they where not able to see any issues on their side.
The problem ended up being that our shared server, was not able to handle the Update Request from the Entity Connector Framework and was timing out. Once we moved our database over to a different server we no longer had an issue.

ColdFusion 10 Communications link failure to MySQL

We are migrating some websites onto a cloud infrastructure running Windows 2008 virtual machines. These websites all run on ColdFusion with MySQL databases. They currently are running in our CoLo with no problems. Additionally, they are running on our development network in our offices with no problems.
We are setting up our cloud to match as closely as possible the configuration we currently use which is, essentially, CF10 + IIS on one server and MySQL on a separate machine. We are 99% finished and most things are running great. However....
We have run into a couple, as in 2, places where we click a link/button and are greeted with:
Error Executing Database Query.
Communications link failure The last packet successfully received from the server was 0 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
Scanning the stack-trace I also find:
Caused by: java.net.SocketException: Connection reset
The communications link error is ALWAYS: 0ms.
What's most puzzling is the Queries that seem to be causing this are simple queries that are used ALL OVER the sites with no problems. Why they are failing at hese 2 particular places has us at wits end.
Our only clue is, looking at the CF Error description of what scripts are called, we can see the script where the query is failing is getting called twice? For example, one of the occurences is in our Application file:
>The error occurred in D:/Our_Web_Sites/oursite/Application.cfm: line 73
>Called from D:/Our_Web_Sites/oursite/Application.cfm: line 17
>Called from D:/Our_Web_Sites/oursite/Application.cfm: line 1
>Called from D:/Our_Web_Sites/oursite/Application.cfm: line 73
>Called from D:/Our_Web_Sites/oursite/Application.cfm: line 17
>Called from D:/Our_Web_Sites/oursite/Application.cfm: line 1
We can find nothing in our CF code that would be causing the script to be called twice so our guess is the first call is failing on the Query so CF tries again...only to fail and error.
Googling this issue I've found lots of posts about changing the MySQL timeouts. None of those worked and I didn't expect them to since what we're dealing with doesn't appear to be a timeout issue. These pages fail each and every time.
The closest we've come to a solution came from this blog posting:
http://www.talkingtree.com/blog/index.cfm/2011/1/12/Validation-Query-for-MySQL-communications-link-failure!
If we UNCHECK the "Maintain connections across client requests. " setting in CFAdmin then the error goes away. The blog suggests leaving that checked, which is our preference, and using Connection Validation of "SELECT 1;". Try that...same error.
We've also tried the JDBC AutoConnect=true option. No effect.
Downloaded latest JDBC Connector and used it instead of standard CF10-MySQL connector. No effect.
Again, 99% of the site works with the exception of these two links, both of which work just fine in all our other environments. Any other ideas?
I feel like I've had a similar problem every time I upgrade CF or MySQL. Usually a change in the JDBC driver or connection string helps, which I see you already tried.
Have you checked the MySQL error log for any hints? Ours is in /var/lib/mysql (whatever your 'datadir' variable is set to) and ends with a .err extension.
Also, maybe trying some of the other JDBC connection string options for your version? I see some extended logging you can enable.
http://dev.mysql.com/doc/refman/5.1/en/connector-j-reference-configuration-properties.html
Found the issue. We are running our network on Savvis' cloud infrastructure. The Windows server instances we were using from Savvis had Trend Micro Deep Security Agent installed. This is an intrusion protection system and it was the problem. Disabling the service cleared up all communication errors. I have no clue why it was rejecting some queries that it had just accepted previously. I am just glad to (finally) put this behind me!

how to understand "can't connect" mysql error messages?

I have the following error message:
SQLSTATE[HY000] [2003] Can't connect to MySQL server on
'192.168.50.45' (4)
How would I parse this (I have HY000, I have 2003 and I have the (4).
HY000 is a very general ODBC-level error code, and 2003 is the MySQL-specific error code that means that the initial server connection failed. 4 is the error code from the failed OS-level call that the MySQL driver tried to make. (For example, on Linux you will see "(111)" when the connection was refused, because the connect() call failed with the ECONNREFUSED error code, which has a value of 111.)
Using the perror tool that comes with MySQL:
shell> perror 4
OS error code 4: Interrupted system call
It might a bug where incorrect error is reported, in this case, it might a simple connection timeout (errno 111)
FWIW, having spent around 2-3 months looking into this in a variety of ways, we have come to the conclusion that (at least for us), the (4) error happen when the network is too full of data for the connection to complete in a sane amount of time. from our investigations, the (4) occurs midway through the handshaking process.
You can see this in a unix environment by using 'netem' to fake network congestion.
The quick solution is to up the connection timeout parameter. This will hide any (4) error, but may not be the solution to the issue.
The real solution is to see what is happeneing at the DB end at the time. If you are processing a lot of data when this happens, it may be a good ideas to see if you can split this into smaller chunks, or even pas the processing to a different server, if you have that luxury.
I happened to face this problem. Increase the connect_timeout worked out finally.
I was just struggling with the same issue.
Disable the DNS hostname lookups solved the issue for me.
[mysqld]
...
...
skip-name-resolve
Don't forget to restart MySQL to take effect.
#cdhowie While you may be right in other circumstances, with that particular error the (4) is a mysql client library error, caused by a failed handshake. Its actually visible in the source code. The normal reason is too much data causing an internal timeout. Making 'room' for the connection normally sorts it without masking the issue, like upping the timeout or increasing bandwidth.

SSIS connection dropped

I have an SSIS package that within a data flow task fetches a lot of data using an OLEDB connection.
When i run the package from my local machine it sometimes fails with the following error (snippet):
Warning: 0x80019002 at OnError: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. [..]
Error: 0xC0202009 at DFT Transform, SRC BSASREL1 [1]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "Microsoft OLE DB Provider for SQL Server" Hresult: 0x80004005 Description: "[DBNETLIB][ConnectionRead (recv()).]Generel netværksfejl. [..]
Error: 0xC0047038 at DFT Transform, SSIS.Pipeline: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on component "SRC BSASREL1" (1) returned error code 0xC0202009.
The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component,
but the error is fatal and the pipeline stopped executing.
If I deploy the package to the server and run it with an agent job nothing goes wrong.
The error is periodical which makes it hard for me to debug....
Have anyone else had similar errors or do anyone have ideas of how to solve this?
EDIT: It seems that the problem is solved. We haven't had connection problems since we disabled TCP Chimney.
I don't think there's enough information here to isolate the root cause of the error. That's not SSIS' fault. There are error returned from various providers and SSIS simply "forwards" them. There are likely clues in the error message pointing to the cause.
I once spent a lot of time trying to fix a connectivity issue in SSIS and SQL Server. The root cause turned out to be one of the DCs had gone offline...
Andy
Does it run for a long time? Is the server where you deploy the package the same server where you read the data from?
If so, your problem might be external. I have similar issues with some heavy data transfer packages i run. Sometimes they fail if the server is too loaded with other processes. If that is the case, it is an external problem.
My advice is that you try to pinpoint the source of the error (trying to overload a test server while you run the package, or look for timeouts on the connection) and circumvent the limitation through a retry mechanism, or by running the package on lower traffic times.
well, 0xC0202009 is a DTS_E_OLEDBERROR error (http://msdn.microsoft.com/en-us/library/ms345164.aspx) and dbnetlib.dll process "has the ability to send keep-alive TCP/IP packets to Microsoft SQL Server in order to maintain the connection" (this is from BOL)
I would say something related timeouts.
There is a command timeout propertie on the OLE DB Source component. Can you check the value?
Or maybe on the connectionstring on the Connection manager
Nobody's done anything with this post in two years, but I ran into this error and found that the size of the data set determined whether this error was thrown or not. Oddly, when running the SSIS program through the IDE, I didn't get the error. It's only in production mode that I found this error occurring.
The solution, I found, was to break up my data sets (which were being written to XML) using something like this to limit the amount of data returned:
select * from (
select *, row_number() over (order by a.pkey asc) 'ranker' from sometable
) where Ranker <500000
Sucks, but that's what I found worked.