Announcement

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

    GAE and MySQL issues

    I´m evaluating SmartGWT (using Smart GWT 3.0 Full-Featured Evaluation pack) for a new system to be deployed on Google App Engine using Google Cloud SQL as database.

    My environment is based on Eclipse JUNO (SR1) plus GPE latest available. Using MySQL 5.2 and mysql-connector-java-5.1.22-bin everything on Windows 7 (x64).

    I´ve been trying tests samples project available like BuiltinDS and DS-GAE both worked on local machine but none seems to be updated to latest Google environment (GAE-DS presents issues if GAE support is enabled at Google project properties panel and for example Cloud SQL was improved a lot early this month and sample code may not take advantage of it).

    The best progress I ever made was performing following steps:

    1- started a new project enabling Google GWT + GAE support
    2- did all necessary hand-coded changes to include SmartGWT support ( edit project.gwt.xml, set server.properties, included all servlets at web.xml, managed project.html changes)
    3- at testing time it starts up, the web page gets loaded and I can interact with buttons, etc but the ListGrid never gets populated - it shows the animated fetching icon all the time. Looking at Eclipse console it looks like that SmartGWT data connection steps are performed well but somewhere it failed at JDBC connector. Showing the error messages like (full file errors attached):

    === 2012-11-20 19:13:15,037 [20-2] DEBUG RPCManager - Processing 1 requests.
    === 2012-11-20 19:13:15,054 [20-5] DEBUG RPCManager - Request #1 (DSRequest) payload: {
    criteria:{
    },
    operationConfig:{
    dataSource:"prefeituras",
    operationType:"fetch",
    textMatchStyle:"exact"
    },
    startRow:0,
    endRow:75,
    componentId:"isc_ListGrid_0",
    appID:"builtinApplication",
    operation:"prefeituras_fetch",
    oldValues:{
    }
    }

    === 2012-11-20 19:13:15,059 [20-5] INFO IDACall - Performing 1 operation(s)

    === 2012-11-20 19:13:15,571 [20-5] ERROR IDACall - Top-level servlet error:
    java.lang.ExceptionInInitializerError at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.<clinit>(MysqlDataSource.java:58)

    Could you please give any hint on how to overcome this situation. I´ve been really working on it for about a month and now clock is ticking against my progress. Is there any chance Isomorphic to provide updates on even a new sample code aligned to latest Google environment?

    I thank you in advance by the support..
    Attached Files

    #2
    This is the JDBC driver crashing before we even try to do anything with it - not really a SmartGWT problem.

    You should check if there's a particular JDBC driver that Google wants you to use with Cloud SQL. It seems unlikely you would use the stock JDBC driver for MySQL.

    You can also Google the error message to see several other causes.

    Comment


      #3
      Originally posted by Isomorphic View Post
      This is the JDBC driver crashing before we even try to do anything with it - not really a SmartGWT problem.

      You should check if there's a particular JDBC driver that Google wants you to use with Cloud SQL. It seems unlikely you would use the stock JDBC driver for MySQL.

      You can also Google the error message to see several other causes.
      Unfortunately I could not get any glue from other forums like Google or even StackOverflow.

      Investigating more the error messages I realized that in fact IDACall servlet is crashing when starts the JDBC connector. That is ultimately not enabled to run, as pointed at the error cause:

      Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "modifyThreadGroup")

      I still stuck on the project definition since SmartGWT seems to be the best choice for UI and mainly database interaction but could not make it work on GAE environment that is also a mandatory requirement. Any help would be very welcome...

      appreciate by the support.

      Comment


        #4
        You don't seem to have done much looking.. if you Google "google cloud sql jdbc driver", this is the first hit and provides some info about what JDBC driver settings to use.

        Comment


          #5
          Originally posted by Isomorphic View Post
          You don't seem to have done much looking.. if you Google "google cloud sql jdbc driver", this is the first hit and provides some info about what JDBC driver settings to use.
          Of course I've reached this link, followed all steps and also hunt for almost all info related to GAE, mySQL and very limited references to SmartGWT that any combination of google search returned. I've spent last eight days working on it, so please be careful by just replying like this. I would never ask for any help should not hard worked on it previously, I use to respect professionals time and work.

          Its really frustrating to get such unexpected type of answer. I'm afraid what kind of support Isomorphic can provide should I recommend my company to purchase licenses.

          Comment


            #6
            Hello Conejo,

            If you've tried these settings, then you must have some new logs to share, showing what happens with these new settings, right? Perhaps even more than one set of logs, for the different approaches you have tried.

            The fact that you didn't share new logs makes it look as though you haven't actually tried anything new, and are just hoping someone else figures it out for you. The unfortunate reality is that many people do this, and it steals attention away from people who deserve it more.

            So, sorry about the misunderstanding, but hopefully you can see where it came from and how to avoid it in the future.

            We're ready to take a look at any new logs you can share, showing whatever happens when you use Google's documented settings.

            Comment


              #7
              First of all thanks by the quick reply!!!!

              Yesterday night I´ve decided to re-install all my dev environment since it looks like I´m the only one facing the problem (unless no one is really trying to implement something based on GAE + SmartGWT + CloudSQL). Well, I´ve spend all this morning refreshing the machine. I believe it worth after several tries/changes I made during my last days tests (I´ve also changed some Security settings on JRE - based on a thread recommendation I found out).

              Then I checked again all settings/configurations at my project (using eclipse) and forced the use of Google drive at server.properties XML. Having it as:

              Code:
              sql.Mysql.driver.databaseName: new_schema1
              sql.Mysql.database.ansiMode: false
              sql.Mysql.pool.enabled: true
              sql.Mysql.driver.networkProtocol: tcp
              sql.Mysql.driver.context: 
              sql.Mysql.interface.type: dataSource
              sql.Mysql.driver.serverName: localhost
              sql.Mysql.interface.credentialsInURL: true
              sql.Mysql.driver.password: pass2SQL
              sql.Mysql.database.type: mysql
              # sql.Mysql.driver: com.mysql.jdbc.jdbc2.optional.MysqlDataSource
              sql.Mysql.driver: com.google.appengine.api.rdbms.AppEngineDriver
              sql.Mysql.driver.portNumber: 3306
              sql.Mysql.driver.user: root
              sql.Mysql.driver.useUnicode: true
              sql.Mysql.driver.driverType: thin
              Unfortunately I could not get a success, but could see a change at console error logs. Now I can see the Google driver is in place but "cast fail" to javax.sql.DataSource, as you can see bellow:

              Code:
              === 2012-11-29 14:18:11,489 [88-3] DEBUG PoolableSQLConnectionFactory - [builtinApplication.prefeituras_fetch] Initializing SQL config for 'Mysql' from system config - using DataSource:  com.google.appengine.api.rdbms.AppEngineDriver
              === 2012-11-29 14:18:11,538 [88-6] DEBUG PoolableSQLConnectionFactory - [builtinApplication.prefeituras_fetch] Initializing SQL config for 'Mysql' from system config - using DataSource:  com.google.appengine.api.rdbms.AppEngineDriver
              === 2012-11-29 14:18:11,540 [88-3] ERROR SQLConnectionManager - [builtinApplication.prefeituras_fetch] Caught exception
              java.lang.ClassCastException: com.google.appengine.api.rdbms.AppEngineDriver cannot be cast to javax.sql.DataSource
              	at com.isomorphic.sql.PoolableSQLConnectionFactory.makeUnpooledObject(PoolableSQLConnectionFactory.java:159)
              	at com.isomorphic.sql.PoolableSQLConnectionFactory.makeObject(PoolableSQLConnectionFactory.java:340)
              	at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:974)
              	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:74)
              	at com.isomorphic.sql.SQLConnectionManager.getConnection(SQLConnectionManager.java:156)
              	at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:310)
              	at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:287)
              	at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:280)
              while before it was something like:

              Code:
              === 2012-11-20 19:13:15,488 [20-5] DEBUG PoolableSQLConnectionFactory - [builtinApplication.prefeituras_fetch] Initializing SQL config for 'Mysql' from system config - using DataSource:  com.mysql.jdbc.jdbc2.optional.MysqlDataSource
              === 2012-11-20 19:13:15,554 [20-2] DEBUG PoolableSQLConnectionFactory - [builtinApplication.prefeituras_fetch] Initializing SQL config for 'Mysql' from system config - using DataSource:  com.mysql.jdbc.jdbc2.optional.MysqlDataSource
              === 2012-11-20 19:13:15,571 [20-5] ERROR IDACall - Top-level servlet error: 
              java.lang.ExceptionInInitializerError
              	at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.<clinit>(MysqlDataSource.java:58)
              	at java.lang.Class.forName0(Native Method)
              	at java.lang.Class.forName(Class.java:264)
              	at com.isomorphic.base.Reflection.classForName(Reflection.java:137)
              	at com.isomorphic.base.Reflection.newInstance(Reflection.java:207)
              	at com.isomorphic.sql.PoolableSQLConnectionFactory.makeUnpooledObject(PoolableSQLConnectionFactory.java:159)
              	at com.isomorphic.sql.PoolableSQLConnectionFactory.makeObject(PoolableSQLConnectionFactory.java:340)
              	at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:974)
              	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:74)
              	at com.isomorphic.sql.SQLConnectionManager.getConnection(SQLConnectionManager.java:156)
              	at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:310)
              	at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:287)
              	at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:280)
              obs- both logs one from Nov/20 (same as my first post) and one from today Nov/29.

              The interesting part is that I´ve got the same error trying to use Local MySQL or Google CloudSQL DB instance. I was expecting that using direct Google CloudSQL would works.
              So, would you have any advise or suggestion?

              It would be possible for you to please make a simple trying setting up a test on your environment? I´m starting a new Google project enabling GWT and GAE (like in the picture attached) then making all code-changes to add SmartGWT support.

              As I said before time is ticking against me :(

              Thanks again by the attention, and my kindly apologies by the roughly reply I´ve sent.
              Attached Files

              Comment


                #8
                There are multiple kinds of JDBC drivers - "DataSource" and "DriverManager". Google's driver appears to be a DriverManager-style driver, but you're configured to use "DataSource".

                Change this:

                sql.Mysql.interface.type: dataSource

                to:

                sql.Mysql.interface.type: driverManager

                See the SQL Database settings overview for background.

                Comment


                  #9
                  Originally posted by Isomorphic View Post
                  There are multiple kinds of JDBC drivers - "DataSource" and "DriverManager". Google's driver appears to be a DriverManager-style driver, but you're configured to use "DataSource".

                  Change this:

                  sql.Mysql.interface.type: dataSource

                  to:

                  sql.Mysql.interface.type: driverManager

                  See the SQL Database settings overview for background.
                  Using the type as driverManager seems to be worst since it could not resolve to any suitable driver, as follows:

                  Code:
                  === 2012-11-29 22:10:14,407 [05-2] DEBUG PoolableSQLConnectionFactory - [builtinApplication.prefeituras_fetch] Passing JDBC URL only to getConnection
                  === 2012-11-29 22:10:14,421 [05-4] ERROR SQLConnectionManager - [builtinApplication.prefeituras_fetch] Caught exception
                  java.sql.SQLException: No suitable driver found for jdbc:null://localhost:3306/new_schema1?user=root&password=pass2SQL
                  	at java.sql.DriverManager.getConnection(DriverManager.java:604)
                  	at java.sql.DriverManager.getConnection(DriverManager.java:243)
                  	at com.isomorphic.sql.PoolableSQLConnectionFactory.makeUnpooledObject(PoolableSQLConnectionFactory.java:243)
                  Now after such a long time hunting for solution about this errors on my tests I just step-back for a while and realize that all the time I´ve assumed SmartGWT is compatible to GAE. When saying compatible I´m assuming it can interact with GAE data support (previously mainly based on JPA/JDO and nowadays to recent improves Google put in place on CloudSQL). Is it a correct assumption?

                  Considering that GAE, implements some JEE support, but clearly no JDBC direct - mainly due to the restriction of SOCKET opening. And as far as I could understand from SmartGWT architecture the ServerSide Servlet it provides (IDACall I believe) seems to try to establish a JDBC connection by using the driver defined at serverProperties.xml. Meaning that if we set a pure MySQL JDBC connector drive it will ends up trying to open a socket, what would cause my initial type of errors:
                  Code:
                  ERROR IDACall - Top-level servlet error: 
                  java.lang.ExceptionInInitializerError
                  	at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.<clinit>(MysqlDataSource.java:58)
                  But, since Google JDBC driver works like a proxy (as stated at Google documentation "The Java Development Server's JDBC driver proxies JDBC calls to a local database server.") when configuring it at serverProperties.xml the correct connection should be launched. Unless something is missing or misconfigured at this time. If it´s the case is there a way to log what IDACall is doing when dealing with the driver setup?

                  OBS- Today I´ve tried again a fresh new test project created from scratch, and it behaves exactly as the previous ones I was playing last days.

                  Comment


                    #10
                    The problem is just that your configuration is incorrect again. Referring to that same Google doc your JDBC URL should be along the lines of "jdbc:google:rdbms://instance_name/guestbook" (read Google's doc for full explanation) and reading the SQL Database Settings doc we just told you about, you can see that you can set driver.url to a JDBC URL instead of having us form the JDBC URL for you.

                    On the general questions: yes, SmartGWT EE is compatible with GAE.

                    We haven't tried Google Cloud SQL before. We usually point people to AWS Beanstalk since it's just as easy and doesn't have weird limitations like GAE (it's actually a normal JVM and DB).

                    We make no assumptions about how the JDBC driver works. We don't directly open sockets, we just ask JDBC for a connection. There's no reason Google's CloudSQL wouldn't work with our SQL connector logic -unless they have bugs - but so far, you haven't hit anything that suggests a bug, you just haven't got your settings right.

                    Comment


                      #11
                      Apologies by the late reply. I was involved on a couple of parallel things last days and could not make any coding tests.

                      By setting the JDBC URL at server.properties to jdbc:google:rdbms://<<instance>>/<data-base> <user>, <pwd> as per your recommendation I could get a progress on the tests. Sounds that all driver connection phase has accomplished, as you can see following:

                      Code:
                      === 2012-12-04 17:52:41,273 [80-4] DEBUG PoolableSQLConnectionFactory - [builtinApplication.prefeituras_fetch] DriverManager fetching connection for Mysql via jdbc url jdbc:google:rdbms://conejo-test1:teste1/new_schema1, user1, pass2SQL
                      === 2012-12-04 17:52:41,274 [80-4] DEBUG PoolableSQLConnectionFactory - [builtinApplication.prefeituras_fetch] Passing JDBC URL only to getConnection
                      === 2012-12-04 17:52:41,476 [80-4] DEBUG PoolableSQLConnectionFactory - [builtinApplication.prefeituras_fetch] Returning pooled Connection
                      But unfortunately it seems the result data set only allows Forward actions and I´m not sure where it´s happening. I believe its related to SQLTransform - [builtinApplication.prefeituras_fetch] isBeforeFirst()/isAfterLast() at SmartGWT generated buildinApplication.prefeituras_fetch (PREFEITURAS is the DataSource I´ve configured at DS directory).


                      Code:
                      === 2012-12-04 17:52:41,804 [80-7] DEBUG SQLTransform - [builtinApplication.prefeituras_fetch] isBeforeFirst()/isAfterLast() throwing exceptions - attempting workaround
                      === 2012-12-04 17:52:41,879 [80-4] WARN  RequestContext - dsRequest.execute() failed: 
                      java.sql.SQLException: This method is not allowed on a forward only resultset.
                      	at com.google.cloud.sql.jdbc.internal.Exceptions.newNotSupportedOnForwardOnlyException(Exceptions.java:220)
                      	at com.google.cloud.sql.jdbc.ResultSet.assertScrollableAndOpen(ResultSet.java:798)
                      	at com.google.cloud.sql.jdbc.ResultSet.getRow(ResultSet.java:723)
                      	at org.apache.commons.dbcp.DelegatingResultSet.getRow(DelegatingResultSet.java:332)
                      	at com.isomorphic.sql.SQLTransform.toListOfMapsOrBeans(SQLTransform.java:571)
                      	at com.isomorphic.sql.SQLTransform.toListOfMapsOrBeans(SQLTransform.java:484)
                      	at com.isomorphic.sql.SQLTransform.toListOfMapsOrBeans(SQLTransform.java:478)
                      	at com.isomorphic.sql.SQLTransform.toListOfMapsOrBeans(SQLTransform.java:472)
                      	at com.isomorphic.sql.SQLTransform.toListOfMapsOrBeans(SQLTransform.java:447)
                      	at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:377)
                      	at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:287)
                      	at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:280)
                      	at com.isomorphic.sql.SQLDriver.getScalarResult(SQLDriver.java:421)
                      	at com.isomorphic.sql.SQLDriver.executeScalar(SQLDriver.java:635)
                      	at com.isomorphic.sql.SQLDataSource.executeWindowedSelect(SQLDataSource.java:1628)
                      	at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1317)
                      	at com.isomorphic.sql.SQLDataSource.processRequest(SQLDataSource.java:293)
                      	at com.isomorphic.sql.SQLDataSource.executeFetch(SQLDataSource.java:237)
                      	at com.isomorphic.datasource.DataSource.execute(DataSource.java:1289)
                      	at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:725)
                      	at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:658)
                      	at com.isomorphic.application.AppBase.execute(AppBase.java:491)
                      	at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1954)
                      	at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:199)
                      	at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:156)
                      	at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:121)
                      	at com.isomorphic.servlet.IDACall.doPost(IDACall.java:73)
                      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
                      	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
                      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                      	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
                      	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
                      	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:246)
                      	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
                      	at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74)
                      	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
                      	at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:123)
                      	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
                      	at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34)
                      	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
                      	at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:61)
                      	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
                      	at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
                      	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
                      	at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125)
                      	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
                      	at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)
                      	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
                      	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
                      	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
                      	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
                      	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
                      	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
                      	at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:94)
                      	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
                      	at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:383)
                      	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
                      	at org.mortbay.jetty.Server.handle(Server.java:326)
                      	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
                      	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
                      	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
                      	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
                      	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
                      	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
                      	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
                      obs- I can get the same type of error by using either local MySQL or Google CloudSQL.

                      Hopping you can help me with some idea?

                      thanks Conejo

                      Comment


                        #12
                        It looks like Cloud SQL might be joining the illustrious list of drivers where there is no way to determine if the ResultSet is on row 0. Try this workaround setting:

                        Code:
                        sql.Mysql.database.brokenCursorAPIs: true
                        Also, it makes no sense that you would see this with the normal MySQL driver. Can you clarify what error, if any, you see in that case?

                        Comment


                          #13
                          Originally posted by Isomorphic View Post
                          It looks like Cloud SQL might be joining the illustrious list of drivers where there is no way to determine if the ResultSet is on row 0. Try this workaround setting:

                          Code:
                          sql.Mysql.database.brokenCursorAPIs: true
                          Also, it makes no sense that you would see this with the normal MySQL driver. Can you clarify what error, if any, you see in that case?
                          This is the error for MySQL local driver:

                          Code:
                          16:42:47.734 [ERROR] [teste3] 16:42:47.732:XRP5:WARN:RPCManager:This method is not allowed on a forward only resultset., response: {operationId: &quot;prefeituras_fetch&quot;,
                          clientContext: Obj,
                          context: Obj,
                          transactionNum: 1,
                          httpResponseCode: 200,
                          httpResponseText: &quot;//isc_RPCResponseStart--&gt;[{data:&quot;This me...&quot;[176],
                          xmlHttpRequest: [Error in echoLeaf: TypeError: Object doesn't support this property or method],
                          transport: &quot;xmlHttpRequest&quot;,
                          status: -1,
                          clientOnly: undef,
                          httpHeaders: Obj,
                          isStructured: true,
                          callbackArgs: null,
                          results: Obj,
                          data: &quot;This method is not allowed on a forward ...&quot;[55],
                          invalidateCache: false,
                          isDSResponse: true,
                          queueStatus: -1,
                          startRow: 0,
                          endRow: 0,
                          totalRows: 0}
                          
                          com.smartgwt.client.core.JsObject$SGWT_WARN: 16:42:47.732:XRP5:WARN:RPCManager:This method is not allowed on a forward only resultset., response: {operationId: &quot;prefeituras_fetch&quot;,
                          clientContext: Obj,
                          context: Obj,
                          transactionNum: 1,
                          httpResponseCode: 200,
                          httpResponseText: &quot;//isc_RPCResponseStart--&gt;[{data:&quot;This me...&quot;[176],
                          xmlHttpRequest: [Error in echoLeaf: TypeError: Object doesn't support this property or method],
                          transport: &quot;xmlHttpRequest&quot;,
                          status: -1,
                          clientOnly: undef,
                          httpHeaders: Obj,
                          isStructured: true,
                          callbackArgs: null,
                          results: Obj,
                          data: &quot;This method is not allowed on a forward ...&quot;[55],
                          invalidateCache: false,
                          isDSResponse: true,
                          queueStatus: -1,
                          startRow: 0,
                          endRow: 0,
                          totalRows: 0}
                              at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                              at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
                              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
                              at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
                              at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:105)
                              at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
                              at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
                              at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:293)
                              at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:547)
                              at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
                              at java.lang.Thread.run(Thread.java:722)
                          But using the BrokenCursorAPI enabled IT WORKED AS EXPECTED !!!!

                          I´ll play a little bit more and for sure setup a fresh new project and after that summarize all the findings, because sounds there are some tricks on Eclipse Plugin + Eclipse + GAE that needs to be respected on the setup.

                          Thanks by the support!!!

                          Comment


                            #14
                            Could you show the *server-side log* for the local MySQL connection attempt? Again it doesn't make sense that it would throw that error - SmartGWT+MySQL in general would be broken, and it obviously isn't.

                            It seems like you're still using some broken software from Google in your local MySQL attempt, and the stack trace from the server log would be definitive on this point.

                            Comment


                              #15
                              Originally posted by Isomorphic View Post
                              Could you show the *server-side log* for the local MySQL connection attempt? Again it doesn't make sense that it would throw that error - SmartGWT+MySQL in general would be broken, and it obviously isn't.

                              It seems like you're still using some broken software from Google in your local MySQL attempt, and the stack trace from the server log would be definitive on this point.
                              Sorry, I may not be fully clear in my last reply since I get really excited by seeing it working proplerly.

                              In fact everything is working fine now using brokenCursorAPIs: true. Both local MySQL and GoogleCloud databases can be reached and SmartGWT GridList is interacting perfectly (even fields updates are working).

                              thanks again
                              conejo

                              Comment

                              Working...
                              X