Intermittent errors that go away after a few minutes - google-app-engine

Everyday, I'm seeing errors come in that go away on their own after a few minutes. Usually they seem related to Cloud SQL but I've also seen SSL errors:
1) "Lost connection to MySQL server at 'reading initial communication packet', system error: 95"
2) HTTPSConnectionPool(host='accounts.google.com', port=443): Max retries exceeded with url: /o/oauth2/token (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:852)'),))
Anyone have any idea what could be causing this? Or tips on how to diagnose? It almost seems like a service is restarting and get's resolved on it's own.

Related

How to deal Large Dataset using Eloquent?

In my table there are more than 5.600.000 records. When I try to get records using PAGINATE(15), after a very long processing server response Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, contact#example.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.". Please help, Thanks in Advance.
It's probably caused by php.ini configuration.
You can check your error logs for more info (php error logs or laravel /storage/logs).
It can be memory_limit, max_execution_time or some other setting in php.ini
Its the problem with paginate(). paginate() retrieves all the rows in a table and counts the total rows to determine the total no of pages required. Since you have 5600,000 rows in the table, it is taking a long time to retrieve the results which eventually might be reaching max_execution_time or memory_limit.
I suggest the best way is to use simplePaginate()

Weird LDAP error

See stacktrace below
Caused by: javax.naming.AuthenticationException: [LDAP: error code 49
- 8009030C: LdapErr: DSID-0C0903A8, comment: AcceptSecurityContext error, data 52e, v1db1 ] at
com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3099) at
com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3045) at
com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2847) at
com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2761) at
com.sun.jndi.ldap.LdapCtx.(LdapCtx.java:328)
Cant seem to find the exact error description based on the LdapErr code (DSID-0C0903A8) and the other details. Weird thing is, this happens intermittently. It gets fixed when application server connecting to ldap is restarted. We are using Websphere Application server 8.5
Can anyone suggest the cause for this error?
This error will occur when invalid credentials (data 52e) are presented. The trivial reason is a mistyped password or username.
A more sophisticated reason can be an unknown user or outdated password due to replication issues. This can happen if an administrator creates (or modifies) the user account on DC-1 and Websphere tries to bind that user to DC-42 before the user account was replicated to that DC. Depending on network topology and latency settings you may have a lot of time (between seconds and hours) to play that game.
You may want to make sure Websphere connects to the PDC-Emulator, so at least the current passwords are known as fast as can be.

GAE custom Go runtime - internal.flushLog error

I have recently changed to use custom Go runtime on GAE, and noticed many errors like this from logs:
internal.flushLog: Flush RPC: Call error 3: invalid security ticket: 6c8027dc99b3ed3e
internal.flushLog: Flush RPC: Canceled: (timeout)
The server is still running well, but I have no idea about that error, as well as why it happens.
I'm using a custom Go runtime by using Dockerfile, and App Engine Release is 1.9.37.
Any help to clarify the error would be highly appreciated. Thanks.
This is a known issue with the Go runtime on App Engine Flexible. It tends to happen when a line is logged right before the end of a request/response.
What happens is that when the line is logged it is actually put in a list of log lines to be batched together and sent to the application server as an RPC at periodic intervals. The security ticket is canceled at the end of a request/response which sometimes can happen before the log lines have been flushed. It's harmless, except that you may lose a log line or two. :\
We're actively working on fixing it.

OData HTTP400 Timeout Error

This is one of the most bizarre problems I've come across since I started using OData for my mobile apps. The OData server I've developed is backed by SQL Express 2008 and this combination has been installed on 50 different servers and/or PCs over the last 15 months. All 50 servers have been running stable with consistent function for large amounts of data.
A couple of days ago one of my clients contacted me indicating that my client app (running on iOS7) was having an odd error come up when POSTing data to their server. The error had an HTTP code of 400 and the error text is "The operation couldn't be completed. (Timeout error 400.)". My first question is: why is a timeout error coming back with a 400 code? Generally when I get timeouts (due to firewall, etc) they're in the 100x range. There is no indication in the event logs on the server of ANY problems occurring. My own logs (stored in the SQL database) show no error (which is odd because I'm using the generic exception catching method in my OData service to log any problems). I haven't got to the step of adding logging of all requests as yet.
The error is only being raised when posting one particular set of data. All other posts from the device are functioning perfectly. I got the client to re-install the app (deleting all data) and then to download the data set that was causing the error. The download worked fine. We began making changes to the data to replicate what the data looked like when the error occurred in incremental changes, posting the change to the server and observing the result. Most of the incremental changes work fine but certain combinations cause the error to occur. One of the increments involves a large volume of changes and that posts fine, but subsequent alteration of any of the objects (sometimes altering as little as 6 characters in a text field) cause the error to occur. And yet in some circumstances altering objects that have already been posted to the server works without a problem.
I wiped the service components from the server and undertook a fresh install. I shifted TCP ports in case 443 had another listener causing problems. I reset the server. None of these change the behaviour of the error.
My last ditch solution is to completely re-install IIS and .NET Framework but I'd obviously like to avoid this as it's not my server... The server is overseas from my current location so debugging isn't really an option. Hoping someone has an idea as to what I can do diagnostically to try and determine the source of this bizarre 'gremlin'.
Have you tried a more thorough traffic analysis using a tool like Fiddler? The "timeout" error does indeed seem odd and what stood from you post was that your server was "overseas". Could there be something with the "times" that are being used/generated, e.g. server time, local time, etc?
Just to confirm, the "same" exact set of data always fails? Can you replicate this via a remote debugger or via localhost? If so, can you turn on "verbose errors"?

Reconnect database in Django

I'm testing an import script on a shared web host I just got, but I found that transactions are blocked after running it for 20 minutes or so. I assume this is to avoid overloading the database, but even when I import one item every 1 second, I still run into the problem. To be specific, when I try to save an object I receive the error:
DatabaseError: current transaction is aborted, commands ignored until end of transaction block
I've tried to delay for a few hours after this happens, but there is still a block. The only way to resume importing is to completely restart the importing program. Because of this, I reasoned that all I need to do is reconnect to the DB. This might not be true, but it's wroth a try.
So my question is this, how can I disconnect and reconnect the DB connection in Django? Is this possible?
Most likely some other database error occurred before this one, but your code ignored it and went forward with the transaction in a broken state.

Resources