![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
We have a SSIS package that intermittently fails on the deployed server (works fine on our dev server) with the following error: "The variable "%1!s!" is already on the read list. A variable may only be added once to either the read lock list or the write lock list." Not only does it fail only some of the time it also fails on different variables, always on an expression and always at the begining. The variables that are giving the intermittent problems are used in more than one expression to initialize other variables or properties. I'm worried it is executing the expressions on more than one thread and ending up on different processors, and the locking scheme doesn't use a memory boundary when checking if the variable is already on the readonly list before adding it. Here are some examples: The following is the *first* 4 messages of one failed run: Beginning of package execution The variable "User::RefreshFrom" is already on the read list. A variable may only be added once to either the read lock list or the write lock list. The expression for variable "DeleteRevenueFactQuery" failed evaluation. There was an error in the expression. An error occurred with the following error message: "The expression for variable "DeleteRevenueFactQuery" failed evaluation. There was an error in the expression.". The following is the *first* 3 messages of another failed run: Beginning of package execution The variable "User::SqlServer" is already on the read list. A variable may only be added once to either the read lock list or the write lock list. The expression "@[User::SqlServer]" on property "ServerName" cannot be evaluated. Modify the expression to be valid. |
#3
| |||
| |||
|
![]() |
| Thread Tools | |
| Display Modes | |
| |