google app engine - Objectify transaction fails in unit test -


this unit test of simple objectify transaction fail on: "transactions on multiple entity groups allowed in high replication applications". whenever there 1 entity used in case. such transaction executed on both dev server , google instance. need localservicetesthelper tweaking. can please?

here unit test:

@test public void transactiontest() {     // setup     final localservicetesthelper helper = new localservicetesthelper(             new localdatastoreservicetestconfig(),             new localmemcacheservicetestconfig());           helper.setup();     closeable session = objectifyservice.begin();      // test     ofy().transactnew(new voidwork() {         @override         public void vrun() {             user user = new user();             ofy().save().entity(user).now();         }     });      // teardown     helper.teardown();     session.close();     session = null; } 

and here exception get:

mar 17, 2016 8:52:12 com.google.appengine.api.datastore.dev.localdatastoreservice init info: local datastore initialized:  type: master/slave storage: in-memory mar 17, 2016 8:52:13 com.googlecode.objectify.impl.transactorno transactonce severe: rollback failed, suppressing error java.lang.illegalargumentexception: transactions on multiple entity groups allowed in high replication applications @ com.google.appengine.api.datastore.datastoreapihelper.translateerror(datastoreapihelper.java:54) @ com.google.appengine.api.datastore.datastoreapihelper$1.convertexception(datastoreapihelper.java:129) @ com.google.appengine.api.utils.futurewrapper.get(futurewrapper.java:96) @ com.google.appengine.api.datastore.futurehelper.getinternal(futurehelper.java:76) @ com.google.appengine.api.datastore.futurehelper.quietget(futurehelper.java:36) @ com.google.appengine.api.datastore.internaltransactionv3.gethandle(internaltransactionv3.java:43) @ com.google.appengine.api.datastore.internaltransactionv3.getid(internaltransactionv3.java:81) @ com.google.appengine.api.datastore.transactionimpl.getid(transactionimpl.java:111) @ com.google.appengine.api.datastore.transactionstackimpl.gettransactiondata(transactionstackimpl.java:107) @ com.google.appengine.api.datastore.transactionstackimpl.getfutures(transactionstackimpl.java:117) @ com.google.appengine.api.datastore.transactionimpl.rollbackasync(transactionimpl.java:188) @ com.google.appengine.api.datastore.transactionimpl.rollback(transactionimpl.java:181) @ com.googlecode.objectify.util.cmd.transactionwrapper.rollback(transactionwrapper.java:42) @ com.googlecode.objectify.impl.transactorno.transactonce(transactorno.java:131) @ com.googlecode.objectify.impl.transactorno.transactnew(transactorno.java:97) @ com.googlecode.objectify.impl.objectifyimpl.transactnew(objectifyimpl.java:206) @ com.googlecode.objectify.impl.objectifyimpl.transactnew(objectifyimpl.java:198) @ cz.inited.ofy.controllers.transactiontest.transactiontest(transactiontest.java:33) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:497) @ org.junit.runners.model.frameworkmethod$1.runreflectivecall(frameworkmethod.java:45) @ org.junit.internal.runners.model.reflectivecallable.run(reflectivecallable.java:15) @ org.junit.runners.model.frameworkmethod.invokeexplosively(frameworkmethod.java:42) @ org.junit.internal.runners.statements.invokemethod.evaluate(invokemethod.java:20) @ org.junit.runners.parentrunner.runleaf(parentrunner.java:263) @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:68) @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:47) @ org.junit.runners.parentrunner$3.run(parentrunner.java:231) @ org.junit.runners.parentrunner$1.schedule(parentrunner.java:60) @ org.junit.runners.parentrunner.runchildren(parentrunner.java:229) @ org.junit.runners.parentrunner.access$000(parentrunner.java:50) @ org.junit.runners.parentrunner$2.evaluate(parentrunner.java:222) @ org.junit.runners.parentrunner.run(parentrunner.java:300) @ org.eclipse.jdt.internal.junit4.runner.junit4testreference.run(junit4testreference.java:86) @ org.eclipse.jdt.internal.junit.runner.testexecution.run(testexecution.java:38) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:459) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:675) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.run(remotetestrunner.java:382) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.main(remotetestrunner.java:192) 

you must explicitly enable hrd - bit odd today since master/slave datastore no longer exists:

private final localservicetesthelper helper =         new localservicetesthelper(                 new localdatastoreservicetestconfig().setapplyallhighrepjobpolicy()); 

Comments

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

reactjs - React router and this.props.children - how to pass state to this.props.children -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -