Postgresql Grails3.2.9中的域更新

Postgresql Grails3.2.9中的域更新,postgresql,grails,gorm,grails3,grails3.2.0,Postgresql,Grails,Gorm,Grails3,Grails3.2.0,从Grails2.3.11升级到3.2.9版后,我遇到了一个问题。 我们已经改变了我们所需要的,几乎所有的一切都很好。但我们仍然只有一个问题 应用程序中的某些操作具有以下模式: 在UI中单击时,会有一个ajax请求,该请求会将数据更新/插入数据库 成功后,将使用另一个ajax进行回调,以检索更新/新数据 有时(很少),第二个ajax会得到旧数据(当然,在另一个请求之后,数据会被更新)。数据库没有足够的时间保存数据?;) 在Grails2中,这从未发生过。 我们使用postgres 8.4,但在更

从Grails2.3.11升级到3.2.9版后,我遇到了一个问题。 我们已经改变了我们所需要的,几乎所有的一切都很好。但我们仍然只有一个问题

应用程序中的某些操作具有以下模式:

  • 在UI中单击时,会有一个ajax请求,该请求会将数据更新/插入数据库

  • 成功后,将使用另一个ajax进行回调,以检索更新/新数据

  • 有时(很少),第二个ajax会得到旧数据(当然,在另一个请求之后,数据会被更新)。数据库没有足够的时间保存数据?;)

    在Grails2中,这从未发生过。 我们使用postgres 8.4,但在更新到9.6之后,问题仍然存在。更改jdbc驱动程序也没有帮助

    为了重现这一点,我创建了一个简单的应用程序。我向数据库中添加了一些记录,并创建了两个操作。一个操作添加一个域并返回一个新id,第二个操作在插入后获取数据(只有一个断言检查是否在DB中创建了具有正确id的域)。 当我在本地快速机器上使用postgres DB时,问题很少发生,但在本地网络上,慢速机器会导致问题更频繁地出现。 默认H2数据库没有出现问题


    这是正常的行为吗?你知道在哪里可以找到这个问题的原因吗

    我不是这方面的专家,但我会尝试这些:-删除JDBC批处理-将事务添加到第二个方法-更改配置以读取“未提交”数据这可以为您提供更多信息以了解正在发生的事情。我不是这方面的专家,但我会尝试以下方法:-删除JDBC批处理-将事务添加到第二个方法-将配置更改为读取“未提交”数据-这可以为您提供更多信息以了解发生了什么。