List:Cluster« Previous MessageNext Message »
From:Stewart Smith Date:January 14 2010 7:22am
Subject:Re: ndbapi error----Sending TCROLLBACKREQ with Bad flag
View as plain text  
On Tue, Jan 05, 2010 at 12:59:41PM +0000, Frazer Clement wrote:
> >Error in parse_file_and_insert, line 427. Code 266, message: Time-out in NDB,
> probably caused by deadlock
> >2010-01-05 04:08:45 [NdbApi] ERROR    -- Sending TCROLLBACKREQ with Bad flag
> >2010-01-05 04:08:45 [NdbApi] ERROR    -- Sending TCROLLBACKREQ with Bad flag
> >2010-01-05 04:08:45 [NdbApi] ERROR    -- Sending TCROLLBACKREQ with Bad flag
> >2010-01-05 04:08:45 [NdbApi] ERROR    -- Sending TCROLLBACKREQ with Bad flag
> >2010-01-05 04:08:45 [NdbApi] ERROR    -- Sending TCROLLBACKREQ with Bad flag

There's a giant comment about "user did not perform any rollback, they
just closed the connection" in NdbTransaction.cpp... that could be it?

Or.... it could be this in executeNoBlobs() causing it... which
indicates probable extremely high load on ndbd caused by something
probably not quite right.

Any other error messages?

        /*
         * Just for fun, this is only one of two places where
         * we could hit this error... It's quite possible we
         * hit it in Ndbif.cpp in Ndb::check_send_timeout()
         *
         * We behave rather similarly in both places.
         * Hitting this is certainly a bug though...
         */
        g_eventLogger->error("WARNING: Timeout in executeNoBlobs()
waiting for "
                             "response from NDB data nodes. This
should NEVER "
                             "occur. You have likely hit a NDB Bug.
Please "
                             "file a bug.");
        DBUG_PRINT("error",("This timeout should never occure,
execute()"));
        g_eventLogger->error("Forcibly trying to rollback txn (%p"
                             ") to try to clean up data node
resources.",
                             this);
        executeNoBlobs(NdbTransaction::Rollback);
        theError.code = 4012;
        theError.status= NdbError::PermanentError;
        theError.classification= NdbError::TimeoutExpired;
        setOperationErrorCodeAbort(4012); // ndbd timeout
        DBUG_RETURN(-1);





-- 
Stewart Smith
Thread
ndbapi error----Sending TCROLLBACKREQ with Bad flagraid fifa5 Jan
  • Re: ndbapi error----Sending TCROLLBACKREQ with Bad flagFrazer Clement5 Jan
    • Re: ndbapi error----Sending TCROLLBACKREQ with Bad flagStewart Smith14 Jan