Srp plugin keeps connection after database has been removed  for ~10 seconds 
(SS and SC).
-----------------------------------------------------------------------------------------

                 Key: CORE-6441
                 URL: http://tracker.firebirdsql.org/browse/CORE-6441
             Project: Firebird Core
          Issue Type: Bug
          Components: Engine
            Reporter: Pavel Zotov
         Attachments: srp-cached-conn-after-drop-db-with-fixed-name.bat.7z, 
srp-cached-conn-after-drop-db-with-random-name.bat.7z

Bug was encountered while implementing test for CORE-6412.
After discuss with Alex, it was decided to create seperate ticket.

Consider scenario:
0) choose some name for database file; REMOVE this file if it exists

LOOP:
1) create database which are self-security;
2) create user SYSDBA in this database, suing plugin Srp;
3) run ISQL and connect to this DB using TCP protocol, and do some trivial 
query (say, to mon$ tables).  Send STDERR to separate file.
4) exit from ISQL and change state of this DB to full shutdown. Send STDERR to 
separate file (as on previous step; wil accumulating).
5) if size of STDERR log is greater than 0 - display its content and leave from 
scenario; otherwise:
6) check attributes from DB header. Line must contain 'full shutdown'
7) REMOVE DATABASE FILE from disk (it always will be successful because of full 
shutdown state)
8) make some pause, for ~10 seconds
9)  LOOP to step "1)".

Run this scenario on SS or SC.
It will run infinitely.  So far - so  good.

Now reduce pause (see step "8") from 10s to some shorter value, say 4 seconds.
Script will perform successfully only FIRST iteration.

On *second* iteration it will raise:
=====
Statement failed, SQLSTATE = 08006
Error occurred during login, please check server firebird.log for details
=====

And in firebird.log we can see:
=====
        Srp Server
        connection shutdown
        Database is shutdown.
=====

So, we can not create database when it surely does not exist.
Moreover, we can not create DB with RANDOM name also, not just with "fixed" one 
(it can be easy checked by assigning to variable !dbnm! something like: set 
dbnm=c:\temp\tmp4test_!random!.fdb )

Attachments:
srp-cached-conn-after-drop-db-with-fixed-name.bat.7z - when trying to operate 
with the same DB file on each iter;
srp-cached-conn-after-drop-db-with-random-name.bat.7z  -- when DB file is 
random on each iter.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to