Encrypted file name length limit

HI!

After attempt to upload my books collection I encountered situation when several of my files stuck in infinite loop of “Syncing-Waiting”. After a couple hours of digging into the problem I found out that file names were longer than 171 bytes (UTF-8).

So for example if file name is cyrillic I can only have up to 85 symbols, if only latine is used than up to 171 symbols, if mixed cyrillic/latin than according to UTF-8 up to 171 bytes.

As cloud provider I’m using Amazon Cloud Drive and there is effective 280 characters file name limit (though they claim 255). After encryption 171 turns into 268 which is less than 280.

All of this happens only with encrypted folders. So problem is somewhere in encryption mechanism.

Even if this limitation is by design I want to point out that odrive infinitely uploads such files.

We saw the same behavior when encryption was first released. There were issues with certain characters in file names causing the cloud storage back end to reject the file. Odrive looped away, retrying until it was stopped manually. The bugs we saw were quickly fixed by the odrive crew.

I should also point out that the problems were tied to particular cloud providers. We used ACD for testing. It’s essentially free and can absorb any amount of data you have the patience to upload. ACD was, however, the pickiest about file naming conventions. The same file that ACD choked on could be uploaded to an Amazon S3 bucket without any issues.

Hi @guzik.sergey,
Thanks for the report. Can you provide a sample path where this was encountered for you? I just want a identical scenario to test here to ensure the same results.

Thanks!

Ok, try this mixed one (172 bytes):

СтрейцВМетодыпространствасостоянийвтеориилинейныхдискретныхсистемуправления198101234567890123.djv

File with this name does not sync, but if you remove one digit or latine character everything is ok.

Additional info: folders with such a “long” names just don’t sync.

Thanks. We’ll make sure that these do not loop infinitely and are listed in not allowed so the user is aware of the current limitation.