mysql - Grails transaction never completes -
consider code below, tries create new serpkeyword
within transaction , prints console show is.
if (!serpkeyword) { println "i didn't find keyword!" serpkeyword.withnewtransaction { println "so i'm beginning transaction" serpkeyword = new serpkeyword( keyword: searchkeyword, geokeyword: geokeyword, concatenation: concatenation, locale: locale ) println "now i'll save keyword" serpkeyword.save(failonerror: true, flush: true) println "and keyword saved" } }
the console output see right away is:
i didn't find keyword! i'm beginning transaction i'll save keyword
i never see last line of output, indicating record never saves. i've tried both , without options i'm passing save
. regardless, hangs while, , stacktrace:
got error -1 storage engine. stacktrace follows: java.sql.sqlexception: got error -1 storage engine @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:1055) @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:956) @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3491) @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3423) @ com.mysql.jdbc.mysqlio.sendcommand(mysqlio.java:1936) @ com.mysql.jdbc.mysqlio.sqlquerydirect(mysqlio.java:2060) @ com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2542) @ com.mysql.jdbc.preparedstatement.executeinternal(preparedstatement.java:1734) @ com.mysql.jdbc.preparedstatement.executeupdate(preparedstatement.java:2019) @ com.mysql.jdbc.preparedstatement.executeupdate(preparedstatement.java:1937) @ com.mysql.jdbc.preparedstatement.executeupdate(preparedstatement.java:1922) @ org.apache.commons.dbcp.delegatingpreparedstatement.executeupdate(delegatingpreparedstatement.java:105) @ org.apache.commons.dbcp.delegatingpreparedstatement.executeupdate(delegatingpreparedstatement.java:105) @ com.reachlocal.grails.sales.advertiserconnectionservice$_findorcreateserpkeyword_closure9$$eo2a9qha.docall(advertiserconnectionservice.groovy:624) @ org.grails.datastore.gorm.gormstaticapi.withnewtransaction(gormstaticapi.groovy:696) @ com.reachlocal.grails.sales.advertiserconnectionservice$$eo2a9qha.findorcreateserpkeyword(advertiserconnectionservice.groovy:615) @ com.reachlocal.grails.sales.advertiserconnectionservice$$eo2a9qha.createserpentryforkeyword(advertiserconnectionservice.groovy:659) @ com.reachlocal.grails.sales.advertiserconnectionservice$$eo2a9qha.addkeyword(advertiserconnectionservice.groovy:51) @ com.reachlocal.grails.serp.serpcontroller$_closure9.docall(serpcontroller.groovy:77) @ grails.plugin.cache.web.filter.pagefragmentcachingfilter.dofilter(pagefragmentcachingfilter.java:195) @ grails.plugin.cache.web.filter.abstractfilter.dofilter(abstractfilter.java:63) @ org.jasig.cas.client.session.singlesignoutfilter.dofilter(singlesignoutfilter.java:65) @ java.util.concurrent.threadpoolexecutor$worker.runtask(threadpoolexecutor.java:895) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:918) @ java.lang.thread.run(thread.java:680)
what gives?
you may "got error -1 storage engine" several reasons:
- your database out of disk space
- you have
innodb_force_recovery
switch in my.cnf file - mismatched mysql tablespace ids.
the best way troubleshoot issue take @ mysql error log
Comments
Post a Comment