# Startup failure with "mmap file: invalid argument" error on v1.24.6

**URL:** <https://forum.weaviate.io/t/startup-failure-with-mmap-file-invalid-argument-error-on-v1-24-6/1921>\
**Category:** General\
**Created:** [April 5, 2024, 9:16pm UTC](https://forum.weaviate.io/t/startup-failure-with-mmap-file-invalid-argument-error-on-v1-24-6/1921 "2024-04-05T21:16:00Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Zoltan\_Fedor](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/zoltan_fedor/32/1251_2.png) [@Zoltan\_Fedor](https://forum.weaviate.io/u/Zoltan_Fedor)\
**Post date:** [April 5, 2024, 9:16pm UTC](https://forum.weaviate.io/t/startup-failure-with-mmap-file-invalid-argument-error-on-v1-24-6/1921/1 "2024-04-05T21:16:00Z")

</div>

After a Weaviate reboot (v1.24.6) we hit the shard corruption issue:

`{"error":"init shard \"confluence20240405022809_YpL8JtBifDId\": init shard \"confluence20240405022809_YpL8JtBifDId\": shard db: create objects bucket: init disk segments: init segment segment-1712297123505677595.db: mmap file: invalid argument","level":"error","msg":"Unable to load shard YpL8JtBifDId: init shard \"confluence20240405022809_YpL8JtBifDId\": init shard \"confluence20240405022809_YpL8JtBifDId\": shard db: create objects bucket: init disk segments: init segment segment-1712297123505677595.db: mmap file: invalid argument","time":"2024-04-05T20:50:57Z"}`

It seems a similar issue was discussed at [Startup Failure - #7 by msj242](https://forum.weaviate.io/t/startup-failure/1709/7), but over there it was made to sound like that v1.24 has improved the integrity of the files and if the file was created with v1.24+, then this shouldn’t really be happening.

Well, this file was created with v1.24.6 (it was created yesterday) and today after a reboot/crash it is causing the above issue at startup and prevents Weaviate from starting up.

What is the recovery here?  
Manually dropping the corrupted .db file and rebuilding it from zero?

---

<div class="post-metadata">

**Author:** ![Zoltan\_Fedor](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/zoltan_fedor/32/1251_2.png) [@Zoltan\_Fedor](https://forum.weaviate.io/u/Zoltan_Fedor)\
**Post date:** [April 5, 2024, 9:53pm UTC](https://forum.weaviate.io/t/startup-failure-with-mmap-file-invalid-argument-error-on-v1-24-6/1921/2 "2024-04-05T21:53:54Z")

</div>

I have moved the folder of this offending class into a subfolder within the Weaviate data library - then Weaviate has recreated the original class folder (with 1Mb of data) and things has suddenly started to work - including the given class is now accessible with all its data.  
I did not expect that. I thought I have lost this class.

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [April 8, 2024, 8:11pm UTC](https://forum.weaviate.io/t/startup-failure-with-mmap-file-invalid-argument-error-on-v1-24-6/1921/3 "2024-04-08T20:11:07Z")

</div>

Hi @Zoltan_Fedor !

Is this a multi node setup?

Indeed, that’s not expected 🤔

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [April 8, 2024, 8:15pm UTC](https://forum.weaviate.io/t/startup-failure-with-mmap-file-invalid-argument-error-on-v1-24-6/1921/4 "2024-04-08T20:15:50Z")

</div>

Also, what is number of objects you are running on this Weaviate cluster?

This may be a big scale kind of issue, so it is interesting to understand your scaling here.

Thanks!

---

<div class="post-metadata">

**Author:** ![Zoltan\_Fedor](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/zoltan_fedor/32/1251_2.png) [@Zoltan\_Fedor](https://forum.weaviate.io/u/Zoltan_Fedor)\
**Post date:** [April 8, 2024, 8:35pm UTC](https://forum.weaviate.io/t/startup-failure-with-mmap-file-invalid-argument-error-on-v1-24-6/1921/5 "2024-04-08T20:35:25Z")

</div>

Hi @DudaNogueira ,  
Yes, this is a multi node setup (2 nodes) with object numbers in the 15-30 range (variable, as most objects gets rebuilt daily).  
For the larger ones we do additional sharding (additional - above of what the multi-node setup would mean).

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [April 8, 2024, 9:02pm UTC](https://forum.weaviate.io/t/startup-failure-with-mmap-file-invalid-argument-error-on-v1-24-6/1921/6 "2024-04-08T21:02:39Z")

</div>

15-30 objects only?  
Or million objects?

🤔

---

<div class="post-metadata">

**Author:** ![Zoltan\_Fedor](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/zoltan_fedor/32/1251_2.png) [@Zoltan\_Fedor](https://forum.weaviate.io/u/Zoltan_Fedor)\
**Post date:** [April 8, 2024, 9:35pm UTC](https://forum.weaviate.io/t/startup-failure-with-mmap-file-invalid-argument-error-on-v1-24-6/1921/7 "2024-04-08T21:35:38Z")

</div>

Sorry, I meant 15-30 classes, but yes, many million records (about 15-20 million)

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [April 12, 2024, 1:48pm UTC](https://forum.weaviate.io/t/startup-failure-with-mmap-file-invalid-argument-error-on-v1-24-6/1921/8 "2024-04-12T13:48:24Z")

</div>

Hi!

This kind of issue seems to arise when you start reaching the machine individual limits.

So maybe you’ll need to resize your cluster and provision more nodes.

🤔

---

<div class="post-metadata">

**Author:** ![Zoltan\_Fedor](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/zoltan_fedor/32/1251_2.png) [@Zoltan\_Fedor](https://forum.weaviate.io/u/Zoltan_Fedor)\
**Post date:** [April 12, 2024, 10:13pm UTC](https://forum.weaviate.io/t/startup-failure-with-mmap-file-invalid-argument-error-on-v1-24-6/1921/9 "2024-04-12T22:13:13Z")

</div>

It is possible.  
But if that is the case, then shouldn’t there be a better method to inform us about the machines reaching their individual limits then bricking the system?

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [April 17, 2024, 6:27pm UTC](https://forum.weaviate.io/t/startup-failure-with-mmap-file-invalid-argument-error-on-v1-24-6/1921/10 "2024-04-17T18:27:12Z")

</div>

There are some, like stated here:

> **[Resource Planning | Weaviate - Vector Database](https://weaviate.io/developers/weaviate/concepts/resources)**
>
> Weaviate scales well for large projects. Smaller projects, less than 1M objects, do not require resource planning. For medium and large-scale projects, you should plan how to get the best performance from your resources. While you design you system,...

but this may happen “outside” of Weaviate, so it is hard to get those.
