Archives of the TeradataForum
Message Posted: Tue, 27 Jan 2009 @ 23:06:07 GMT
Below information is from the Teradata knowledge articles.
Queries against tables while concurrently collecting (or recollecting) statistics on those same tables can sporadically cause 3916, 3598 errors or a 3810 restart.
*** Failure 3916 Requested information not in dictionary. *** Failure 3598 Concurrent change conflict on database -- try again. *** Failure 3810 Column/Parameter 'xxxx' does not exist.
This problem can be seen while COLLECT STATISTICS is going on in one session, SELECT queries are running in other session.
The problem as mentioned in DR113801 is because of the way COLLECT STATS is handled. A sample COLLECT STATS explain is shown below.
COLLECT STATISTICS ON A_REP_CONTROLDB.TRIGGERSREADYTOSEND INDEX(TRIGNAME); Explanation ------------------------------------
As can be seen above, we DELETE the column's(on which we are collecting stats) information from DBC.TVFIELDS (step 5) and then insert(MRG) the newly collected stats in step (6).
If any SQL in other session tries to resolve the column via an express request to DBC.TVFIELDS after delete in step (5) and between the insert that happens in step (6) , then it will not find an entry and, depending on the circumstances, will result in a '3916', a '3598, or a '3810' error.
DR 114480: Sporadic 3916 Requested Information not in Dictionary while collecting statistics.
has been closed as a duplicate of:
DR 120304: Provide a general solution for the concurrency issues in parser.
DR 120304 is considered as very high risk to implement within current GCA version, this fix is not targeted to a DBS version earlier than TD 13 at this point of time.
|Copyright 2016 - All Rights Reserved|
|Last Modified: 27 Dec 2016|