Re: [appengine-java] Appstats make request to API call memcache.Set() was too large
I see same problem. I cant use appstats with my app. Can I configure to reduce appstats-data of each RPC call? Uncaught exception from servlet com/google/net/rpc/RpcStub.java:1025:in `runInContext': com.google.apphosting.api.ApiProxy$RequestTooLargeException: The request to API call memcache.Set() was too large. (NativeException) from com/google/tracing/TraceContext.java:444:in `run' from com/google/tracing/TraceContext.java:684:in `runInContext' from com/google/tracing/TraceContext.java:322:in `runInInheritedContextNoUnref' from com/google/tracing/TraceContext.java:314:in `runInInheritedContext' from com/google/tracing/TraceContext.java:442:in `run' from com/google/net/rpc/RpcStub.java:1046:in `rpcFinished' from com/google/net/rpc/RPC.java:2047:in `internalFinish' from com/google/net/rpc/impl/RpcNetChannel.java:2338:in `finishRpc' ... 8 levels... from com/google/net/async/LoopingEventDispatcher.java:378:in `run' takeru 2010/4/9 Trung : > I tried to use Appstats. > > However, Appstats uses and shows a lot of raw (low level) data. > Sometime memcache API throws exception as below: > > com.google.appengine.api.memcache.LogAndContinueErrorHandler > handleServiceError: Service error in memcache > com.google.appengine.api.memcache.MemcacheServiceException: Memcache > put: Unknown exception setting 2 keys > at > com.google.appengine.api.memcache.MemcacheServiceImpl.makeSyncCall(MemcacheServiceImpl.java: > 183) > at > com.google.appengine.api.memcache.MemcacheServiceImpl.putAll(MemcacheServiceImpl.java: > 420) > at > com.google.appengine.api.memcache.MemcacheServiceImpl.putAll(MemcacheServiceImpl.java: > 459) > at > com.google.appengine.tools.appstats.MemcacheWriter.persist(MemcacheWriter.java: > 264) > at > com.google.appengine.tools.appstats.MemcacheWriter.commit(MemcacheWriter.java: > 177) > at > com.google.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsFilter.java: > 94) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1157) > at org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1157) > 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: > 243) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:5485) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:5483) > at > com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java: > 24) > at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: > 398) > at com.google.net.rpc.impl.Server$2.run(Server.java:852) > at > com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java: > 56) > at > com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java: > 536) > at com.google.net.rpc.impl.Server.startRpc(Server.java:807) > at c
[appengine-java] Query returns more than limit
Hello, I have seen problem with Java, like this: > - Fixed a datastore issue where an error was thrown when setting a query > offset > to more than the number of results throws an error. > http://code.google.com/p/googleappengine/issues/detail?id=2875 I send this query: query.filter(:user_id=>user.id).sort(:created_at, :desc).each(:limit=>3) This query uses composite-index. UserNews user_id ▲ , created_at ▼ I set limit=3, but many (all?) entities are return. It is not always. very very rare case. This code is ruby, but I trace code, I found JavaAPI's PreparedQuery#asIterator(FetchOptions fetchOptions) is used. >From application log. Maybe query is retried, by application code. I am using deadline=3.0sec. First query is deadlined, and retryed. Is this known problem? takeru -- 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] ApiProxy$ApplicationException
Hello, I see many strange errors. (1) ApiProxy$ApplicationException: ApplicationError: 2: too much contention on these datastore entities. please try again. It should be converted to ConcurrentModificationException. (2) ApiProxy$ApplicationException: ApplicationError: 5: Unknown I set deadline( http://code.google.com/intl/en/appengine/docs/java/javadoc/com/google/appengine/api/datastore/DatastoreServiceConfig.html#deadline%28double%29 ). This exception can see when timed out. It should be converted to DatastoreTimeoutException or ApiProxy$ApiDeadlineExceededException, I think. Why I can see such internal errors? traces: NativeException (com.google.apphosting.api.ApiProxy$ApplicationException: ApplicationError: 2: too much contention on these datastore entities. please try again.): com/google/net/rpc/RpcStub.java:1025:in `runInContext' com/google/tracing/TraceContext.java:440:in `run' com/google/tracing/TraceContext.java:639:in `runInContext' com/google/tracing/TraceContext.java:318:in `runInInheritedContextNoUnref' com/google/tracing/TraceContext.java:310:in `runInInheritedContext' com/google/tracing/TraceContext.java:438:in `run' com/google/net/rpc/RpcStub.java:1046:in `rpcFinished' com/google/net/rpc/RPC.java:2044:in `internalFinish' com/google/net/rpc/impl/RpcNetChannel.java:2298:in `finishRpc' com/google/net/rpc/impl/RpcNetChannel.java:1240:in `messageReceived' com/google/net/rpc/impl/RpcConnection.java:319:in `parseMessages' com/google/net/rpc/impl/RpcConnection.java:290:in `dataReceived' com/google/net/async/Connection.java:474:in `handleReadEvent' com/google/net/async/EventDispatcher.java:831:in `processNetworkEvents' com/google/net/async/EventDispatcher.java:207:in `internalLoop' com/google/net/async/EventDispatcher.java:103:in `loop' com/google/net/async/GlobalEventRegistry.java:95:in `runLoop' com/google/net/async/LoopingEventDispatcher.java:378:in `run' config/initializers/global.rb:274:in `makeSyncCall' bundler_gems/jruby/1.8/gems/appengine-apis-0.0.13/lib/appengine-apis/datastore.rb:214:in `transaction' bundler_gems/jruby/1.8/gems/appengine-apis-0.0.13/lib/appengine-apis/datastore_types.rb:544:in `convert_exceptions' bundler_gems/jruby/1.8/gems/appengine-apis-0.0.13/lib/appengine-apis/datastore.rb:212:in `transaction' lib/tiny_ds.rb:35:in `tx' NativeException (com.google.apphosting.api.ApiProxy$ApplicationException: ApplicationError: 5: Unknown): com/google/net/rpc/RpcStub.java:1025:in `runInContext' com/google/tracing/TraceContext.java:440:in `run' com/google/tracing/TraceContext.java:639:in `runInContext' com/google/tracing/TraceContext.java:318:in `runInInheritedContextNoUnref' com/google/tracing/TraceContext.java:310:in `runInInheritedContext' com/google/tracing/TraceContext.java:438:in `run' com/google/net/rpc/RpcStub.java:1046:in `rpcFinished' com/google/net/rpc/RPC.java:2044:in `internalFinish' com/google/net/rpc/impl/RpcNetChannel.java:2298:in `finishRpc' com/google/net/rpc/impl/RpcNetChannel.java:1240:in `messageReceived' com/google/net/rpc/impl/RpcConnection.java:319:in `parseMessages' com/google/net/rpc/impl/RpcConnection.java:290:in `dataReceived' com/google/net/async/Connection.java:474:in `handleReadEvent' com/google/net/async/EventDispatcher.java:831:in `processNetworkEvents' com/google/net/async/EventDispatcher.java:207:in `internalLoop' com/google/net/async/EventDispatcher.java:103:in `loop' com/google/net/async/GlobalEventRegistry.java:95:in `runLoop' com/google/net/async/LoopingEventDispatcher.java:378:in `run' config/initializers/global.rb:274:in `makeSyncCall' bundler_gems/jruby/1.8/gems/appengine-apis-0.0.13/lib/appengine-apis/datastore.rb:119:in `put' bundler_gems/jruby/1.8/gems/appengine-apis-0.0.13/lib/appengine-apis/datastore_types.rb:544:in `convert_exceptions' bundler_gems/jruby/1.8/gems/appengine-apis-0.0.13/lib/appengine-apis/datastore.rb:117:in `put' lib/tiny_ds/low_ds.rb:74:in `save' lib/tiny_ds/base.rb:160:in `do_save' lib/tiny_ds/validations.rb:21:in `save!' -- takeru -- 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] HardDeadlineExceededError with JRuby. Runtime changed??
Hi! May be GAE Runtime is updated to 1.3.1. In my JRuby app, spin up time was longer than before update. I see many HardDeadlineExceededError. Whats happen?? takeru -- 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] CPU Quota Service is working?
Hi, I tried quota service. http://code.google.com/intl/ja/appengine/docs/java/javadoc/com/google/appengine/api/quota/QuotaService.html CODE(jruby): def current_quotas qs = com.google.appengine.api.quota.QuotaServiceFactory.getQuotaService cpu_cycles = qs.getCpuTimeInMegaCycles cpu_sec = qs.convertMegacyclesToCpuSeconds(cpu_cycles) cpu_supports = qs.supports(com.google.appengine.api.quota.QuotaService::DataType::CPU_TIME_IN_MEGACYCLES) api_cycles = qs.getApiTimeInMegaCycles api_sec = qs.convertMegacyclesToCpuSeconds(api_cycles) api_supports = qs.supports(com.google.appengine.api.quota.QuotaService::DataType::API_TIME_IN_MEGACYCLES) return {:cpu=>{:cycles=>cpu_cycles, :sec=>cpu_sec, :supports=>cpu_supports}, :api=>{:cycles=>api_cycles, :sec=>api_sec, :supports=>api_supports}} end RESULT: {:cpu=>{:cycles=>0, :sec=>0.0, :supports=>true}, :api=>{:cycles=>930, :sec=>0.775, :supports=>true}} I got API quota values, but CPU is always 0. Anyone know CPU-quota service is working? takeru -- 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.