Comments (10)
@jtomkiew
Potentially resolved with onedrive v2.5.0-rc2-4-ge1e35fa
Please can you test onedrive v2.5.0-rc2
The instructions to do so can be found here: #2710
from onedrive.
@jtomkiew
Essentially what you are calling out here is a potential race condition with v2.4.25. Unfortunately for you and where client development is at, this issue will not be fixed in v2.4.25. I will not look at it for resolution.
The resolution path however for you is to upgrade to v2.5.0-rc1. Please read in detail the client architecture documentation for v2.5.0 to evaluate if your use case above is taken care of, as this version has been a 100% total re-write including all logic handling.
The specific client architecture documentation can be found here: https://github.com/abraunegg/onedrive/blob/onedrive-v2.5.0-release-candidate-1/docs/client-architecture.md
Post reading this document, what I suggest is that you upgrade your client to v2.5.0-rc1 and re-perform your testing using this client version.
To upgrade to v2.5.0-rc1 will require you to manually compile the client for your system. Please read:
Please perform all your testing again with v2.5.0-rc1.
from onedrive.
@jtomkiew
Thanks - will investigate further once I complete the items I am working on at present. It should be resolved for RC2 or GM.
from onedrive.
@jtomkiew
FYI - now that v2.5.0-rc2 is out, I need to work out what is going on with the Docker builds (something has changed) and then I will be looking into this issue.
from onedrive.
I was wondering if it is possible to get file version information from the API to determine if we need to duplicate local file or not (i.e. if file has the same hash and modification date as one of the previous versions, then we can just overwrite local file), but this is just some food for thought.
The client already does this taking into account timestamp, size and hash of the file, before determining if the local file needs to be preserved.
Closing this issue as original issue is resolved.
from onedrive.
Thanks @abraunegg, I'll verify this on 2.5.0-rc1 and let you know.
from onedrive.
@jtomkiew
Any update on your testing and/or investigations?
from onedrive.
I just did the test (sorry for the delay) and it seems to behave the same way in this scenario:
No user or system config file found, using application defaults
Using 'user' configuration path for application state data: /home/user/.config/onedrive
Using IPv4 and IPv6 (if configured) for all network operations
Checking Application Version ...
Attempting to initialise the OneDrive API ...
Configuring Global Azure AD Endpoints
The OneDrive API was initialised successfully
Opening the item database ...
Application Version: onedrive v2.5.0-rc1-36-g0f012b9
Account Type: personal
Default Drive ID: 567e5894635bb906
Default Root ID: 567E5894635BB906!101
Remaining Free Space: 5.00 GB (5368666674 bytes)
Sync Engine Initialised with new Onedrive API instance
All application operations will be performed in the configured local 'sync_dir' directory: /home/user/OneDrive
Fetching /delta response from the OneDrive API for Drive ID: 567e5894635bb906
Processing API Response Bundle: 1 - Quantity of 'changes|items' in this bundle to process: 5
Finished processing /delta JSON response from the OneDrive API
Processing 4 applicable changes and items received from Microsoft OneDrive
Processing OneDrive JSON item batch [1/1] to ensure consistent local state
Number of items to download from OneDrive: 1
ERROR: File download size mis-match. Increase logging verbosity to determine why.
ERROR: File download hash mis-match. Increase logging verbosity to determine why.
INFO: Potentially add --disable-download-validation to work around this issue but downloaded data integrity cannot be guaranteed.
Removing file Documents/Obsidian/TheFile.md due to failed integrity checks
Downloading file: Documents/Obsidian/TheFile.md ... failed!
Performing a database consistency and integrity check on locally stored data
Processing DB entries for this Drive ID: 567e5894635bb906
Processing: ~/OneDrive
# snip #
Processing: Documents/Obsidian/TheFile.md
The file has been deleted locally
Deleting item from OneDrive: Documents/Obsidian/TheFile.md
Scanning the local file system '~/OneDrive' for new data to upload
Performing a last examination of the most recent online data within Microsoft OneDrive to complete the reconciliation process
Fetching /delta response from the OneDrive API for Drive ID: 567e5894635bb906
Processing API Response Bundle: 1 - Quantity of 'changes|items' in this bundle to process: 5
Finished processing /delta JSON response from the OneDrive API
Processing 3 applicable changes and items received from Microsoft OneDrive
Processing OneDrive JSON item batch [1/1] to ensure consistent local state
Failed items to download from OneDrive: 1
Failed to download: Documents/Obsidian/TheFile.md
Sync with Microsoft OneDrive has completed, however there are items that failed to sync.
To fix any download failures you may need to perform a --resync to ensure this system is correctly synced with your Microsoft OneDrive Account
Waiting for all internal threads to complete before exiting application
from onedrive.
@abraunegg
It does fix the issue indeed - one small side effect is that it will duplicate the local file on the next sync (The local item is out-of-sync with OneDrive, renaming to preserve existing file and prevent local data loss
), but this is fine to manage as a manual clean up.
I was wondering if it is possible to get file version information from the API to determine if we need to duplicate local file or not (i.e. if file has the same hash and modification date as one of the previous versions, then we can just overwrite local file), but this is just some food for thought.
Feel free to close this issue at your leisure. Thanks!
from onedrive.
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
from onedrive.
Related Issues (20)
- Bug: Files modified on upload (doc/docx/xls/xlsx) with SharePoint Shared Libraries HOT 3
- Bug: Inconsistencies When Interrupted During Download Activity HOT 4
- Bug: Process: 374335 ExecStart=/usr/bin/onedrive --monitor (code=exited, status=1/FAILURE) HOT 2
- Bug: Issues with onedrive 2.5.0-rc1 HOT 28
- Bug: Spelling error in message in onedrive-2.5-rc HOT 2
- Bug: Segfault on Downloads HOT 11
- Bug: ERROR: An internal database error occurred: disk I/O error HOT 2
- Bug: Skipping item - invalid name (Microsoft Naming Convention) for aparently good folder names. HOT 3
- Bug: Older versions of onedrive pulled from Docker Hub HOT 2
- Feature Request: Docker Environment Variable for `--sync-shared-files` HOT 2
- Bug: dbus not found HOT 4
- Bug: Does not synchronize during "Performing a database consistency" HOT 4
- Feature Request: Consider adding support for the OAuth2 Device Authorization Flow HOT 3
- Feature Request: Can the printing time be added to the log? HOT 4
- Bug: Synchorinze is not working on subfolder HOT 4
- Feature Request: Add file path to warnings HOT 3
- Feature Request: Multi-threadded synchronization HOT 2
- Feature Request: Add information about file creator/last editor as extended file attributes HOT 2
- Cannot find dependencies HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from onedrive.