Bug 1182000

Summary: [RFE] Bundle GWT symbol maps in GWT application's rpm package
Product: Red Hat Enterprise Virtualization Manager Reporter: rhev-integ
Component: ovirt-engine-webadmin-portalAssignee: Alon Bar-Lev <alonbl>
Status: CLOSED ERRATA QA Contact: Pavel Novotny <pnovotny>
Severity: high Docs Contact:
Priority: high    
Version: 3.4.4CC: alonbl, ecohen, eedri, gklein, iheim, jraju, lsurette, mgoldboi, michal.skrivanek, pnovotny, pstehlik, rbalakri, Rhev-m-bugs, sbonazzo, sherold, vszocs, yeylon, ylavi
Target Milestone: ---Keywords: FutureFeature, Improvement, ZStream
Target Release: 3.5.3Flags: sherold: Triaged+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: integration
Fixed In Version: org.ovirt.engine-root-3.5.3-2 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: 1179893 Environment:
Last Closed: 2015-06-15 13:26:51 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1179893    
Bug Blocks: 1197441    

Description rhev-integ 2015-01-14 09:30:51 UTC
+++ This bug is a RHEV-M zstream clone. The original bug is: +++
+++   https://bugzilla.redhat.com/show_bug.cgi?id=1179893. +++
+++ Requested by "sbonazzo" +++
======================================================================



----------------------------------------------------------------------
Following comment by ecohen on January 07 at 18:19:37, 2015

+++ This bug was initially created as a clone of Bug #1179862 +++

This RFE applies to both WebAdmin & UserPortal.

During GWT application compilation, symbol maps (mapping from Java identifier to obfuscated JavaScript identifier) are produced as *.symbolMap files, located in following directories:

  frontend/webadmin/modules/webadmin/target/generated-gwt/WEB-INF/deploy/webadmin/symbolMaps
  frontend/webadmin/modules/userportal-gwtp/target/generated-gwt/WEB-INF/deploy/userportal/symbolMaps

These symbol maps can be very helpful when facing client-side errors manifested as obfuscated JavaScript stacktraces. Even though these symbol maps are not 100% accurate (see [1] for details), they are still a very good starting place.

[1] https://code.google.com/p/google-web-toolkit/wiki/SourceMaps (see "Details" section describing symbol maps)

Without using symbol maps, one has to compile GWT application in "draft" mode [2] and reproduce the problem on this "draft" application. Replacing "normal" GWT application with its "draft" version can be, however, problematic (especially in case the customer is the only one able to reproduce the error).

[2] http://www.ovirt.org/DebugFrontend#GWT_Draft_Compile

Symbol maps can be considered as meta-data bundled in WebAdmin & UserPortal rpm package.

----------------------------------------------------------------------
Following comment by sbonazzo on January 14 at 09:07:14, 2015

Any other patch needed or can we move this to modified and clone to ZStream?

----------------------------------------------------------------------
Following comment by alonbl on January 14 at 09:11:06, 2015

(In reply to Sandro Bonazzola from comment #1)
> Any other patch needed or can we move this to modified and clone to ZStream?

not that I am aware of.

----------------------------------------------------------------------
Following comment by alonbl on January 14 at 09:22:37, 2015

if this is downstream 3.5.1 it will take the commit from upstream anyway... I am unsure why this bug is required.

Comment 1 Alon Bar-Lev 2015-01-14 09:44:27 UTC
do you want to clone this to 3.4.z?

Comment 2 Einav Cohen 2015-01-14 12:38:36 UTC
(In reply to Alon Bar-Lev from comment #1)
> do you want to clone this to 3.4.z?

originally I wanted to, it turns out that it is not needed at the moment. thanks.

Comment 5 Pavel Novotny 2015-03-23 16:15:46 UTC
FailedQA in rhevm-userportal-debuginfo-3.5.1-0.2.el6ev.noarch, rhevm-webadmin-portal-debuginfo-3.5.1-0.2.el6ev.noarch (vt14.1).

The debuginfo packages are built, but are basically empty:

# rpm -ql rhevm-userportal-debuginfo
/usr/share/ovirt-engine/gwt-symbols/userportal
# rpm -ql rhevm-webadmin-portal-debuginfo
/usr/share/ovirt-engine/gwt-symbols/webadmin

There are no .symbolMap files present.

Comment 6 Alon Bar-Lev 2015-03-23 16:40:01 UTC
ok, this is going to be non trivial.

the mead does not pick these files for the spec stage, it pics only poms, jars, wars, ears, zips.

so we need to pack these as zip/jar and extract it at %prep.

archive this as jar / zip in maven and extract it at makefile will produce same solution for both upstream/downstream, but will complicate upstream just because mead... well, until rhel-7 properly supported we can do this as well.

I suggest to delay this to next z-stream.

Comment 7 Einav Cohen 2015-03-23 22:38:43 UTC
(In reply to Alon Bar-Lev from comment #6)
> I suggest to delay this to next z-stream.

no problem -> changing Target Release accordingly.

Comment 15 Pavel Novotny 2015-06-10 14:19:26 UTC
Verified in rhevm-userportal-debuginfo-3.5.3.1-1.4.el6ev.noarch, rhevm-webadmin-portal-debuginfo-3.5.3.1-1.4.el6ev.noarch.

Symbol map files are now installed into directories /usr/share/ovirt-engine/gwt-symbols/webadmin/symbolMaps/ (takes 1,1GB) and /usr/share/ovirt-engine/gwt-symbols/userportal/symbolMaps/ (504MB).

Comment 17 errata-xmlrpc 2015-06-15 13:26:51 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-1095.html