Bug 1860309

Summary: Upgrade to GWT 2.9.0
Product: [oVirt] ovirt-engine Reporter: rszwajko
Component: Frontend.WebAdminAssignee: rszwajko
Status: CLOSED CURRENTRELEASE QA Contact: Pavel Novotny <pnovotny>
Severity: medium Docs Contact:
Priority: high    
Version: 4.4.1.9CC: bugs, michal.skrivanek, mperina, vszocs
Target Milestone: ovirt-4.4.2Flags: pm-rhel: ovirt-4.4+
Target Release: 4.4.2.3   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: rhv-4.2.2-2, ovirt-engine-4.4.2.3 Doc Type: Enhancement
Doc Text:
Feature: Upgrade GWT (Google Web Toolkit) version from 2.8.0 to 2.9.0 Reason: 1. support for building with Java 11 2. accumulated improvements and bug fixes (from versions 2.8.1, 2.8.2, 2.9.0)
Story Points: ---
Clone Of:
: 1860907 (view as bug list) Environment:
Last Closed: 2020-09-18 07:12:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: UX RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description rszwajko 2020-07-24 09:47:12 UTC
Current GWT version used by webadmin is 2.8.0 (released October 2016).
There is a new GWT version 2.9.0 released in May 2020 (see [1])

Key benefits:
1. support for building with Java 11
2. accumulated improvements and bug fixes (from versions 2.8.1, 2.8.2, 2.9.0)

For full release notes check [2]

[1] https://github.com/gwtproject/gwt/releases/tag/2.9.0
[2] http://www.gwtproject.org/release-notes.html#Release_Notes_2_9_0

Comment 1 rszwajko 2020-07-24 10:12:50 UTC
Dependencies

Gin/Guice [1]

Version 3.1 was planned with official dependency upgrade to GWT 2.9.0 but considered unnecessary for now (source [2])
Confirmed to work with GWT 2.9.0 and Guice 4.2.3.
Note in version 3.0 the group ID has changed to io.github.gwtplus.gin

gwtbootstrap3 [3] 

Project has been archived - last version is 0.9.4 from Feb 21, 2017 (we already use it)

GWTP [4]

Last version is 1.6.0 from Jan 20, 2017 (we already use it)
Project seems stable and compatible with GWT 2.9.0 - there is ongoing effort to upgrade dependencies - see this issue [5]

[1] https://github.com/gwtplus/google-gin/
[2] https://groups.google.com/g/google-gin/c/pc0PgzOX71E/m/k4MZiZXJAgAJ
[3] https://github.com/gwtbootstrap3/gwtbootstrap3/releases/
[4] https://github.com/ArcBees/GWTP/releases
[5] https://github.com/ArcBees/GWTP/issues/832

Comment 2 rszwajko 2020-07-27 11:59:05 UTC
Upgrading to 2.9.0 will force removing support for classic dev mode.
Actually, classic dev mode stopped working (for Ovirt) already in version 2.8.1 (April 2017).
Blocking issue has been closed with status "wontfix" because classic dev mode has been deprecated (details [1]).

Tests on version 2.9.0 have confirmed that nothing changed here. 
Errors directly blocking debug session:

java.lang.NoClassDefFoundError: Could not initialize class com.google.gwt.dom.client.Style$Unit
at org.gwtbootstrap3.client.ui.base.ComplexWidget.setMarginLeft(ComplexWidget.java:177

java.lang.IncompatibleClassChangeError: Type com.google.gwt.user.client.Event$NativePreviewEvent is not a nest member of com.google.gwt.user.client.Event: current type is not listed as a nest member
at com.google.gwt.user.client.Event$.fireNativePreviewEvent(Event.java:480)


[1] https://github.com/gwtproject/gwt/issues/9522

Comment 6 Sandro Bonazzola 2020-08-06 15:42:37 UTC
Anything else to be merged? If not, please move to modified.

Comment 7 Pavel Novotny 2020-08-28 17:20:58 UTC
Verified in
ovirt-engine-4.4.2.3-0.6.el8ev
ovirt-engine-webadmin-portal-4.4.2.3-0.6.el8ev

Tier1 web UI tests passed, no regressions found.

Comment 8 Sandro Bonazzola 2020-09-18 07:12:36 UTC
This bugzilla is included in oVirt 4.4.2 release, published on September 17th 2020.

Since the problem described in this bug report should be resolved in oVirt 4.4.2 release, it has been closed with a resolution of CURRENT RELEASE.

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