chorus icon indicating copy to clipboard operation
chorus copied to clipboard

[BUG] consistency check should not use dir semantics

Open doomguy-stg opened this issue 5 months ago • 1 comments

Bug Report

Description

The consistency check uses dir semantics, which leads to at least two issues:

  • trailing slashes in object name can mask inconsistencies and result in false-positive check results
  • Slashes in object names result in unnecessarily long check runtime and a wast of resources.

Steps to Reproduce

I have created tests which illustrate the mentioned issues.

https://github.com/clyso/chorus/commit/482afb3879b7efcf1bf784e88b7f77146cf75386

doomguy-stg avatar Aug 06 '25 14:08 doomguy-stg

Some implementations are listing objects using dir semantics. Therefore we need to comply. Of course we'd benefit if it'd be possible to list bucket in a flat manner. We'll look into that.

Other thing is, when empty "directory" is enforced through some client, like web console, it appears as an empty object with trailing slash. Sometimes it'd have application/x-directory content type, but it is not strictly checked. As long as object is matching those conditions, it can be used later on as a "directory", i.e. other objects with the same path prefix. The same reasons are leading to the fact that it is hard to tell whether it is an empty object, or empty "directory".

aiivashchenko avatar Sep 12 '25 09:09 aiivashchenko