RavenDB无法导入.ravendump导出文件

时间:2015-09-29 07:46:43

标签: json database json.net ravendb jsonreader

我和我的同事正在使用RavenDB(目前是Stable Build 3800)。当我们其中一个人创建我们的开发服务器数据库的导出(有或没有启用索引)时,我的同事能够在本地导入它而没​​有任何问题,但我每次都得到相同的错误

错误是:

  

System.AggregateException:发生了一个或多个错误。 ---> Raven.Imports.Newtonsoft.Json.JsonReaderException:解析属性名称后的字符无效。预期':' 但得到了:......

有关此错误的一些注意事项:

  • 相同的.ravendump文件始终在相同的Documents-nr上提供相同的无效字符错误。
  • 当我的同事再次创建新的导出.ravendump文件时,Documents-nr和无效字符都不同。
  • 错误中的 : 是随机字符。我的错误包含./,字母B等,并带有不同的.ravendump导出文件。
  • 我们目前拥有一个包含超过200,000个文档的数据库。与随机字符相同,Document-nr给出的错误也会因PER FILE而异。我可以连续5次导入同一个文件,并且每次在同一个Document-nr中给出错误。但是当我尝试不同的导出文件时,它会停在不同的nr。有时78.848,有时是159.744,等等。它停止的字符和文档都是随机的每个.ravendump文件。

我尝试过多次删除RavenDB,我尝试过从Windows 8.1更新到Windows 10(或许有点不相关,但是因为我的同事使用的是Windows 7和10而且我是只有一个8.1,我们只是尝试更新到10 Enterprice)。我在导入时尝试使用或不使用禁用索引。今天下午,如果我的老板还有一些人躺着,我会尝试在我的笔记本电脑上添加更多内存(目前我有10MB,而我的同事有10,14和16)。虽然当我导入文件时,我的内存稳定在70-80%..

我的同事可以毫无问题地导入完全相同的.ravendump文件,但我无法做到。有什么东西可能导致这种差异吗?我们都使用Raven Build 3800,但可能是Newtonsoft版本不同,或者是JavaScript版本,或者其他什么。导致这个问题的一些差异..

所以,目前我被困住了。我可以使用一种解决方法:获取生产数据库(而不是开发数据库)并运行我们迄今为止在本地进行的所有更新(补丁,预测,什么不是),这需要大约整天都要完成。我可能会在等待答案时开始这样做。尽管如此,这个问题在我这个项目的开发过程中已经多次出现过,而且由于数据库的增长,我每隔4-7天就不能花一整天的时间。我们已经开发了一些需要数据库重置的更改..

我已经对这个问题进行了一些搜索,并且我已经看到了其他一些有同样问题的人,但在我的案例中没有真正的解决方案。与本地相比,其中一个服务器数据库版本不同,但我们拥有相同的3800版本。

下面是错误和整个堆栈跟踪的屏幕截图,虽然它是一种无关的错误,因为我的同事可以使用完全相同的RavenDB版本导入完全相同的文件而没有问题。

enter image description here

  

System.AggregateException:发生了一个或多个错误。 ---> Raven.Imports.Newtonsoft.Json.JsonReaderException:无效的JavaScript属性标识符:/。 Path' Docs [79699] .Tussenpersonen [81] .Id',line 12179618,position 2。      在Raven.Imports.Newtonsoft.Json.JsonTextReader.ParseUnquotedProperty()在c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:899行      at Raven.Imports.Newtonsoft.Json.JsonTextReader.ParseProperty()in c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:line 851      at Raven.Imports.Newtonsoft.Json.JsonTextReader.ReadInternal()in c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:line 396      at Raven.Imports.Newtonsoft.Json.JsonTextReader.Read()in c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:line 314      在Raven.Json.Linq.RavenJObject.Load(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJObject.cs:第261行      在Raven.Json.Linq.RavenJArray.Load(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJArray.cs:139行      在Raven.Json.Linq.RavenJObject.Load(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJObject.cs:235行      在Raven.Json.Linq.RavenJToken.ReadFrom(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJToken.cs:第178行      at Raven.Abstractions.Smuggler.SmugglerDatabaseApiBase.d__a1.MoveNext()in c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Smuggler \ SmugglerDatabaseApiBase.cs:line 1211      ---内部异常堆栈跟踪结束---      在System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)      at Raven.Abstractions.Smuggler.SmugglerDatabaseApiBase。<> c__DisplayClass70.b__69()in c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Smuggler \ SmugglerDatabaseApiBase.cs:line 796      at Raven.Abstractions.Smuggler.SmugglerDatabaseApiBase.d__72.MoveNext()in c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Smuggler \ SmugglerDatabaseApiBase.cs:line 863   ---从抛出异常的先前位置开始的堆栈跟踪结束---      在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)      在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)      at Raven.Abstractions.Smuggler.SmugglerDatabaseApiBase.d__5e.MoveNext()in c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Smuggler \ SmugglerDatabaseApiBase.cs:line 695   ---从抛出异常的先前位置开始的堆栈跟踪结束---      在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)      在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)      在Raven.Database.Server.Controllers.StudioTasksController。<> c__DisplayClassf。< b__b> d__14.MoveNext()在c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Database \ Server \ Controllers \ StudioTasksController.cs中:第173行   ---> (内部异常#0)Raven.Imports.Newtonsoft.Json.JsonReaderException:无效的JavaScript属性标识符:/。 Path' Docs [79699] .Tussenpersonen [81] .Id',line 12179618,position 2。      在Raven.Imports.Newtonsoft.Json.JsonTextReader.ParseUnquotedProperty()在c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:899行      at Raven.Imports.Newtonsoft.Json.JsonTextReader.ParseProperty()in c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:line 851      at Raven.Imports.Newtonsoft.Json.JsonTextReader.ReadInternal()in c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:line 396      at Raven.Imports.Newtonsoft.Json.JsonTextReader.Read()in c:\ Builds \ RavenDB-Stable-3.0 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonTextReader.cs:line 314      在Raven.Json.Linq.RavenJObject.Load(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJObject.cs:第261行      在Raven.Json.Linq.RavenJArray.Load(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJArray.cs:139行      在Raven.Json.Linq.RavenJObject.Load(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJObject.cs:235行      在Raven.Json.Linq.RavenJToken.ReadFrom(JsonReader reader)中的c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Json \ Linq \ RavenJToken.cs:第178行      at Raven.Abstractions.Smuggler.SmugglerDatabaseApiBase.d__a1.MoveNext()in c:\ Builds \ RavenDB-Stable-3.0 \ Raven.Abstractions \ Smuggler \ SmugglerDatabaseApiBase.cs:line 1211< ---

0 个答案:

没有答案