Bug 58743 - TableEditor could have its content not well saved (or loaded)
Summary: TableEditor could have its content not well saved (or loaded)
Status: RESOLVED FIXED
Alias: None
Product: JMeter
Classification: Unclassified
Component: Main (show other bugs)
Version: 2.6
Hardware: All All
: P2 major (vote)
Target Milestone: ---
Assignee: JMeter issues mailing list
URL:
Keywords: PatchAvailable
: 60124 (view as bug list)
Depends on: 58742
Blocks: 60124
  Show dependency tree
 
Reported: 2015-12-16 16:50 UTC by Vincent HERILIER
Modified: 2017-04-28 19:32 UTC (History)
3 users (show)



Attachments
log when the test is saved (10.80 KB, text/plain)
2015-12-16 16:51 UTC, Vincent HERILIER
Details
log when the test is loaded (4.50 KB, text/plain)
2015-12-16 16:51 UTC, Vincent HERILIER
Details
Test case showing the issue that truncates jmx files (2.71 KB, application/xml)
2015-12-18 08:57 UTC, Vincent HERILIER
Details
Test case showing issue as a file is loaded (2.71 KB, application/xml)
2015-12-18 08:59 UTC, Vincent HERILIER
Details
Testcase for AbstractProperty#normalizeList (3.50 KB, patch)
2017-04-26 20:48 UTC, Felix Schumacher
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vincent HERILIER 2015-12-16 16:50:06 UTC
Hi,

Using 2 elements of the same kind with a TableEditor inside (AssertionCompare), one with its table filled, the other one with an empty table, if I save the test from the element with the empty content every works fine, but if I save from the other element 2 errors are raised (see save.log file attached)

NB: This issue is more visible if issue 58742 is fixed.

Adding a third element of the same kind after the two others with its table filled and saving the test well, if the test is reloaded, 4 errors are raised (see load.log filee attached) and the empty table of the second element is filled by the same content than the third one.
Comment 1 Vincent HERILIER 2015-12-16 16:51:29 UTC
Created attachment 33354 [details]
log when the test is saved
Comment 2 Vincent HERILIER 2015-12-16 16:51:52 UTC
Created attachment 33355 [details]
log when the test is loaded
Comment 3 Philippe Mouawad 2015-12-17 21:11:06 UTC
Hello,
Could you provide a Test plan and some screenshot ?
Thanks
Comment 4 Vincent HERILIER 2015-12-18 08:57:25 UTC
Created attachment 33361 [details]
Test case showing the issue that truncates jmx files

The test case is composed from a Thread Group with 2 Compare Assertion elements:
The first one has a row inserted in its TableEditor widget, the second has an empty one.
NB: switching from the to the other produce the bug 58742 so insure to delete intenpestive content added.
So if you are focused on the empty assertion element and that you perform a Save Action, everything goes.
Switch to the "filled" assertion element and Save the file, 2 errors are raised.
Comment 5 Vincent HERILIER 2015-12-18 08:59:35 UTC
Created attachment 33362 [details]
Test case showing issue as a file is loaded

The test case is composed from a Thread Group with 2 Compare Assertion elements:
The first one has an empty TableEditor widget, the second has a row inserted into its TableEditor widget.
Loading the file generates 2 errors.
Comment 6 Vincent HERILIER 2015-12-18 09:01:28 UTC
Hi Philippe,

I hope the 2 test cases will help you in your investigations.
Feel free to ask more information if required.

Thank you
Comment 7 Vincent HERILIER 2017-01-18 09:32:37 UTC
The issue, just have been experienced once again by the JMeter users I'm working with.
They lost their files because the issue truncates the XML content.
It is a critical data integrity issue.

After some investigations in JMeter code, I have difficulties to found where is really the root cause.
Maybe you have an idea of what could produce such issue.
And from your suggestion, I hope finding the issue and submit you a fix

thanks again for your support and suggestion
Comment 8 Philippe Mouawad 2017-01-22 18:40:07 UTC
Scenario related to Bug 60124:
- Create a Compare Assertion and fill in a row with 2 fields
- Create another Compare Assertion and keep it empty

Select last Compare Assertion and save => OK
Select first Compare Assertion and save => KO
Comment 9 Philippe Mouawad 2017-01-22 18:40:20 UTC
*** Bug 60124 has been marked as a duplicate of this bug. ***
Comment 10 Emilian Bold 2017-04-26 15:05:45 UTC
I've fixed this bug. See patch in this pull request: https://github.com/apache/jmeter/pull/293
Comment 11 Felix Schumacher 2017-04-26 20:48:08 UTC
Created attachment 34956 [details]
Testcase for AbstractProperty#normalizeList

The attached patch is for the proposed changes of pr #293.
Comment 12 Felix Schumacher 2017-04-28 19:32:55 UTC
Thanks Emilian for the fix.

This will be included in version 3.3.

Date: Fri Apr 28 19:30:23 2017
New Revision: 1793138

URL: http://svn.apache.org/viewvc?rev=1793138&view=rev
Log:
TableEditor can't be saved, when using two or more instances.

Bugfix provided by Emilian Bold (emi at apache.org)
This closes #293 on github.

Bugzilla Id: 58743

Added:
    jmeter/trunk/test/src/org/apache/jmeter/testelement/property/AbstractPropertyTest.java   (with props)
Modified:
    jmeter/trunk/src/core/org/apache/jmeter/testelement/property/AbstractProperty.java
    jmeter/trunk/xdocs/changes.xml