我是一名 Unity 移动游戏开发者。由于 Google Play 计费库迁移,我将应用内购买包管理器更新至 4.12.2,并将最新的外部依赖项管理器也更新至 4.12.2。在
我是一名 Unity 移动游戏开发者。由于 Google Play 结算库迁移,我将应用内购买包管理器更新为 4.12.2,并将外部依赖项管理器也更新为最新版。在 IAPAndroidDependencies 文件中,我可以看到结算客户端 6.2.1。我没有更改任何购买脚本。在我更新了所有提交的脚本后,我仍然收到 Google Play 结算错误的错误消息。我应该怎么做才能解决这个问题?
我更新了统一的应用内购买包。我还更新了 ExternalDependencyManager
在使用 ArangoDB3 几年都没有问题之后,突然,我遇到了 AQL IO 错误,形式为 [HTTP 500][ERR 1305] AQL: IO 错误:打开文件进行随机读取时:/ssd1/ara...
在使用 ArangoDB3 几年都没有出现任何问题后,突然,我遇到了以下形式的 AQL IO 错误
[HTTP 500][ERR 1305] AQL: IO error: While open a file for random read: /ssd1/arangodb3/engine-rocksdb/22850496.sst: No file descriptors available (while finalizing)
这是在执行表单插入时
insert { id: "foo", junk: [ 1, 2, 3 ] } in bar
在运行填充新数据库的漫长操作之后发生了这种情况。
查看 syslog
,我看到以下内容(为方便阅读,省略了时间戳等):
ERROR [fae2c] {rocksdb} RocksDB encountered a background error during a compaction operation: IO error: While open a file for random read: /ssd1/arangodb3/engine-rocksdb/22850496.sst: No file descriptors available; The database will be put in read-only mode, and subsequent write errors are likely. It is advised to shut down this instance, resolve the error offline and then restart it.
ERROR [be9ea] {rocksdb} rocksdb: [db/db_impl/db_impl_compaction_flush.cc:2922] Waiting after background compaction error: IO error: While open a file for random read: /ssd1/arangodb3/engine-rocksdb/22850496.sst: No file descriptors available, Accumulated background error counts: 1
WARNING [afa17] {engines} could not sync metadata for collection 'OpenAlex_20240502/works'
WARNING [a3d0c] {engines} background settings sync failed: IO error: While open a file for random read: /ssd1/arangodb3/engine-rocksdb/22850496.sst: No file descriptors available
WARNING [afa17] {engines} could not sync metadata for collection 'OpenAlex_20240502/publishers'
上面的第一条消息似乎暗示了一些事情,但我不确定是什么。
有问题的文件 /ssd1/arangodb3/engine-rocksdb/22850496.sst
不存在,这显然是问题的根源,但我不确定如何解决它。
重新启动 Arango DB 和系统也无法解决问题。
文件系统上有足够的空间
/dev/nvme0n1p1 7.3T 4.6T 2.8T 63% /ssd1
所以这不是问题。
arangodb --version
报告
Arango DB Version 0.18.2, build 3518b68, Go go1.21.5
arangosh --version
报告
3.11.8
architecture: 64bit
arm: false
asan: false
assertions: false
avx: true
avx2: false
boost-version: 1.78.0
build-date: 2024-02-22 14:43:37
build-repository: refs/tags/v3.11.8 eb715d099fb
compiler: gcc [11.2.1 20220219]
coverage: false
cplusplus: 202002
curl-version: none
debug: false
endianness: little
failure-tests: false
fd-client-event-handler: poll
fd-setsize: 1024
full-version-string: ArangoDB 3.11.8 [linux] 64bit, using jemalloc, build refs/tags/v3.11.8 eb715d099fb, VPack 0.2.1, RocksDB 7.2.0, ICU 64.2, V8 7.9.317, OpenSSL 3.0.13 30 Jan 2024
icu-version: 64.2
ipo: true
iresearch-version: 1.3.0.0
jemalloc: true
libunwind: true
license: community
maintainer-mode: false
memory-profiler: true
ndebug: true
openssl-version-compile-time: OpenSSL 3.0.13 30 Jan 2024
openssl-version-run-time: OpenSSL 3.0.13 30 Jan 2024
optimization-flags: -mfxsr -mmmx -msse -msse2 -mcx16 -msahf -mpopcnt -msse3 -msse4.1 -msse4.2 -mssse3 -mpclmul -mavx -mxsave
pic: 2
pie: 2
platform: linux
reactor-type: epoll
replication2-enabled: false
rocksdb-version: 7.2.0
server-version: 3.11.8
sizeof int: 4
sizeof long: 8
sizeof void*: 8
sse42: true
tsan: false
unaligned-access: true
v8-version: 7.9.317
vpack-version: 0.2.1
zlib-version: 1.2.13
我正在运行 Ubuntu 23.10
Linux servername 6.5.0-28-generic #29-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 28 23:46:48 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
我尝试重新安装 Arango DB,但无济于事。我已从检查点重新启动应用程序,但它现在立即且持续失败。即使像上面一样简单的插入也会引发相同的错误。
该应用程序是用 Python 编写的,是多线程的,使用 multiprocessing
模块,并且有 64 个线程/进程全部执行上传操作。
我在另一个系统上运行着相同的代码,并且它顺利地运行完成,所以我很困惑这里可能出了什么问题。