I get the same error many times on my local dev instance.

I restart the App and then it goes away.
This error needs to be debugged more.


On Apr 13, 1:23 pm, Juan González <[email protected]> wrote:
> Hi all,
>    I have a random issue when testing my application locally. From
> time to time, when I use PersistenceManager.getObjectById() I receive
> the following exception:
>
> java.lang.UnsupportedOperationException
>         at
> org.datanucleus.store.appengine.EntityUtils.getPropertyName(EntityUtils.jav a:
> 62)
>         at
> org.datanucleus.store.appengine.DatastoreFieldManager.getPropertyName(Datas 
> toreFieldManager.java:
> 1073)
>         at
> org.datanucleus.store.appengine.DatastoreFieldManager.fetchObjectField(Data 
> storeFieldManager.java:
> 309)
>         at
> org.datanucleus.state.AbstractStateManager.replacingObjectField(AbstractSta 
> teManager.java:
> 1197)
>         at
> org.ugr.rtpstat.server.orm.UsuarioRegistrado.jdoReplaceField(UsuarioRegistr 
> ado.java)
>         at
> org.ugr.rtpstat.server.orm.UsuarioRegistrado.jdoReplaceFields(UsuarioRegist 
> rado.java)
>         at
> org.datanucleus.state.JDOStateManagerImpl.replaceFields(JDOStateManagerImpl 
> .java:
> 2772)
>         at
> org.datanucleus.state.JDOStateManagerImpl.replaceFields(JDOStateManagerImpl 
> .java:
> 2791)
>         at
> org.datanucleus.store.appengine.DatastorePersistenceHandler.fetchObject(Dat 
> astorePersistenceHandler.java:
> 466)
>         at
> org.datanucleus.state.JDOStateManagerImpl.validate(JDOStateManagerImpl.java :
> 4263)
>         at
> org.datanucleus.ObjectManagerImpl.findObject(ObjectManagerImpl.java:
> 2444)
>         at
> org.datanucleus.jdo.JDOPersistenceManager.getObjectById(JDOPersistenceManag 
> er.java:
> 1671)
>         at
> org.datanucleus.jdo.JDOPersistenceManager.getObjectById(JDOPersistenceManag 
> er.java:
> 1767)
>         at
> org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManager.getObjec 
> tById(DatastoreJDOPersistenceManager.java:
> 73)
>         at
> org.ugr.rtpstat.server.RtpstatServiceImpl.getRegisteredUser(RtpstatServiceI 
> mpl.java:
> 88)
>         at
> org.ugr.rtpstat.server.RtpstatServiceImpl.getRegisteredUser(RtpstatServiceI 
> mpl.java:
> 79)
>         at
> org.ugr.rtpstat.server.RtpstatServiceImpl.isRegisteredUser(RtpstatServiceIm 
> pl.java:
> 204)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> 39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp 
> l.java:
> 25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime 
> .java:
> 100)
>         at
> com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:
> 562)
>         at
> com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServi 
> ceServlet.java:
> 188)
>         at
> com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServi 
> ceServlet.java:
> 224)
>         at
> com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(Abstract 
> RemoteServiceServlet.java:
> 62)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> 511)
>         at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1166)
>         at
> com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFi 
> lter.java:
> 51)
>         at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1157)
>         at
> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(Trans 
> actionCleanupFilter.java:
> 43)
>         at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1157)
>         at
> com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFile 
> Filter.java:
> 122)
>         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.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEn 
> gineWebAppContext.java:
> 70)
>         at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
> 152)
>         at com.google.appengine.tools.development.JettyContainerService
> $ApiProxyHandler.handle(JettyContainerService.java:349)
>         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:218)
>         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)
>
> The thing is that when this happens, it happens for a while and I can
> only resolve it by an undeterminate combination of cleaning the
> project, cleaning the browser cache, closing the browser, login out of
> the app, turning on a candle next to the computer, and more. in any
> order.
>
> Some times it starts working again after just a couple steps, another
> times it persists for a while disappearing at any random moment.
>
> Looking at the code indicated by the exception I find the following:
>
>     // If we're dealing with embeddables, the column name override
>     // will show up as part of the column meta data.
>     if (ammd.getColumnMetaData() != null &&
> ammd.getColumnMetaData().length > 0) {
>       if (ammd.getColumnMetaData().length != 1) {
>         // TODO(maxr) throw something more appropriate
>         throw new UnsupportedOperationException();
>       }
>       return ammd.getColumnMetaData()[0].getName();
>     }
>
> Can anybody explain me what's going on here?
>
> Thanks

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to