Reporting services is throwing deadlock exceptions which if retried (up to 10 times) sometimes succeed. When those exceptions happen Reporting Services is coming to a halt waiting for the deadlock to resolve. Performance is unacceptably degraded then.
In my test I am trying to run multiple concurrent SOAP sessions with a single admin level user account and in each session my process moves old report definitions into historical folders (saves with unique names) and then creates new report definition (again the report names are not overlapping) and finally creates a snapshot of the new report.
1. Is there a way to avoid those deadlocks?
2. From the SQL Server log files it looks like there is some level of pessimistic locking happening on some tables. Is that really necessary? It seems like the operations that are being performed deal with independent data elements that should not require any synchronization/serialization.
3. What level of parallelism is allowed when making concurrent calls to the server on the same user id but within separate sessions? Are there any restrictions?
4. Is there a place (maybe at MSDN) to report this as a real bug?
I can also provide sql server trace log file with information about the deadlock. No way to attach it here.
***********************************************************************
SOAP Exception message when the deadlock occurs is as follows:
***********************************************************************
Reason: An internal error occurred on the report server. See the error log for m
ore details. --> An internal error occurred on the report server. See the error
log for more details. --> Transaction (Process ID 55) was deadlocked on lock res
ources with another process and has been chosen as the deadlock victim. Rerun th
e transaction.
12:32:41,836 ERROR [STDERR] AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
faultSubcode:
faultString: An internal error occurred on the report server. See the error log
for more details. --> An internal error occurred on the report server. See t
he error log for more details. --> Transaction (Process ID 55) was deadlocked
on lock resources with another process and has been chosen as the deadlock vict
im. Rerun the transaction.
faultActor: http://engw03dmrs1/ReportServer/ReportService.asmx
faultNode:
faultDetail:
{http://www.microsoft.com/sql/reportingservices}ErrorCode: rsInternalErr
or
{http://www.microsoft.com/sql/reportingservices}HttpStatus: 400
{http://www.microsoft.com/sql/reportingservices}Message: An internal err
or occurred on the report server. See the error log for more details.
{http://www.microsoft.com/sql/reportingservices}HelpLink: http://go.micr
osoft.com/fwlink/?LinkId=20476&EvtSrc=Microsoft.ReportingServices.Diagnostic
s.Utilities.ErrorStrings.resources.Strings&EvtID=rsInternalError&ProdNam
e=Microsoft%20SQL%20Server%20Reporting%20Services&ProdVer=8.00
{http://www.microsoft.com/sql/reportingservices}ProductName: Microsoft S
QL Server Reporting Services
{http://www.microsoft.com/sql/reportingservices}ProductVersion: 8.00.878
.00
{http://www.microsoft.com/sql/reportingservices}ProductLocaleId: 127
{http://www.microsoft.com/sql/reportingservices}OperatingSystem: OsIndep
endent
{http://www.microsoft.com/sql/reportingservices}CountryLocaleId: 1033
{http://www.microsoft.com/sql/reportingservices}MoreInformation:
<Source>ReportingServicesLibrary</Source>
<Message msrs:ErrorCode="rsInternalError" msrs:HelpLink="http://go.mic
rosoft.com/fwlink/?LinkId=20476&EvtSrc=Microsoft.ReportingServices.Diagnosti
cs.Utilities.ErrorStrings.resources.Strings&EvtID=rsInternalError&ProdNa
me=Microsoft%20SQL%20Server%20Reporting%20Services&ProdVer=8.00" xmlns:msrs= "http://www.microsoft.com/sql/reportingservices">An internal error occurred on t
he report server. See the error log for more details.</Message>
<MoreInformation>
<Source>.Net SqlClient Data Provider</Source>
<Message>Transaction (Process ID 55) was deadlocked on lock resource
s with another process and has been chosen as the deadlock victim. Rerun the tra
nsaction.</Message>
</MoreInformation>
{http://www.microsoft.com/sql/reportingservices}Warnings: nullCan you contact me offline? Replace ms with microsoft.
Thanks
Tudor
--
Tudor Trufinescu
Dev Lead
Sql Server Reporting Services
This posting is provided "AS IS" with no warranties, and confers no rights.
"Tomasz" <Tomasz@.discussions.microsoft.com> wrote in message
news:B85F6392-B1B9-4FE0-B69B-D51E47C2EB4B@.microsoft.com...
> Reporting services is throwing deadlock exceptions which if retried (up to
10 times) sometimes succeed. When those exceptions happen Reporting Services
is coming to a halt waiting for the deadlock to resolve. Performance is
unacceptably degraded then.
> In my test I am trying to run multiple concurrent SOAP sessions with a
single admin level user account and in each session my process moves old
report definitions into historical folders (saves with unique names) and
then creates new report definition (again the report names are not
overlapping) and finally creates a snapshot of the new report.
> 1. Is there a way to avoid those deadlocks?
> 2. From the SQL Server log files it looks like there is some level of
pessimistic locking happening on some tables. Is that really necessary? It
seems like the operations that are being performed deal with independent
data elements that should not require any synchronization/serialization.
> 3. What level of parallelism is allowed when making concurrent calls to
the server on the same user id but within separate sessions? Are there any
restrictions?
> 4. Is there a place (maybe at MSDN) to report this as a real bug?
> I can also provide sql server trace log file with information about the
deadlock. No way to attach it here.
> ***********************************************************************
> SOAP Exception message when the deadlock occurs is as follows:
> ***********************************************************************
> Reason: An internal error occurred on the report server. See the error log
for m
> ore details. --> An internal error occurred on the report server. See the
error
> log for more details. --> Transaction (Process ID 55) was deadlocked on
lock res
> ources with another process and has been chosen as the deadlock victim.
Rerun th
> e transaction.
> 12:32:41,836 ERROR [STDERR] AxisFault
> faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
> faultSubcode:
> faultString: An internal error occurred on the report server. See the
error log
> for more details. --> An internal error occurred on the report server.
See t
> he error log for more details. --> Transaction (Process ID 55) was
deadlocked
> on lock resources with another process and has been chosen as the
deadlock vict
> im. Rerun the transaction.
> faultActor: http://engw03dmrs1/ReportServer/ReportService.asmx
> faultNode:
> faultDetail:
> {http://www.microsoft.com/sql/reportingservices}ErrorCode:
rsInternalErr
> or
> {http://www.microsoft.com/sql/reportingservices}HttpStatus: 400
> {http://www.microsoft.com/sql/reportingservices}Message: An
internal err
> or occurred on the report server. See the error log for more details.
> {http://www.microsoft.com/sql/reportingservices}HelpLink:
http://go.micr
>
osoft.com/fwlink/?LinkId=20476&EvtSrc=Microsoft.ReportingServices.Diagnostic
> s.Utilities.ErrorStrings.resources.Strings&EvtID=rsInternalError&ProdNam
> e=Microsoft%20SQL%20Server%20Reporting%20Services&ProdVer=8.00
> {http://www.microsoft.com/sql/reportingservices}ProductName:
Microsoft S
> QL Server Reporting Services
> {http://www.microsoft.com/sql/reportingservices}ProductVersion:
8.00.878
> .00
> {http://www.microsoft.com/sql/reportingservices}ProductLocaleId:
127
> {http://www.microsoft.com/sql/reportingservices}OperatingSystem:
OsIndep
> endent
> {http://www.microsoft.com/sql/reportingservices}CountryLocaleId:
1033
> {http://www.microsoft.com/sql/reportingservices}MoreInformation:
> <Source>ReportingServicesLibrary</Source>
> <Message msrs:ErrorCode="rsInternalError"
msrs:HelpLink="http://go.mic
>
rosoft.com/fwlink/?LinkId=20476&EvtSrc=Microsoft.ReportingServices.Diagnosti
> cs.Utilities.ErrorStrings.resources.Strings&EvtID=rsInternalError&ProdNa
> me=Microsoft%20SQL%20Server%20Reporting%20Services&ProdVer=8.00"
xmlns:msrs=> "An">http://www.microsoft.com/sql/reportingservices">An internal error
occurred on t
> he report server. See the error log for more details.</Message>
> <MoreInformation>
> <Source>.Net SqlClient Data Provider</Source>
> <Message>Transaction (Process ID 55) was deadlocked on lock
resource
> s with another process and has been chosen as the deadlock victim. Rerun
the tra
> nsaction.</Message>
> </MoreInformation>
> {http://www.microsoft.com/sql/reportingservices}Warnings: null
>
No comments:
Post a Comment