-
-
Notifications
You must be signed in to change notification settings - Fork 221
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Very slow close of statement [execute SP] [CORE3982] #4315
Comments
Commented by: @dyemanov What does the "very slow" mean? One second? More? |
Commented by: @ibprovider Hm. Sorry. Duration of close operation: 00:01:25.4138854. |
Commented by: @AlexPeshkoff On dev build this caused assertion. Core was generated by `./isql -user sysdba -pas localhost:employee'. WIth local connection no such problem, IMHO the reason of delay in release build is remote protocol. |
Commented by: @hvlad Remote server send batch of records (even if application made just one fetch call) and evaluates next batch. So, it is expected that next operation with statement (close) will wait at least one internal fetch to complete. There should be no such wait if local protocol is used (XNET). |
Commented by: @dyemanov Also worth checking as: |
Commented by: @ibprovider The problem with assert still exists. Server Version :2.5.4.26822 (SuperClassic x64, DEBUG build) [Stack] [Locals] ----------- |
Submitted by: @ibprovider
Server Version :2.5.3.26543 [Windows, x64, SuperClassic]
Client Version :2.5.3.26543
Database ODS :11.2
Database Dialect:3
---------- [Test stored procedure]
CREATE PROCEDURE SP_PAUSE_FETCH(N INTEGER, PAUSE INTEGER)
RETURNS (ID INTEGER,DUMMY VARCHAR(32000))
AS
DECLARE VARIABLE P INTEGER;
DECLARE VARIABLE S INTEGER;
BEGIN
ID=0;
DUMMY='';
P=0;
WHILE(P<32000)DO
BEGIN
DUMMY=DUMMY||'A';
P=P+1;
END
S=0;
WHILE(S=0)DO
BEGIN
P=0;
WHILE(P<PAUSE) DO P=P+1;
IF(ID<N)THEN
BEGIN
ID=ID+1;
SUSPEND;
END
ELSE
BEGIN
S=1;
END
END
END
---------- [/Test stored procedure]
Scenario of API call
1. begin transaction
2. prepare and execute "select ID,DUMMY from SP_PAUSE_FETCH(1000,10000000)"
3. fetch one row
4. close statement <---- very slow operation.
The text was updated successfully, but these errors were encountered: