Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    10.0 - Track RPCs problem with queueing

    SmartClient Version: v10.0p_2014-10-15/EVAL Deployment (expires 2014.12.14_06.39.06) Licensed to: Isomorphic Software (#ISC_EVAL_NIGHTLY)

    Safari, Chrome on OSX

    Hello, I've run this simple test case:
    Code:
    <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" session="true" %>
    <%@taglib uri="/WEB-INF/iscTaglib.xml" prefix="isomorphic" %>
    
    <%@taglib uri="/WEB-INF/fmt.tld" prefix="fmt" %>
    
    <HTML>
    <HEAD>
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
        <meta name="viewport" content="user-scalable=no, initial-scale=1, minimum-scale=1, maximum-scale=1, width=device-width">
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
        <SCRIPT>
            window.isc_useSimpleNames = false
        </SCRIPT>
        <SCRIPT>window.isomorphicDir = 'isomorphic/';</SCRIPT>
        <SCRIPT SRC=isomorphic/system/modules-debug/ISC_Core.js></SCRIPT>
        <SCRIPT SRC=isomorphic/system/modules-debug/ISC_Foundation.js></SCRIPT>
        <SCRIPT SRC=isomorphic/system/modules-debug/ISC_Containers.js></SCRIPT>
        <SCRIPT SRC=isomorphic/system/modules-debug/ISC_Grids.js></SCRIPT>
        <SCRIPT SRC=isomorphic/system/modules-debug/ISC_Forms.js></SCRIPT>
        <SCRIPT SRC=isomorphic/system/modules-debug/ISC_DataBinding.js></SCRIPT>
        <SCRIPT src=isomorphic/skins/Graphite/load_skin.js></SCRIPT>
    
    </HEAD>
    <BODY STYLE="overflow: hidden">
    <script type="text/javascript">
        isc.VLayout.create({ID: "workspaceLayout", height: "100%", width: "100%", autoDraw: true, contents: "foo bar"})
    </script>
    <script type="text/javascript" charset="UTF-8">
    
    <isomorphic:XML>
    <jsp:include page="/shared/ds/FORNITORI.ds.xml"/>
    <jsp:include page="/shared/ds/OGGETTI.ds.xml"/>
    </isomorphic:XML>
    </SCRIPT>
    <script type="text/javascript" charset="UTF-8">
        isc.RPCManager.startQueue();
        FORNITORI.fetchData()
        OGGETTI.fetchData()
        isc.RPCManager.sendQueue();
    </script>
    </BODY>
    </HTML>
    with the developer console already opened and track rpc checked.
    The queue with the two requests appears in the Track RPCs tab, but under 'Raw Response' tab I see '[N/A]' for the two requests.

    Then I run this code in the developer console:
    Code:
        isc.RPCManager.startQueue();
        FORNITORI.fetchData()
        OGGETTI.fetchData()
        isc.RPCManager.sendQueue();
    and in the RPC tab the queue shows up.

    But, when I select one of the two requests, in the 'Raw Response' tab I see always the same response for the two requests: the response relative to the first request.

    #2
    Confirmed. Unfortunately there was a last minute attempt to optimize the fix for this issue: http://forums.smartclient.com/showth...t=31148&page=4 and that ended up breaking the display of RPCs that occurred before page load. Everything shown after page load will work fine, however.

    This has been fixed and will be in the October 16th patch build. Sorry about that.

    Comment


      #3
      Thanks, I've just verified that it's working.

      Only when testing with the webapp deployed on my local machine I have the problem with queued requests.
      First thing that comes to mind is that the configuration for the realtime messaging is different. I'll investigate further and get back to you.

      Comment


        #4
        So there is still an issue with queued requests on your local machine? What is the issue exactly? Do you still see just the response to the first request in the queue regardless of which request you select?

        Comment


          #5
          SmartClient Version: v10.0p_2014-10-16/EVAL Deployment (expires 2014.12.15_05.01.46) Licensed to: Isomorphic Software (#ISC_EVAL_NIGHTLY)

          Yes, there is. And yes, I still see just the response to the first request.

          The dataSources of the testCase I've used above are very simple, FORNITORI.ds.xml
          Code:
          <DataSource
          	schema="DBELEVEN"
          	dbName="dbEleven"
          	tableName="FORNITORI"
          	ID="FORNITORI"
          	serverType="sql"
              requiresAuthentication="true"
              dropExtraFields="false"
          >
          	<fields>
          		<field sqlType="decimal" primaryKey="true" name="ID_REC" type="sequence" hidden="true" sequenceName="SEQUENCE_REC"/>
                  <field sqlType="varchar" sqlLength="12" name="CONTABILITA_FORNITORE_CODE" type="text" length="12" hidden="true"/>
          	</fields>
          </DataSource>
          and OGGETTI.ds.xml
          Code:
          <DataSource
          	schema="DBELEVEN"
          	dbName="dbEleven"
          	tableName="OGGETTI"
          	ID="OGGETTI"
          	serverType="sql"
              requiresAuthentication="true"
              dropExtraFields="false"
          >
          	<fields>
          		<field sqlType="decimal" primaryKey="true" name="ID_REC" type="sequence" hidden="true" sequenceName="SEQUENCE_REC"/>
                  <field sqlType="varchar" sqlLength="80" name="DESCRIZIONE" length="80" type="text"/>
              </fields>
          </DataSource>

          Comment


            #6
            Hmm ok, I'm not reproducing the queue issue here with a very similar test case. Your datasources are very similar, is it possible they may have the same/similar test data and it's actually working properly?

            Comment


              #7
              Sorry for the late reply.
              I've just tested SmartClient Version: v10.0p_2014-10-28/EVAL Deployment (expires 2014.12.27_08.11.04) Licensed to: Isomorphic Software (#ISC_EVAL_NIGHTLY)
              and I still have got this strange problem - only with my local deployment (Tomcat 7.0.32 on Mac OSX).
              And yes I'm sure that it's not working, even with that very simple test case.
              Actually I've tested the above 10.0 build with another webapp, and I've got the same problem, with different dataSources.

              just to be sure, when I run my tests I eval a script like this:
              Code:
                  isc.RPCManager.startQueue();
                  dataSource_1.fetchData()
                  dataSource_2.fetchData()
                  isc.RPCManager.sendQueue();
              
                  isc.RPCManager.startQueue();
                  dataSource_2.fetchData()
                  dataSource_1.fetchData()
                  isc.RPCManager.sendQueue();
              so it's easier to spot that one queue shows the response from dataSource_1 for both requests, and the other queue shows the response from dataSource_2.

              Other than that, I don't know how I could help in reproducing/identify the issue.
              Maybe some logging category I could enable?
              Last edited by claudiobosticco; 29 Oct 2014, 01:45.

              Comment


                #8
                Hello, I'm still investigating this issue.
                The problem manifest itself on out two OSX machines used for development and also on a Windows 7 machine we use for testing, only when testing with local deployment. No difference when using a browser on the same machine or from a different machine.

                This is what I've just discovered, I hope it could be of some help.
                The problem is that, in the ISC_DeveloperConsole.js file, in the recordClick method on the rpcHistory TreeGrid, the argument _20 hasn't the attribute $74t.
                So in responseViewer.setData this line of code:
                var _18 = _19.$74t != null ? _17[_19.$74t]: _17[0];

                is equivalent to
                var _18 = _17[0];

                for every response in the queue.

                Any clues on what's happening?

                Comment


                  #9
                  Hello, any updates on this issue?

                  So far, I've discovered another situation where the problem appears.
                  Previously I said the problem shows only with local deployment, not when deployed on our linux servers.

                  But, while testing the webapp deployed on linux server, and using the remote debug, the RPCs view of the remote client suffer from this same issue.

                  The problem is as described in my previous post, in this line of code in responseViewer.setData of the file ISC_DeveloperConsole.js:
                  var _18 = _19.$74t != null ? _17[_19.$74t]: _17[0];

                  If I click 'off' to return to the RPCs of the originating client, the queues show correctly, as usual.

                  tested with SmartClient Version: v10.0p_2014-11-11/EVAL Deployment (expires 2015.01.10_07.38.05) Licensed to: Isomorphic Software (#ISC_EVAL_NIGHTLY)

                  Comment


                    #10
                    We're still not reproducing this, but the problem you are describing could be caused by having old isomorphic/system/development modules lying around - or if they are somehow cached.

                    Can you please verify that when you installed these builds, you copied over both the latest modules/*.js files and development/*.js files under [webRoot]/isomorphic/system ?

                    You should see a $74t variable in both of these files:

                    [code]
                    /isomorphic/system/modules/ISC_Core.js
                    /isomorphic/system/development/ISC_DeveloperConsole.js
                    [code]

                    And make sure you also overwrite the .gz versions of these files.

                    Comment


                      #11
                      Originally posted by Isomorphic View Post
                      We're still not reproducing this, but the problem you are describing could be caused by having old isomorphic/system/development modules lying around - or if they are somehow cached.


                      Can you please verify that when you installed these builds, you copied over both the latest modules/*.js files and development/*.js files under [webRoot]/isomorphic/system ?
                      yes I have copied both
                      Version v10.0p_2014-11-16/EVAL Deployment (2014-11-16)
                      Originally posted by Isomorphic View Post
                      You should see a $74t variable in both of these files:

                      [code]
                      /isomorphic/system/modules/ISC_Core.js
                      /isomorphic/system/development/ISC_DeveloperConsole.js
                      [code]
                      one occurrence in ISC_Core.js, line 1769:
                      Code:
                      ....if(_1.operations.length>1)_3[i].$74t=i}
                      two occurrences in ISC_DeveloperConsole.js, line 169:
                      Code:
                      var _18=_19.$74t!=null?_17[_19.$74t]:_17[0];
                      Originally posted by Isomorphic View Post
                      And make sure you also overwrite the .gz versions of these files.
                      unzipped and verified

                      but...this double check made me realize that, in local deployment, I always load the 'modules-debug' files, via the setting useDebugModules="true" in loadISC tag.

                      If I switch useDebugModules to false, the problem disappears!

                      Comment


                        #12
                        But the problem remains in the scenario described in the post #9:
                        Originally posted by claudiobosticco View Post
                        So far, I've discovered another situation where the problem appears.
                        Previously I said the problem shows only with local deployment, not when deployed on our linux servers.

                        But, while testing the webapp deployed on linux server, and using the remote debug, the RPCs view of the remote client suffer from this same issue.
                        tested with SmartClient Version: v10.0p_2014-11-16/EVAL Deployment (expires 2015.01.15_12.11.41) Licensed to: Isomorphic Software (#ISC_EVAL_NIGHTLY)

                        Comment


                          #13
                          That was a very helpful observation - thanks. Problem will be resolved in the next stable build (dated November 20th, 2014).

                          Comment


                            #14
                            SmartClient Version: v10.0p_2014-11-20/EVAL Deployment (expires 2015.01.19_20.00.53) Licensed to: Isomorphic Software (#ISC_EVAL_NIGHTLY)

                            I can confirm it's fixed (even with remote debug), thank you very much

                            Comment

                            Working...
                            X