[appengine-java] Re: How to get rid of a hanging mapreduce job?
I had the same problem. I fix it by deleting the entries of the 2 map reduce table. Go to to the datastore viewer and there's 2 Kind used by map reduce. By the way, how to mark the task as completed? When my task is done it always end with the Unknown state. I asked this question before but there was no answer. On Oct 16, 9:30 am, burnayev burna...@gmail.com wrote: Mapper API for Java. Usedhttp://ikaisays.com/2010/07/09/using-the-java-mapper-framework-for-ap... as a starting point. On Oct 15, 5:45 pm, Guillermo Schwarz guillermo.schw...@gmail.com wrote: Which map reduce library are you using? Saludos, Guillermo Schwarz. El 15-10-2010, a las 18:44, burnayev burna...@gmail.com escribió: Here's the scoop... One of my first mapreduce jobs didn't want to complete by itself. It did not want to abort either. To get rid of the sucker I deployed a new application version and deleted the one the job was running against. I also manually deleted all the residual state mapreduce created in the datastore. That seemed to kill most of it. However now, 5 days later, there are still two artifacts - mapperCallback and controllerCallback - that disturb my serenity (and keep sucking the juice) by popping up every hour or so. Obviously they are looking for a job that exists no more and fail miserably with a stack trace similar to below. Is there a way to make them go away? java.lang.RuntimeException: Couldn't find MR with job ID: job_1286643750234_0001 at com.google.appengine.tools.mapreduce.AppEngineJobContext.getConfigurationFromRequest( AppEngineJobContext.java: 157) at com.google.appengine.tools.mapreduce.AppEngineJobContext.init (AppEngineJobContext.java: 110) at com.google.appengine.tools.mapreduce.MapReduceServlet.handleController( MapReduceServlet.java: 507) at com.google.appengine.tools.mapreduce.MapReduceServlet.doPost (MapReduceServlet.java: 222) 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.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter (ParseBlobUploadFilter.java: 97) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter (SaveSessionFilter.java: 35) 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 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.runtime.jetty.AppVersionHandlerMap.handle (AppVersionHandlerMap.java: 238) 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.headerComplete(HttpConnection.java:923) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable (RpcRequestParser.java: 76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest( JettyServletEngineAdapter.java: 135) at com.google.apphosting.runtime.JavaRuntime.handleRequest (JavaRuntime.java: 261) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:8483) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:8481) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest (BlockingApplicationHandler.java: 24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication (RpcUtil.java: 418) at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java: 572) at com.google.tracing.TraceContext$TraceContextRunnable $1.run(TraceContext.java:448) at com.google.tracing.TraceContext.runInContext(TraceContext.java: 688)
[appengine-java] JSF 2 (pure mojarra jars) on GAE : short tutorial on how to use...
Hi I recently figured out how to use the original latest mojarra jars in my project... It solved many weird errors i was bumping into once in a while... so I thought i would share it with other JSF 2 users... Here the link to the tutorial... http://www.neverslair-blog.net/daniels-tips-and-tutorials/ -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: How to get rid of a hanging mapreduce job?
I deleted the mapreduce-related entities long time ago and it was inconsequential. On Oct 17, 2:50 am, Peter Liu tinyee...@gmail.com wrote: I had the same problem. I fix it by deleting the entries of the 2 map reduce table. Go to to the datastore viewer and there's 2 Kind used by map reduce. By the way, how to mark the task as completed? When my task is done it always end with the Unknown state. I asked this question before but there was no answer. On Oct 16, 9:30 am, burnayev burna...@gmail.com wrote: Mapper API for Java. Usedhttp://ikaisays.com/2010/07/09/using-the-java-mapper-framework-for-ap... as a starting point. On Oct 15, 5:45 pm, Guillermo Schwarz guillermo.schw...@gmail.com wrote: Which map reduce library are you using? Saludos, Guillermo Schwarz. El 15-10-2010, a las 18:44, burnayev burna...@gmail.com escribió: Here's the scoop... One of my first mapreduce jobs didn't want to complete by itself. It did not want to abort either. To get rid of the sucker I deployed a new application version and deleted the one the job was running against. I also manually deleted all the residual state mapreduce created in the datastore. That seemed to kill most of it. However now, 5 days later, there are still two artifacts - mapperCallback and controllerCallback - that disturb my serenity (and keep sucking the juice) by popping up every hour or so. Obviously they are looking for a job that exists no more and fail miserably with a stack trace similar to below. Is there a way to make them go away? java.lang.RuntimeException: Couldn't find MR with job ID: job_1286643750234_0001 at com.google.appengine.tools.mapreduce.AppEngineJobContext.getConfigurationFromRequest( AppEngineJobContext.java: 157) at com.google.appengine.tools.mapreduce.AppEngineJobContext.init (AppEngineJobContext.java: 110) at com.google.appengine.tools.mapreduce.MapReduceServlet.handleController( MapReduceServlet.java: 507) at com.google.appengine.tools.mapreduce.MapReduceServlet.doPost (MapReduceServlet.java: 222) 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.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter (ParseBlobUploadFilter.java: 97) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter (SaveSessionFilter.java: 35) 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 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.runtime.jetty.AppVersionHandlerMap.handle (AppVersionHandlerMap.java: 238) 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.headerComplete(HttpConnection.java:923) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable (RpcRequestParser.java: 76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest( JettyServletEngineAdapter.java: 135) at com.google.apphosting.runtime.JavaRuntime.handleRequest (JavaRuntime.java: 261) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:8483) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:8481) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest (BlockingApplicationHandler.java: 24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication (RpcUtil.java:
[appengine-java] memcache and id parsing error
Any idea why this happens? javax.servlet.ServletContext log: unavailable com.google.appengine.api.memcache.InvalidValueException: IO exception parsing value of '1' at com.google.appengine.api.memcache.MemcacheServiceImpl.get(MemcacheServiceImpl.java: 289) at com.google.appengine.api.memcache.stdimpl.GCache.get(GCache.java: 158) at org.datanucleus.cache.javaxcache.JavaxCacheLevel2Cache.get(JavaxCacheLevel2Cache.java: 116) at org.datanucleus.ObjectManagerImpl.getObjectFromCache(ObjectManagerImpl.java: 3658) at org.datanucleus.ObjectManagerImpl.findObjectUsingAID(ObjectManagerImpl.java: 2123) at org.datanucleus.store.appengine.query.DatastoreQuery.entityToPojo(DatastoreQuery.java: 555) at org.datanucleus.store.appengine.query.DatastoreQuery.entityToPojo(DatastoreQuery.java: 520) at org.datanucleus.store.appengine.query.DatastoreQuery.access $300(DatastoreQuery.java:110) at org.datanucleus.store.appengine.query.DatastoreQuery $6.apply(DatastoreQuery.java:638) at org.datanucleus.store.appengine.query.DatastoreQuery $6.apply(DatastoreQuery.java:630) at org.datanucleus.store.appengine.query.LazyResult.resolveNext(LazyResult.java: 94) at org.datanucleus.store.appengine.query.LazyResult $LazyAbstractListIterator.computeNext(LazyResult.java:215) at org.datanucleus.store.appengine.query.AbstractIterator.tryToComputeNext(AbstractIterator.java: 132) at org.datanucleus.store.appengine.query.AbstractIterator.hasNext(AbstractIterator.java: 127) at org.datanucleus.store.appengine.query.LazyResult $AbstractListIterator.hasNext(LazyResult.java:169) -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] 1.3.8 upgrade delete datastore contents
After upgrading my Java SDK to 1.3.8 and restarting the server, the development console shows my datastore as empty. After checking the log I found this error: java.io.InvalidClassException: com.google.appengine.api.datastore.dev.LocalDatastoreService$Extent; local class incompatible: stream classdesc serialVersionUID = -7335090543304226540, local class serialVersionUID = 3822635795418372340 I don't remember experiencing with previous upgrades. Does anyone else see this problem? Thanks, Scott -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Running both Python and Java at the same time?
I run Python code on appengine. Now I would like to add some functionality written in Java. I guess I cannot run this on the same appengine? Thanks -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Running both Python and Java at the same time?
You absolutely can. Just make sure you use different versions of the application. Then you will hit your application like: http://j-0-0-17.latest.APPNAME.appspot.com/ http://p-0-0-17.latest.APPNAME.appspot.com/ Pay attention to the little drop down box in the console at appengine.google.com, logs from the application will vary based on the version (I was wondering why I don't see logs from the staging version I just deployed...) Also pay attention to the fact that you will always have single default version available from APPNAME.appspot.com, this too can vary from python to java. HTH Maxim. On Sun, Oct 17, 2010 at 7:23 PM, Dieter Krachtus dieter.krach...@googlemail.com wrote: I run Python code on appengine. Now I would like to add some functionality written in Java. I guess I cannot run this on the same appengine? Thanks -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Running both Python and Java at the same time?
Thanks. I was wondering if different versions is the solution. Good that I know for sure now :D Cheers, Dieter On Oct 17, 7:28 pm, Maxim Veksler ma...@vekslers.org wrote: You absolutely can. Just make sure you use different versions of the application. Then you will hit your application like: http://j-0-0-17.latest.APPNAME.appspot.com/http://p-0-0-17.latest.APPNAME.appspot.com/ Pay attention to the little drop down box in the console at appengine.google.com, logs from the application will vary based on the version (I was wondering why I don't see logs from the staging version I just deployed...) Also pay attention to the fact that you will always have single default version available from APPNAME.appspot.com, this too can vary from python to java. HTH Maxim. On Sun, Oct 17, 2010 at 7:23 PM, Dieter Krachtus dieter.krach...@googlemail.com wrote: I run Python code on appengine. Now I would like to add some functionality written in Java. I guess I cannot run this on the same appengine? Thanks -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2B unsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Any changes to access levels in com.google.appengine.api.datastore recently?
This error was caused by a bug in Clojure's method dispatch code. Anyone else with the same problem should check out this thread on the Clojure group for a fix: http://groups.google.com/group/clojure/browse_thread/thread/5440bbcf1c06f3b6 On Oct 15, 12:42 pm, Max Ross (Google) maxr+appeng...@google.com wrote: We refactored the internals of the DatastoreService implementation pretty heavily in the release we just pushed out but there shouldn't have been any backwards incompatible changes to the public API. I'm not familiar with appengine-clj. Does it use reflection to access non-public classes/methods/fields? If so that's not safe, since we only guarantee backwards compatibility for the public API. If not then I'll need more info. Thanks, Max On Thu, Oct 14, 2010 at 12:14 PM, Darren Clarke dar...@redaranj.com wrote: Has anything changed with class access levels (public vs. private) in the production datastore code in the last day or so? I've had a Clojure app running for several weeks and starting last night, whenever I try to access the datastore, I get the error below. It could be a bug in the library I'm using (appengine-clj) or even in Clojure's dispatch code, but I just want to understand if anything has changed server-side that might have triggered it. The application still works on the dev appserver v1.3.7. java.lang.IllegalArgumentException: Can't call public method of non-public class: public com.google.appengine.api.datastore.Transaction com.google.appengine.api.datastore.BaseDatastoreService.getCurrentTransacti on(com.google.appengine.api.datastore.Transaction) at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:85) at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28) at appengine.datastore.service$current_transaction.invoke(service.clj:72) at appengine.datastore.service$put_entity.invoke(service.clj:131) at appengine.datastore.service$fn__176.invoke(service.clj:149) at appengine.datastore.service$fn__136$G__116__141.invoke(service.clj:10) at com.redaranj.ledes.service.servlet$fn__1902$fn__1903.invoke(servlet.clj:17) at compojure.core$routes$fn__1706$fn__1707.invoke(core.clj:72) at clojure.core$some.invokeStatic(core.clj:2297) at compojure.core$routes$fn__1706.invoke(core.clj:71) at ring.middleware.params$wrap_params$fn__1468.invoke(params.clj:77) at ring.middleware.cookies$wrap_cookies$fn__1559.invoke(cookies.clj:123) at ring.util.servlet$make_service_method$fn__1881.invoke(servlet.clj:117) at com.redaranj.ledes.service.servlet$_service.invoke(servlet.clj:19) at com.redaranj.ledes.service.servlet.service(Unknown Source) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle r.java:1166) at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlo bUploadFilter.java:97) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle r.java:1157) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionF ilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle r.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(Trans actionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle r.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.runtime.jetty.AppVersionHandlerMap.handle(AppVersionH andlerMap.java:238) 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.headerComplete(HttpConnecti on.java:923) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequ estParser.java:76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceReques t(JettyServletEngineAdapter.java:135) at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:26 1) at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequ est(RuntimePb.java:8483) at
[appengine-java] Re: memcache and id parsing error
Is there a way to clear memcache from admin console? On Oct 17, 3:26 pm, alesj ales.jus...@gmail.com wrote: Any idea why this happens? javax.servlet.ServletContext log: unavailable com.google.appengine.api.memcache.InvalidValueException: IO exception parsing value of '1' at com.google.appengine.api.memcache.MemcacheServiceImpl.get(MemcacheServiceImpl.java: 289) at com.google.appengine.api.memcache.stdimpl.GCache.get(GCache.java: 158) at org.datanucleus.cache.javaxcache.JavaxCacheLevel2Cache.get(JavaxCacheLevel2Cache.java: 116) at org.datanucleus.ObjectManagerImpl.getObjectFromCache(ObjectManagerImpl.java: 3658) at org.datanucleus.ObjectManagerImpl.findObjectUsingAID(ObjectManagerImpl.java: 2123) at org.datanucleus.store.appengine.query.DatastoreQuery.entityToPojo(DatastoreQuery.java: 555) at org.datanucleus.store.appengine.query.DatastoreQuery.entityToPojo(DatastoreQuery.java: 520) at org.datanucleus.store.appengine.query.DatastoreQuery.access $300(DatastoreQuery.java:110) at org.datanucleus.store.appengine.query.DatastoreQuery $6.apply(DatastoreQuery.java:638) at org.datanucleus.store.appengine.query.DatastoreQuery $6.apply(DatastoreQuery.java:630) at org.datanucleus.store.appengine.query.LazyResult.resolveNext(LazyResult.java: 94) at org.datanucleus.store.appengine.query.LazyResult $LazyAbstractListIterator.computeNext(LazyResult.java:215) at org.datanucleus.store.appengine.query.AbstractIterator.tryToComputeNext(AbstractIterator.java: 132) at org.datanucleus.store.appengine.query.AbstractIterator.hasNext(AbstractIterator.java: 127) at org.datanucleus.store.appengine.query.LazyResult $AbstractListIterator.hasNext(LazyResult.java:169) -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Enabling compile-time weaving
Hi everyone, can anyone tell me how to enable compile-time weaving for aspectj? Thanks a lot... -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Transfering db table to datastore
I would like to move from Glassfish to GAE, being quite new to GAE I'm wondering if there are any tools to transfer existing db tables to the datastore? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: memcache and id parsing error
Any idea why this happens? To answer things myself. This one is actually pretty obvious, if the error reporting would be less confusing / better. It's a plain simple issue of forgetting to change serialVersionUID when changing entity's class signature. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Size of Nearly Empty Entity
My app has a UserProfile class (entity) with many fields. These are your typical user demographics - age, marital status, etc. Over time users will change the fields, i.e. get married or divorced. I need to keep a history of changes. I am wondering if creating another entity of the entire class containing only the data in the changed field would be efficient. Ignore the mechanics of tracking how the new entity relates to the old since I think that is just detail chasing. The question is whether the new entity with only a single field populated is only the size of that field, or nearly so. Or is the stored entity have a default field for every field in the entity, basically making it as large as the original entity. The other approach would be to keep a name-value pair containing the change in a 'delta' entity. Which would be more efficient in the datastore? Rud http://www.mysticlakesoftware.com -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Size of Nearly Empty Entity
Hello Rud, My very limited knowledge of the way the persistence layers works seems to indicate that the Big Tables tracks everything as name-value pairs so the cost of every persisted object would include literally every parameter name. You might want to check out the writings in the Gae Java Persistence Blog. Your idea with having multiple version'd entities per object could also be impacted by the way indexing works. Specifically http://gae-java-persistence.blogspot.com/2009/11/unindexed-properties.html Did you know that, by default, the App Engine Datastore writes two index records for every entity property that isn't a com.google.appengine.api.datastore.Blob or a com.google.appengine.api.datastore.Text? It's true! These index records allow you to execute a variety of queries involving the property without creating a composite index. Now, these index records don't come for free. They take time to write and they take up space on disk. If you have a property that you're absolutely positively sure you'll never want to filter or sort by, you can opt-out of the default indexing that is going on -- Stevko On Sun, Oct 17, 2010 at 9:07 PM, Rud rudmerr...@gmail.com wrote: My app has a UserProfile class (entity) with many fields. These are your typical user demographics - age, marital status, etc. Over time users will change the fields, i.e. get married or divorced. I need to keep a history of changes. I am wondering if creating another entity of the entire class containing only the data in the changed field would be efficient. Ignore the mechanics of tracking how the new entity relates to the old since I think that is just detail chasing. The question is whether the new entity with only a single field populated is only the size of that field, or nearly so. Or is the stored entity have a default field for every field in the entity, basically making it as large as the original entity. The other approach would be to keep a name-value pair containing the change in a 'delta' entity. Which would be more efficient in the datastore? Rud http://www.mysticlakesoftware.com -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.