提交 8565a071 authored 作者: Owner's avatar Owner

Demonstration of two meta lock issues

上级 35422ec6
...@@ -374,7 +374,7 @@ public class Session extends SessionWithState { ...@@ -374,7 +374,7 @@ public class Session extends SessionWithState {
*/ */
public void removeLocalTempTable(Table table) { public void removeLocalTempTable(Table table) {
// Exception thrown in org.h2.engine.Database.removeMeta if line below is missing with TestGeneralCommonTableQueries // Exception thrown in org.h2.engine.Database.removeMeta if line below is missing with TestGeneralCommonTableQueries
database.lockMeta(this); //database.lockMeta(this);
modificationId++; modificationId++;
localTempTables.remove(table.getName()); localTempTables.remove(table.getName());
synchronized (database) { synchronized (database) {
...@@ -977,7 +977,7 @@ public class Session extends SessionWithState { ...@@ -977,7 +977,7 @@ public class Session extends SessionWithState {
table.setModified(); table.setModified();
it.remove(); it.remove();
// Exception thrown in org.h2.engine.Database.removeMeta if line below is missing with TestDeadlock // Exception thrown in org.h2.engine.Database.removeMeta if line below is missing with TestDeadlock
database.lockMeta(this); //database.lockMeta(this);
table.removeChildrenAndResources(this); table.removeChildrenAndResources(this);
if (closeSession) { if (closeSession) {
// need to commit, otherwise recovery might // need to commit, otherwise recovery might
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论