Unable to read MON$-tables when run few ISQLs that all make bulk updates of
huge table (10E8 rows for each of them)
-------------------------------------------------------------------------------------------------------------------
Key: CORE-4179
URL: http://tracker.firebirdsql.org/browse/CORE-4179
Project: Firebird Core
Issue Type: Bug
Affects Versions: 3.0 Alpha 1
Environment: LI-T3.0.0.30585 Firebird 3.0 Alpha 1
SuperServer
Reporter: Pavel Zotov
Attachments:
unable_querying_mon_tables_when_huge_table_is_updated_-_logs.zip
/* I've opened this ticked instead of continuing reports to old CORE-3977;
Dmitry told me that this should be new one.
*/
The following scenario leads any new attempts to establish new connect to be
failed.
1. database with single table that have 10E9 rows:
SQL> show table t; show index;
ID INTEGER Nullable
S01 VARCHAR(8) Nullable
S02 VARCHAR(8) Nullable
T_ID INDEX ON T(ID)
T_S01_S02 INDEX ON T(S01, S02)
2. Start trace
3. Five ISQLs that all connects to this database via TCP and started (almost at
one time) commands:
session # 1
set plan on; set stat on; update t set s01=s02, s02=s01 where id between 1 and
100000000;
session # 2
set plan on; set stat on; update t set s01=s02, s02=s01 where id between
100000001 and 200000000;
session # 3
set plan on; set stat on; update t set s01=s02, s02=s01 where id between
200000001 and 300000000;
session # 4
set plan on; set stat on; update t set s01=s02, s02=s01 where id between
300000001 and 400000000;
session # 5
set plan on; set stat on; update t set s01=s02, s02=s01 where id between
400000001 and 500000000;
4. After all these 5 connects reflects in the trace that they STARTED
statements I run 6th ISQL with the following script as input:
set list off;
commit;
select current_timestamp dts, i.* from mon$io_stats i;
select current_timestamp dts, r.* from mon$record_stats r;
quit;
This "monitoring" ISQL hanged - no output was during ~20...30 minutes.
5. Take snapshot of firebird backtrace (via gdb) and lock print (via
fb_lock_print -a -c -m)
6. Then I shutdown this database like this: gfix -shut -force 0.
The trace shows that database goes in shutdown mode but all ISQLs are still
hangs. No output at all.
7. Attempt to connect via ISQL to another database on that host - and could not
do this. Firebird did not answered.
All reports please see in attach.
--
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
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel