File Manager size limits?

I'm getting an exception, "java.nio.file.AccessDeniedException: temperature.json: Not enough space left on device on line 433 (method handler)"

It is a large-ish file, nearly 1MB, but it subsequently succeeded in writing, in a different attempt. But I didn't build in retry logic, so the instance (sample) was probably lost.

My guess is that this was a race condition - possibly the file was open for read? Or a coincidental subscribe?

So...

  1. What are the size limits, if any?
  2. What happens on write conflicts or other conflicts? Is this error more generic than specific?

Thanks

I am getting similar errors occasionally from small files using different apps, even though my Local File Manager shows less than 4% used.

  • Is anyone else seeing this?
  • Is there a way to debug this?

Thanks

It doesn't seem file size related, just sporadic. For now I'm accepting that there will be some minor data loss due to it. It is pretty rare.

In my experience this happens when multiple apps / app instances are accessing the same file.

Yeah, I considered that, but in my cases that's not it. It may be that only one file can be written at a time; I can't easily test for that.

My experience points to multiple apps accessing different files at the same time, but I can't prove it.

The title of this topic should probably be changed to mention the errors.
Something like "File Manager: Not enough space left on device errors".

To test this issue I have created a driver which writes a file multiple times in a row.
With two device instances of the driver running at the same time (but writing different files) the error rate is dramatically increased.
The files do not need to be excessively large to exhibit this problem.
When the two devices are scheduled to run at non-overlapping times they encounter no errors.

@support_team This looks like a simultaneous write issue in the file system. What more information do you need to investigate this?

@gopher.ny I wrote a custom app that logs certain device events to a .csv file; the event handler does a straightforward append, using downloadHubFile() followed by uploadHubFile() with the new content. I added the singleThreaded: true flag to the app definition, but still seeing these errors from time to time (twice today) :

Any insight as to what could be the cause? I verified that there's only one app writing to this particular file.

In the meantime I'll see if I can catch the exception and add a retry mechanism to my app.

1 Like