Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4638223

REGRESSION: 1.4 RC applet HTTPS access over wireless LAN 20x slower than 1.3.X

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      03
    • CPU:
      x86
    • OS:
      windows_xp

      Backports

        Description



        Name: gm110360 Date: 02/14/2002


        FULL PRODUCT VERSION :
        Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-rc-b91)
        Java HotSpot(TM) Client VM (build 1.4.0-rc-b91, mixed mode)

        FULL OPERATING SYSTEM VERSION : MS XP ver 5.1.2600


        ADDITIONAL OPERATING SYSTEMS : All Windows OSs?


        EXTRA RELEVANT SYSTEM CONFIGURATION :
        Discovered using HP Omnibook 6100 built-in wireless
        (Actiontec PRISM) AND also when switching to Orinoco Gold
        PC card (11 mbps) (both with latest firmware/drivers for
        XP).

        IE 6.0.2600

        A DESCRIPTION OF THE PROBLEM :
        Happened to be using wireless while testing 1.4 RC with an
        applet that uses HTTPS URL reads. The big delay was
        introduced with 1.4 (see details/times below).

        I can provide Sun with a public website URL to run the test
        applet. Could be reproducible with any wireles LAN?

        These results are for the test applet, but problem was
        noticed running our production applets (wireless load/start
        time went from 3 secs for 1.3.X -> about 60 secs for 1.4):

        JRE 1.3.X:
        HTTP & HTTPS wired 10 mbps LAN: < 2 secs
        HTTP & HTTPS wireless 11 mbps LAN: < 2 secs

        JRE 1.4.0 RC:
        HTTP & HTTPS wired 10 mbps LAN: < 2 secs
        HTTP wireless 11 mpbs LAN: < 2 secs
        HTTPS wireless 11 mpbs LAN: > 40 secs

        It is unlikely that this is solely a wireless LAN HTTPS
        driver problem because general HTTPS internet access
        presents no speed problems (eg Yahoo mail, e-commerce
        sites). Could be JRE / wireless driver interaction.

        Curious if this happens on all popular wireless hardware &
        other Windows releases.

        Not a real showstopper (unless your clients use wireless
        LANs:)


        REGRESSION. Last worked in version 1.3

        STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
        Using any applet that opens/reads files from its codebase
        URL, conduct these steps under 1.3.X then 1.4 RC:

        (again, I can supply URL for the test applet on our website)

        1) Load the applet using HTTP URL ref and then HTTPS URL
        ref on a wired LAN. Invoke reads of codebase files (eg.
        GIFs). Note approx. times.

        2) Load the applet using HTTP URL ref and then HTTPS URL
        ref on a wireless LAN. Invoke reads of codebase files (eg.
        GIFs). Note approx. times.

          To completely eliminate cache issues, probably best to exit
        browser & clear its cache between runs.

        We are finding 1.4 RC HTTPS access wireless LAN times on
        the order of 20x slower than 1.3.X.

        EXPECTED VERSUS ACTUAL BEHAVIOR :
        We'd expect some slowdown now that the JRE/plugin uses its
        own HTTPS code (instead of browser HTTPS), but not 20X.

        This bug can be reproduced always.

        ---------- BEGIN SOURCE ----------
        Where the GIF files below are 1 or 2 K. This is the source of the test applet
        whose URL (HTTP & HTTPS) I can provide:

        import java.awt.*;
        import java.net.URL;
        import java.net.URLConnection;
        import javax.swing.*;

        /*
            Demonstrates JRE / Plugin 1.4 SSSSLLLLOOOOWWWW read using HTTPS over
        wireless

            Pressing Load icons button will load several GIFs from the codebase. UI
        will NOT update until all are read.

        */

        public class JApplet1 extends JApplet {
          static JApplet1 thisApp;

          public void init() {
            thisApp = this;
            final String names[] = {"intmodem.gif", "intproxy.gif", "intranet.gif",
                                    "pcomm2a.gif", "telecom2a.gif"};
            final JDesktopPane desktop = new JDesktopPane();
            final JInternalFrame jif = new JInternalFrame("HTTPS test", true, true,
        true);
            jif.getContentPane().setLayout(new GridLayout(8, 1));
            final JButton jbutt = new JButton("Load Icons");
            jif.getContentPane().add(jbutt);
            jbutt.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent event) {
                URL URLsourceVER = null;
                for (int i = 0; i < names.length; i++) {
                  String readFile = names[i];
                  URLsourceVER = null;
                  try {
                    URLsourceVER = new URL(thisApp.getCodeBase(), readFile);
                    System.out.println("Attempt read of:" + URLsourceVER);
                    // Assure not using caches
                    URLConnection URLsource = URLsourceVER.openConnection();
                    URLsource.setUseCaches(false);
                    URLsource.connect();
                    URLsource = null;
                  }
                  catch (Exception e) {
                    System.out.println("Failure in locating " + readFile + " server
        file. URL error:" + e);
                    URLsourceVER = null;
                  }
                  JLabel newlab = new JLabel("GIF #" + i, new ImageIcon(URLsourceVER),
        SwingConstants.LEFT);
                  jif.getContentPane().add(newlab);
                }
                jif.validate();
              }
            });

            desktop.add(jif);
            getContentPane().add(desktop, BorderLayout.CENTER);
            desktop.setSize(500, 500);
            jif.setBounds(10, 10, 200, 300);
            jif.setVisible(true);
            getContentPane().validate();
            getContentPane().setVisible(true);
          }
        }

        ---------- END SOURCE ----------

        CUSTOMER WORKAROUND :
        Do not use wireless LAN for 1.4 applet that uses HTTPS.

        Release Regression From : 1.4
        The above release value was the last known release where this
        bug was known to work. Since then there has been a regression.

        (Review ID: 139634)
        ======================================================================

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                stanleyh Stanley Ho (Inactive)
                Reporter:
                gmanwanisunw Girish Manwani (Inactive)
                Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: