-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: Hub9 30.0.2 (client 3.14.3) Fundamental: mtime on Server and Clients is Different #49189
Comments
Is this related? #48681 |
@XueSheng-GIT Thanks for pointing this out. It was one of the issues that popped up in my research, but I'm glad you mentioned this one, because I could have missed it. #48681 appears to be related to a "a frontend rendering issue". On occassions, I have also seen similar behaviour in my web rendered view with days or more of mtime difference. So I am inclined to agree that #48681 is an intermittent frontend rendering issue -- the webview has not caught up with the actual mtime stored on the server. This issue, on the otherhand is fundamental. The mtime stored on the server is wrong. |
I'm not a developer and I have not looked at the source code to work out what actually happens. Hypothesis
Presumed Issue Potential Solution |
Bug description
On a client machine where I am running nextcloud-client I create a file in a folder that is synchronised
with the server. Shortly after, that file appears on the server; the contents are identical, but the mtime is different.
This is a fundamental issue: files uploaded to the server should have their mtime preserved regardless of any delay in getting that file to the server storage.
I have been struggling with this issue for a long time because in my production environment it only manifests intermittently as a file conflict. But I have now created an environment where the mtime difference is present consistently for every file that is created or modified.
On my production server with over 20TB in use, the storage medium is not local HDD or SSD, but a network attached distributed storage with redundancy mounted as local storage (this is not external storage in nextcloud parlance). I am using glusterfs which serves me very well, robustly providing reliable storage despite HDD and machine failures over the years, but the specific file system itself is
irrelevant to this mtime difference issue. The feature of this file system that exposes the fundamental flaw in nextcloud is that accesses are slower than local SSD or HDD. I suppose that very occassionally, even local storage could have a longer than normal access delay, but the probability of that causing an mtime difference that in turn creates a file conflict is extremely low.
My fear is that many production nextcloud instalations are vulnerable to this issue, but the low probability means they are not suffering, or worse it requires too much effort to narrow down and report.
Steps to reproduce
Expected behavior
This is a fundamental issue: files uploaded to the server should have their mtime preserved
regardless of any delay in getting that file to the server storage.
Nextcloud Server version
30
Operating system
Other
PHP engine version
PHP 8.3
Web server
Apache (supported)
Database engine version
MariaDB
Is this bug present after an update or on a fresh install?
Fresh Nextcloud Server install
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
What user-backends are you using?
Configuration report
List of activated Apps
Nextcloud Signing status
Nextcloud Logs
Additional info
Operating system: Fedora 40
This issue is present on latest official Fedora versions:
Server 29.0.8
Client 3.13.4git
Also present on very latest version:
Server 30.0.2
Client Nextcloud-3.14.3-x86_64.AppImage
This is a standalone nextcloud environment freshly and specifically created for demonstrating this issue.
There are many related server and desktop issues reporting something amiss with mtime, but all have
been closed as stale or are restricted to something specific.
The text was updated successfully, but these errors were encountered: