AppEngine Standard Java, objectify 5 suddenly asks for init()

107 views
Skip to first unread message

Malte Jäger

unread,
Feb 23, 2021, 11:10:21 AM2/23/21
to objectify-appengine
Since last week after launching a new deployment the BootStrapper logs:

(Preconditions.java:444)com.google.common.base.Preconditions.checkState> You must call ObjectifyService.init() before using Objectify
-> This should not be in Version 5 of objectify.
While the same source works when  redeployed - we do not know what is going with some Versions that just dont work.  

Jeff Schnitzer

unread,
Feb 23, 2021, 11:24:53 AM2/23/21
to objectify-appengine
I'm not quite sure what you're seeing here, got a stacktrace?

Jeff

--
You received this message because you are subscribed to the Google Groups "objectify-appengine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to objectify-appen...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/objectify-appengine/f42e820d-0ef3-44be-8fe5-a1f0f54ed789n%40googlegroups.com.

Jeff Schnitzer

unread,
Feb 23, 2021, 11:27:55 AM2/23/21
to objectify-appengine
If you're getting that message, it sounds like you have the Ofy6 jar on your classpath and are trying to use it. Check your dependencies.

Jeff

Malte Jäger

unread,
Feb 24, 2021, 6:48:57 AM2/24/21
to objectify-appengine
just as we all know there was an additional ofy6 jar ... it was added by "Google Cloud Platform Library" checkmarked "Objectify". I do not know if this was added last week or if it has just been some internal luck it did not produce the error earlier. I removed ofy6 jar and everything is ok. Thank you for your hint :-)

Malte Jäger

unread,
Mar 2, 2021, 6:02:50 AM3/2/21
to objectify-appengine
-> AppEngine Standard, Objectify 5.1.24.jar with appengine-api-1.0-sdk-1.9.86.jar <- 

Now a new deployment to the long running production project does not work: "java.lang.NoClassDefFoundError: Could not initialize class com.google.appengine.api.datastore.DatastoreApiHelper".
The same Source runs on a different AppEngine Test Projekt and local. 

I compared all deployed jars of the older running version of the production project and the new deployment to remove any difference. 
The active old version still works. Does a new deployment using Eclipse GCP Plugin  change anything to the way the datastore in production is involved? (i temporaly had a objectify 6 jar deployed in addtion to 5 which i removed).

the log:
javax.servlet.ServletContext log: Exception while dispatching incoming RPC call com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract de.brandsmill.eprocess.entity.nonpersistant.CurrentUser de.brandsmill.eprocess.client.profile.account.AccessService.accessServer(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)' threw an unexpected exception: java.lang.NoSuchMethodError: com.google.appengine.repackaged.com.google.common.base.Preconditions.checkState(ZLjava/lang/String;J)V at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:416) at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:605) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:333) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:303) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373) at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1780) at com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:48) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767) at com.google.inject.servlet.DefaultFilterPipeline.dispatch(DefaultFilterPipeline.java:43) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767) at com.google.apphosting.utils.servlet.JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) at com.google.apphosting.runtime.jetty9.ParseBlobUploadHandler.handle(ParseBlobUploadHandler.java:111) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1182) at com.google.apphosting.runtime.jetty9.AppEngineWebAppContext.doHandle(AppEngineWebAppContext.java:187) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:513) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at com.google.apphosting.runtime.jetty9.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:293) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) at org.eclipse.jetty.server.Server.handle(Server.java:539) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333) at com.google.apphosting.runtime.jetty9.RpcConnection.handle(RpcConnection.java:216) at com.google.apphosting.runtime.jetty9.RpcConnector.serviceRequest(RpcConnector.java:81) at com.google.apphosting.runtime.jetty9.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:134) at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchServletRequest(JavaRuntime.java:772) at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchRequest(JavaRuntime.java:735) at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:705) at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:261) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NoSuchMethodError: com.google.appengine.repackaged.com.google.common.base.Preconditions.checkState(ZLjava/lang/String;J)V at com.google.appengine.repackaged.com.google.common.cache.CacheBuilder.maximumSize(CacheBuilder.java:452) at com.google.appengine.api.appidentity.AppIdentityServiceImpl.<clinit>(AppIdentityServiceImpl.java:62) at com.google.appengine.api.appidentity.AppIdentityServiceFactoryImpl.getAppIdentityService(AppIdentityServiceFactoryImpl.java:12) at com.google.appengine.api.appidentity.AppIdentityServiceFactory.getAppIdentityService(AppIdentityServiceFactory.java:14) at com.google.appengine.api.datastore.DatastoreApiHelper.<clinit>(DatastoreApiHelper.java:38) at com.google.appengine.api.datastore.Key.<init>(Key.java:92) at com.google.appengine.api.datastore.Key.<init>(Key.java:74) at com.google.appengine.api.datastore.Key.<init>(Key.java:70) at com.google.appengine.api.datastore.Key.<init>(Key.java:66) at com.google.appengine.api.datastore.Entity.<init>(Entity.java:162) at com.googlecode.objectify.impl.KeyMetadata.initEntity(KeyMetadata.java:165) at com.googlecode.objectify.impl.translate.EntityCreator.save(EntityCreator.java:51) at com.googlecode.objectify.impl.translate.EntityCreator.save(EntityCreator.java:16) at com.googlecode.objectify.impl.translate.ClassTranslator.saveSafe(ClassTranslator.java:142) at com.googlecode.objectify.impl.translate.ClassTranslator.saveSafe(ClassTranslator.java:21) at com.googlecode.objectify.impl.translate.NullSafeTranslator.save(NullSafeTranslator.java:25) at com.googlecode.objectify.impl.EntityMetadata.save(EntityMetadata.java:89) at com.googlecode.objectify.impl.WriteEngine.save(WriteEngine.java:82) at com.googlecode.objectify.impl.SaverImpl.entities(SaverImpl.java:60) at com.googlecode.objectify.impl.SaverImpl.entity(SaverImpl.java:35) at de.brandsmill.eprocess.server.appengine.PMFo.makePersistent(PMFo.java:646)

line 646 does the following:  com.googlecode.objectify.Key<Object> key = ofy().consistency(Consistency.STRONG).save().entity(obj).now();

Malte Jäger

unread,
Mar 2, 2021, 7:36:16 AM3/2/21
to objectify-appengine
Two old Libraries messed all up: appengine-api-labs.jar  / appengine-tools-api.jar
Thos hat the Preconditions repacked with incompatiblility. 


Reply all
Reply to author
Forward
0 new messages