Mantis Bugtracker          
testlink.org

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008663TestLinkTest Specificationpublic2019-05-16 08:092019-05-27 07:12
Reporterstef-lhm 
Assigned Tofman 
PriorityhighSeveritymajorReproducibilityalways
StatusassignedResolutionopen 
PlatformOSOS Version
Product Version1.9.19 (2019 Q1) 
Fixed in Version 
Summary0008663: Create new test case version takes 60 seconds
DescriptionI try to create a new test case version from an exsiting testcase.
if you press the button, it take 60 seconds until i get a response.
I donĀ“t know what happens there. This SQL Statemant causes such a long delay.

Class:testcase - Method: closeOpenReqVersionOnOpenLinks */ UPDATE
req_versions
              SET is_open = 0
              WHERE id IN (
                  SELECT req_version_id
                  FROM req_coverage
                   WHERE tcversion_id = 471645 AND link_status = 1
              ) AND is_open = 1
Additional Informationas you can see, we have a lot of testcases and 2500 users.
all the other responses work fine, but creating a new version is a problem.
TagsNo tags attached.
Database (MySQL,Postgres,etc)mysql
BrowserFF60 or higher
PHP Version5.6.25
TestCaseID
QA Team - Task Workflow Status
Attached Files

- Relationships
related to 0008669closedfman Test Case Version Operations -> New Version takes 3 minutes 

-  Notes
(0028828)
fman (administrator)
2019-05-16 14:27
edited on: 2019-05-16 14:31

Thanks I'm going to understand if performance of this piece can be improved

would you mind to add an index on tcversion_id column and retest?
I don't have a Database big enough to do a serious test.

(0028840)
stef-lhm (reporter)
2019-05-20 06:47

thanks for your reaction.
an index on tcversion_id was our first try, too. No change on performance.
Btw. with user more than 2000, the performance of some sites is down. For example in Testeexecution i had to disable the user drop down in filters. If not, you wait 40 to 60 seconds for each result.
(0028841)
fman (administrator)
2019-05-20 07:12

Any chance that you will send me a copy of your db?
(0028842)
stef-lhm (reporter)
2019-05-20 10:58

I wish i could, but then i can look directly for a new job ;))
(0028843)
stef-lhm (reporter)
2019-05-20 10:58

Can you generate Users and testcases with a small script?
(0028844)
fman (administrator)
2019-05-20 12:17

It's not easy generate the testcases with n tree structure that can reproduce your use case.
Creating users is not an issue
(0028845)
stef-lhm (reporter)
2019-05-20 12:50

maybe it is enough just to create users.
(0028846)
stef-lhm (reporter)
2019-05-20 13:02

But export/import will help you to create many Testcases quick and easy
(0028855)
fman (administrator)
2019-05-23 21:27
edited on: 2019-05-23 21:27

Please give a look to this and adapt your configuration

// @since 1.9.18
// TRUE => After a test case version has been executed 
//         attachment on test case spec can not be added/removed
//         
// FALSE  
//
// This means that at GUI Level, will not be possible:
// add a new attachment to an Executed Test Case Version
// delete an attachment from Executed Test Case Version
$tlCfg->testcase_cfg->downloadOnlyAfterExec = TRUE;

// This means that at GUI Level, will not be possible:
// add a new req version link to an Executed Test Case Version
// delete a req version link from Executed Test Case Version
$tlCfg->testcase_cfg->reqLinkingDisabledAfterExec = TRUE;

// Effects on Linked Requirements Version after 
// execution of a Test Case Version
$tlCfg->testcase_cfg->freezeReqVersionAfterExec = TRUE;


// Effects on TCVersion N when TCVersion N+1 is created 
$tlCfg->testcase_cfg->freezeTCVersionOnNewTCVersion = TRUE;
$tlCfg->testcase_cfg->freezeTCVRelationsOnNewTCVersion = TRUE;

// Because: 
// The Relation must be frozen (cannot be deleted) when 
// a new version of the test case is created.
//
// It seems confusing that relation can be added, then
// this new configuration will allow this operation
// only on latest test case version
// 
$tlCfg->testcase_cfg->addTCVRelationsOnlyOnLatestTCVersion = TRUE;

