I'm trying to write a Java serialized HashMap<String,Long> to the
blobstore using the FileService and getting an "Unknown" error 10.
I'm guessing there's 10,000+ items in the map.

Below is the code I'm using, followed by the stack trace.

Can someone clue me in on what I'm doing wrong?  And yes, it works
fine in the development environment ;)

Thanks,

Mike


public class Filer
{
        private static final FileService fileService =
FileServiceFactory.getFileService();
        private static final BlobstoreService blobstoreService =
BlobstoreServiceFactory.getBlobstoreService();

        public static String save( Object value )
                throws IOException
        {
                if( value == null ) return null;

                AppEngineFile file = fileService.createNewBlobFile( 
"text/plain" );
                return save( file, value );
        }

        private static String save( AppEngineFile file, Object value )
                throws IOException
        {
                // Open a channel and write out object
                FileWriteChannel writeChannel = fileService.openWriteChannel( 
file,
true );
                ObjectOutputStream out = new
ObjectOutputStream( Channels.newOutputStream( writeChannel ) );
                out.writeObject( value );

                // Close it up
                out.close();
                writeChannel.closeFinally();

                return file.getFullPath();
        }



And here's the exception...


org.apache.jsp.tasks.create_002duser_002dsegment_jsp _jspService:
Failed to create user segment
java.io.IOException
        at
com.google.appengine.api.files.FileServiceImpl.translateException(FileServiceImpl.java:
501)
        at
com.google.appengine.api.files.FileServiceImpl.makeSyncCall(FileServiceImpl.java:
479)
        at
com.google.appengine.api.files.FileServiceImpl.append(FileServiceImpl.java:
426)
        at
com.google.appengine.api.files.FileServiceImpl.append(FileServiceImpl.java:
171)
        at
com.google.appengine.api.files.FileWriteChannelImpl.write(FileWriteChannelImpl.java:
49)
        at
com.google.appengine.api.files.FileWriteChannelImpl.write(FileWriteChannelImpl.java:
41)
        at java.nio.channels.Channels.write(Channels.java:80)
        at java.nio.channels.Channels.access$000(Channels.java:64)
        at java.nio.channels.Channels$1.write(Channels.java:151)
        at java.io.ObjectOutputStream
$BlockDataOutputStream.drain(ObjectOutputStream.java:1855)
        at java.io.ObjectOutputStream
$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1764)
        at
java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:
1558)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:
346)
        at com.yumyumlabs.foundation.appengine.util.Filer.save(Filer.java:42)
        at com.yumyumlabs.foundation.appengine.util.Filer.save(Filer.java:33)
        at
com.yumyumlabs.server.recipe.model.UserSegment.saveUsers(UserSegment.java:
51)
        at
org.apache.jsp.tasks.create_002duser_002dsegment_jsp._jspService(create_002duser_002dsegment_jsp.java:
104)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        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.handle(ServletHandler.java:
390)
        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 org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
        at
org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:
213)
        at
org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:
171)
        at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:
145)
        at
org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:
92)
        at
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:
381)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at org.machino.servlet.PageTimerFilter.doFilter(PageTimerFilter.java:
63)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at org.machino.servlet.LoginFilter.doFilter(LoginFilter.java:121)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at org.machino.servlet.RedirectFilter.doFilter(RedirectFilter.java:
53)
        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:
249)
        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:
262)
        at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$2.handleRequest(RuntimePb.java:9819)
        at com.google.net.rpc.impl.RpcUtil.handleRequest(RpcUtil.java:445)
        at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
414)
        at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:
579)
        at com.google.tracing.TraceContext$TraceContextRunnable
$1.run(TraceContext.java:454)
        at com.google.tracing.TraceContext.runInContext(TraceContext.java:
694)
        at com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:
332)
        at com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:
324)
        at com.google.tracing.TraceContext
$TraceContextRunnable.run(TraceContext.java:452)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:
1110)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)
Caused by: com.google.apphosting.api.ApiProxy$ApplicationException:
ApplicationError: 10: Unknown
        at com.google.apphosting.runtime.ApiProxyImpl
$AsyncApiFuture.rpcFinished(ApiProxyImpl.java:474)
        at com.google.net.rpc.RpcStub$RpcCallbackDispatcher
$1.runInContext(RpcStub.java:1050)
        at com.google.tracing.TraceContext$TraceContextRunnable
$1.run(TraceContext.java:454)
        at com.google.tracing.TraceContext.runInContext(TraceContext.java:
694)
        at com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:
332)
        at com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:
324)
        at com.google.tracing.TraceContext
$TraceContextRunnable.run(TraceContext.java:452)
        at com.google.net.rpc.RpcStub
$RpcCallbackDispatcher.rpcFinished(RpcStub.java:1071)
        at com.google.net.rpc.RPC.internalFinish(RPC.java:2240)
        at com.google.net.rpc.impl.RpcNetChannel.finishRpc(RpcNetChannel.java:
2338)
        at
com.google.net.rpc.impl.RpcNetChannel.messageReceived(RpcNetChannel.java:
1267)
        at
com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java:
328)
        at
com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java:
299)
        at com.google.net.async.Connection.handleReadEvent(Connection.java:
474)
        at
com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:
856)
        at
com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:
222)
        at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
116)
        at com.google.net.async.GlobalEventRegistry
$2.runLoop(GlobalEventRegistry.java:95)
        at com.google.net.async.LoopingEventDispatcher
$EventDispatcherThread.run(LoopingEventDispatcher.java:385)

-- 
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-java@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.

Reply via email to