ArangoDB - 将大文档插入远程服务器时 JsonTextReader.ParseValue() 出现异常
ArangoDB - Exception in JsonTextReader.ParseValue() when inserting Large document to Remote Server
我有两个 ArangoDB 实例 运行,一个在 remote/cloud 服务器上,一个在本地服务器上。两个实例都可以访问,我可以在两个实例上 insert/query 数据。
我有一个包含 56,000+ 个双精度数组的文档,当我尝试将此文档插入远程服务器时,我得到一个 Newtonsoft.Json.JsonReaderException。当我将同一个文档插入本地实例时,插入成功。错误文本是:
'Unexpected character encountered while parsing value: <. Path '',第 0 行,位置 0.'
任何人都可以阐明发生了什么事吗?
我正在使用 ArangoDB 3.2.6 和 ArangoDB .Net Client
Ping 次数:Local:2ms - Remote:56ms
我的测试代码是:
int size = 56000;
TestObj toAdd = new TestObj() { values = new List<double>(size) };
for (int i = 0; i < size; i++) {
toAdd.values.Add(_rnd.NextDouble());
}
ArangoDatabase.ChangeSetting(s => {
s.Database = "MyDB";
s.Url = "192.1.1.123:8529";
s.Credential = new NetworkCredential("MyUID", "MyPwd");
});
using (IArangoDatabase db = ArangoDatabase.CreateWithSetting()){
db.Collection("TestCollection").Insert(toAdd);
}
此问题的根本原因在于 NGINX Reverse Proxy 的配置。对于正在向服务器加载的 JSON 文档,client_max_body_size 设置设置得太低。一旦车身尺寸增加,它就会开始工作。
可以找到有关 NGINX 配置的信息 here。
我有两个 ArangoDB 实例 运行,一个在 remote/cloud 服务器上,一个在本地服务器上。两个实例都可以访问,我可以在两个实例上 insert/query 数据。
我有一个包含 56,000+ 个双精度数组的文档,当我尝试将此文档插入远程服务器时,我得到一个 Newtonsoft.Json.JsonReaderException。当我将同一个文档插入本地实例时,插入成功。错误文本是:
'Unexpected character encountered while parsing value: <. Path '',第 0 行,位置 0.'
任何人都可以阐明发生了什么事吗?
我正在使用 ArangoDB 3.2.6 和 ArangoDB .Net Client
Ping 次数:Local:2ms - Remote:56ms
我的测试代码是:
int size = 56000;
TestObj toAdd = new TestObj() { values = new List<double>(size) };
for (int i = 0; i < size; i++) {
toAdd.values.Add(_rnd.NextDouble());
}
ArangoDatabase.ChangeSetting(s => {
s.Database = "MyDB";
s.Url = "192.1.1.123:8529";
s.Credential = new NetworkCredential("MyUID", "MyPwd");
});
using (IArangoDatabase db = ArangoDatabase.CreateWithSetting()){
db.Collection("TestCollection").Insert(toAdd);
}
此问题的根本原因在于 NGINX Reverse Proxy 的配置。对于正在向服务器加载的 JSON 文档,client_max_body_size 设置设置得太低。一旦车身尺寸增加,它就会开始工作。
可以找到有关 NGINX 配置的信息 here。