// Effects on Req Version to TCVersion LINK 
// when a new version of a linked Test Case is created
// If LINK is frozen, then this means that link can not be deleted.
// $tlCfg->reqTCLinks->freezeLinkOnNewTCVersion = FALSE;
//
// Important Notice:
// Req Version to TCVersion Link can be done ONLY TO LATEST TCV.
// 
// This means that :
// 
// on GUI on the Requirements Area on TEST CASE Specification Feature:
// this option has NO EFFECT 
//
// on GUI on the Coverage Area on REQUIREMENT Specification Feature:
// this option has EFFECT
//
// on GUI on the Assign Requirements Feature:
// this option has EFFECT
//
$tlCfg->reqTCLinks->freezeLinkOnNewTCVersion = TRUE;

// Effects on Req Version to TCVersion LINK 
// when a new version of a linked Req Version is created
$tlCfg->reqTCLinks->freezeLinkOnNewREQVersion = TRUE;


// Effects on BOTH ends of Req Version to TCVersion LINK 
// when a new version of a linked TC Version is created
$tlCfg->reqTCLinks->freezeBothEndsOnNewTCVersion = TRUE;

// Effects on BOTH ends of Req Version to TCVersion LINK 
// when a new version of a linked REQ Version is created
$tlCfg->reqTCLinks->freezeBothEndsOnNewREQVersion = TRUE;


// Effects on REQ Version N when REQ Version N+1 is created 
$tlCfg->req_cfg->freezeREQVersionOnNewREQVersion = TRUE;



(0028857)
stef-lhm (reporter)
2019-05-24 08:53

thats exactly the config.inc.php from 1.9.19 and we did not change it in custom_config.inc.php
All these options are on "TRUE"
(0028862)
fman (administrator)
2019-05-24 12:58

>> thats exactly the config.inc.php from 1.9.19 and we did not change it in >>custom_config.inc.php
>>All these options are on "TRUE"

ok you need to read and understand it and set the corresponding one to FALSE in the custom_config.inc.php and the retry

my suspect is
$tlCfg->reqTCLinks->freezeLinkOnNewTCVersion = TRUE;
(0028864)
stef-lhm (reporter)
2019-05-24 13:07

you were right. I changed $tlCfg->reqTCLinks->freezeLinkOnNewTCVersion = TRUE;into FALSE and no it works fine!
Thank you so much and have a nice weekend.
(0028865)
fman (administrator)
2019-05-24 17:25
edited on: 2019-05-24 17:45

Can you provide help running this query


UPDATE req_versions, req_coverage
SET req_versions.is_open = 0
WHERE req_versions.id = req_coverage.req_version_id
and tcversion_id = 471645 AND link_status = 1 AND is_open = 1


and providing timming ?

thanks

(0028866)
stef-lhm (reporter)
2019-05-24 17:41

Yes we can provide help for that query. But we have to wait until Monday ;) Wish you a nice weekend from munich to italy.
(0028872)
stef-lhm (reporter)
2019-05-27 07:12

real 0m0.033s
user 0m0.005s
sys 0m0.001s


Query OK, 0 rows affected (0.02 sec)
Rows matched: 0 Changed: 0 Warnings: 0

- Issue History
Date Modified Username Field Change
2019-05-16 08:09 stef-lhm New Issue
2019-05-16 14:27 fman Note Added: 0028828
2019-05-16 14:31 fman Note Edited: 0028828 View Revisions
2019-05-16 14:31 fman Note Edited: 0028828 View Revisions
2019-05-16 14:31 fman Assigned To => fman
2019-05-16 14:31 fman Status new => feedback
2019-05-20 06:47 stef-lhm Note Added: 0028840
2019-05-20 06:47 stef-lhm Status feedback => assigned
2019-05-20 07:12 fman Note Added: 0028841
2019-05-20 10:58 stef-lhm Note Added: 0028842
2019-05-20 10:58 stef-lhm Note Added: 0028843
2019-05-20 12:17 fman Note Added: 0028844
2019-05-20 12:50 stef-lhm Note Added: 0028845
2019-05-20 13:02 stef-lhm Note Added: 0028846
2019-05-21 17:41 fman Relationship added related to 0008669
2019-05-23 21:27 fman Note Added: 0028855
2019-05-23 21:27 fman Note Edited: 0028855 View Revisions
2019-05-23 21:30 fman Status assigned => feedback
2019-05-24 08:53 stef-lhm Note Added: 0028857
2019-05-24 08:53 stef-lhm Status feedback => assigned
2019-05-24 12:58 fman Note Added: 0028862
2019-05-24 13:07 stef-lhm Note Added: 0028864
2019-05-24 17:25 fman Note Added: 0028865
2019-05-24 17:41 stef-lhm Note Added: 0028866
2019-05-24 17:45 fman Note Edited: 0028865 View Revisions
2019-05-27 07:12 stef-lhm Note Added: 0028872



Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker