【问题标题】:RavenDb in ram and 404 Not found errorsRavenDb in ram 和 404 Not found 错误
【发布时间】:2016-07-02 20:58:45
【问题描述】:

我正在尝试使用完整的内存中 RavenDB(版本 2.5.2996)来运行一些集成测试。 我使用以下命令启动了 RavenDB 服务器:

    Raven.Server.exe --ram --debug

服务器正确启动。 集成测试卡住了,我在 RavenDB 调试控制台中遇到很多错误:

    Request #143: GET - o ms - <database name> - 404 - /indexes/Raven/DocumentByEntityName?definition=yes

使用普通的 RavenDB 实例(不在内存中),集成测试通过。 我试图在 RavenDB 文档中搜索一些线索,但我没有找到任何东西。任何人都可以帮助我理解为什么它不起作用?

【问题讨论】:

  • 这可能是因为您使用了一段时间未使用的内存实例,因此它被关闭(并且所有数据都丢失了)。每个测试都有一个数据库,还是所有测试都有一个共享数据库?
  • @AyendeRahien 我们正在使用 RavenDB 的普通本地实例(我的意思是执行 Raven.Server.exe 可执行文件)为我们的系统运行一些集成测试。每个集成测试都会删除以前的数据库并创建一个新数据库。我只是用一个完整的内存实例替换了本地普通实例(使用 --ram 选项)。我启动了数据库服务器并启动了集成测试。

标签: ravendb


【解决方案1】:

--ram 选项用于系统数据库,您需要在创建数据库时通过设置Raven/RunInMemory = true 来指定每个数据库也在内存中运行。

【讨论】:

  • 当它检测到它是“内存中”(ram)服务器实例时,您能解释一下为什么默认情况下(按设计)不执行此操作。如果您想在本地测试/开发中使用“内存中”,然后使用真正的数据库(不在内存中)进行释放,则必须手动设置它是没有意义的。
  • 这是我们行为方式的问题,但它只会在 4.0 中修复
猜你喜欢
  • 1970-01-01
  • 2019-04-06
  • 1970-01-01
  • 2020-12-12
  • 1970-01-01
  • 2019-05-12
  • 1970-01-01
  • 1970-01-01
  • 2018-07-19
相关资源
最近更新 更多