CmisSync icon indicating copy to clipboard operation
CmisSync copied to clipboard

Numerous conflict version

Open Montagnard65 opened this issue 7 years ago • 19 comments

Hi, For some months, I faced to many version conflict on my synced files, like this : cmis I have this logs when there is a conflict :

2017-02-27 18:35:42,779 [12] DEBUG CmisSync.Lib.SyncItem [(null)] - File.Exists(C:\Users\Benjamin\Downloads\Aménagement PCC\06-Phase ACT\Offres n°2 soumissionnaires\Matrice exigences - Analyse offres 2.xlsx) = True
2017-02-27 18:35:42,780 [12] DEBUG CmisSync.StatusIconController [(null)] - StatusIconController OnSyncing
2017-02-27 18:35:42,781 [12] INFO  CmisSync.Lib.Database.Database [(null)] - Checksum of C:\Users\Benjamin\Downloads\Aménagement PCC\06-Phase ACT\Offres n°2 soumissionnaires\Matrice exigences - Analyse offres 2.xlsx has changed from 673108B18EB646B7624F5A2E56D8F45BB6E9C8B3 to 97808A219E8EE21D5C731E889559D08AB00A8CF3
2017-02-27 18:35:42,781 [12] INFO  CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Conflict with file: Matrice exigences - Analyse offres 2.xlsx, backing up locally modified version and downloading server version
2017-02-27 18:35:42,781 [12] INFO  CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - - serverSideModificationDate: 27/02/2017 13:39:49
2017-02-27 18:35:42,781 [12] INFO  CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - - lastDatabaseUpdate: 27/02/2017 12:48:29
2017-02-27 18:35:42,781 [12] INFO  CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - - Checksum in database: 673108B18EB646B7624F5A2E56D8F45BB6E9C8B3
2017-02-27 18:35:42,782 [12] INFO  CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - - Checksum of local file: 97808A219E8EE21D5C731E889559D08AB00A8CF3
2017-02-27 18:35:42,789 [12] ERROR CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Could not crawl sync remote folder: /Sites/docsitsol/documentLibrary/01-Opérationnel/01-Etudes-Projets/04-EGIS/Avenir Metro PCC/06-Phase ACT/Offres n°2 soumissionnaires
System.IO.IOException: Le processus ne peut pas accéder au fichier, car il est utilisé par un autre processus.
   à System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   à System.IO.__Error.WinIOError()
   à System.IO.File.InternalMove(String sourceFileName, String destFileName, Boolean checkHost)
   à System.IO.File.Move(String sourceFileName, String destFileName)
   à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.CrawlRemoteDocument(IDocument remoteDocument, String remotePath, String localFolder, IList`1 remoteFiles)
   à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.CrawlRemote(IFolder remoteFolder, String remotePath, String localFolder, IList`1 remoteFiles, IList`1 remoteFolders)
   à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.CrawlSync(IFolder remoteFolder, String remotePath, String localFolder)
   à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.CrawlRemoteFolder(IFolder remoteSubFolder, String remotePath, String localFolder, IList`1 `remoteFolders)

But I'm the only user of this files, so it can't be have a real conflict ! Have you an idea how to fix this problem ?

For information, I'm on Windows 10 with a sync to Alfresco 5.2 (I'm wondering if this problem didn't start with Alfresco 5.1).

Thanks !

Montagnard65 avatar Mar 01 '17 17:03 Montagnard65

Can you give us all the log ? For me there are not enough information for help you.

mathieuga avatar Mar 01 '17 17:03 mathieuga

Hi, Thanks for your quick reply. Is there a way to send you the full log by private message ?

Montagnard65 avatar Mar 02 '17 16:03 Montagnard65

May be juste wait the new version of CmisSync who add this update https://github.com/aegif/CmisSync/tree/master/CmisSync.Lib/Sync

mathieuga avatar Mar 02 '17 17:03 mathieuga

Do you know when this new version will be available ?

Montagnard65 avatar Mar 03 '17 12:03 Montagnard65

For the date that depend of aegif.

If you want you can compil a new version.

Or i can give you my version with the update. But as my version is not uptodate may be there will have regression or incompatibiliy with your.

mathieuga avatar Mar 06 '17 19:03 mathieuga

Here is CmisSync compiled on Windows 10 with .NET 4.6.2 (from Nicolas): https://bitbucket.org/aegif/cmissync/downloads/CmisSync.2.9.4.0-.net4.6.2.exe Could you please test it and let us know whether it fixes the problem?

mathieuga avatar Mar 10 '17 14:03 mathieuga

Thanks for your reply, I installed this new version and I have already this error that I didn't had previously. capture I will warn you if I have some version conflict.

Montagnard65 avatar Mar 10 '17 17:03 Montagnard65

The message is clear.

  • In Alfresco you can have a path with more than 260 character,
  • In Windows you are limited to 260 character (path and name). In your case I think you try to synchro an alfresco folder with a path that have more than 260 character.

For solve that juste reduce the path.

mathieuga avatar Mar 11 '17 11:03 mathieuga

Yes, I agree, this message is clear, but with the previous version of CMISsync with the same forlders synced, I hadn't this message (everything works fine). Do you know why ? Thanks

Montagnard65 avatar Mar 13 '17 11:03 Montagnard65

I don't know. May be you can found more info in your logs or in the code.

mathieuga avatar Mar 13 '17 19:03 mathieuga

@Montagnard65 That is worrying! To make sure, would you mind uninstalling the last version, then installing the version you had before, and check that syncing goes through flawlessly? That would help us confirm the bug. Even better, if you could find by dichotomy from what version the problem started appearing, that would be wonderful! All versions are available here: https://bitbucket.org/aegif/cmissync/downloads/ Thanks a lot for the investigation!

nicolas-raoul avatar Mar 14 '17 02:03 nicolas-raoul

OK @nicolas-raoul I'll try to do that. In addition to this problem, it's indicate that this folder failed to be synchronised, but I modified some files in this folder and there are still synchronised... And some times, there is no error displayed, but most of the time, there is this message.

Montagnard65 avatar Mar 15 '17 08:03 Montagnard65

Hi, I came back to the 2.6.5 version and I don't had this problem. I tried the 2.7.3 version, and I still haven't any problem. I will try the other versions.

Montagnard65 avatar Mar 21 '17 15:03 Montagnard65

2.7.5 is working too.

Montagnard65 avatar Mar 27 '17 11:03 Montagnard65

Hi, I'm on cmissync 2.7.7, and I faced to a bug : The cmissync icon indicate there is a sync and the App indicate too "Synchronisation des modifications". This icon and indication never stop. But there isn't anything to sync currently ! And the logs display : 2017-03-30 17:35:16,090 [12] INFO CmisSync.Lib.RepoBase [(null)] - Full Sync Complete: C:\XXXXXXX

And when I look the log, I can see this (but I haven't any error message displayed) :

2017-03-30 17:34:56,123 [12] DEBUG CmisSync.Lib.SyncItem [(null)] - File.Exists(C:XXXXXXXXX) = True
2017-03-30 17:34:56,190 [12] ERROR CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Could not crawl sync local file: C:\XXXXXXXXXX
System.IO.PathTooLongException: Le chemin d'accès spécifié, le nom de fichier ou les deux sont trop longs. Le nom de fichier qualifié complet doit comprendre moins de 260 caractères et le nom du répertoire moins de 248 caractères.
   à System.IO.PathHelper.GetFullPathName()
   à System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   à System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   à System.IO.Path.GetFullPathInternal(String path)
   à System.IO.FileInfo.Init(String fileName, Boolean checkHost)
   à System.IO.FileInfo..ctor(String fileName)
   à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.CrawlLocalFile(String filePath, IFolder remoteFolder, IList`1 remoteFiles)
2017-03-30 17:34:56,190 [12] ERROR CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Could not crawl sync local file: C:\XXXXXXXXXXXXXXX
System.IO.PathTooLongException: Le chemin d'accès spécifié, le nom de fichier ou les deux sont trop longs. Le nom de fichier qualifié complet doit comprendre moins de 260 caractères et le nom du répertoire moins de 248 caractères.
   à System.IO.PathHelper.GetFullPathName()
   à System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   à System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   à System.IO.Path.GetFullPathInternal(String path)
   à System.IO.FileInfo.Init(String fileName, Boolean checkHost)
   à System.IO.FileInfo..ctor(String fileName)
   à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.CrawlLocalFile(String filePath, IFolder remoteFolder, IList`1 remoteFiles)
2017-03-30 17:34:56,190 [12] ERROR CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Could not crawl sync local file: C:\XXXXXXXXXX
System.IO.PathTooLongException: Le chemin d'accès spécifié, le nom de fichier ou les deux sont trop longs. Le nom de fichier qualifié complet doit comprendre moins de 260 caractères et le nom du répertoire moins de 248 caractères.
   à System.IO.PathHelper.GetFullPathName()
   à System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   à System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   à System.IO.Path.GetFullPathInternal(String path)
   à System.IO.FileInfo.Init(String fileName, Boolean checkHost)
   à System.IO.FileInfo..ctor(String fileName)
   à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.CrawlLocalFile(String filePath, IFolder remoteFolder, IList`1 remoteFiles)
2017-03-30 17:34:56,190 [12] ERROR CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Could not crawl sync local file: C:\XXXXXXXXXX
System.IO.PathTooLongException: Le chemin d'accès spécifié, le nom de fichier ou les deux sont trop longs. Le nom de fichier qualifié complet doit comprendre moins de 260 caractères et le nom du répertoire moins de 248 caractères.
   à System.IO.PathHelper.GetFullPathName()
   à System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   à System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   à System.IO.Path.GetFullPathInternal(String path)
   à System.IO.FileInfo.Init(String fileName, Boolean checkHost)
   à System.IO.FileInfo..ctor(String fileName)
   à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.CrawlLocalFile(String filePath, IFolder remoteFolder, IList`1 remoteFiles)
2017-03-30 17:34:56,206 [12] ERROR CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Could not crawl sync local file: C:\XXXXXXXXXX
System.IO.PathTooLongException: Le chemin d'accès spécifié, le nom de fichier ou les deux sont trop longs. Le nom de fichier qualifié complet doit comprendre moins de 260 caractères et le nom du répertoire moins de 248 caractères.
   à System.IO.PathHelper.GetFullPathName()
   à System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   à System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   à System.IO.Path.GetFullPathInternal(String path)
   à System.IO.FileInfo.Init(String fileName, Boolean checkHost)
   à System.IO.FileInfo..ctor(String fileName)
   à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.CrawlLocalFile(String filePath, IFolder remoteFolder, IList`1 remoteFiles)
2017-03-30 17:34:56,206 [12] XXXXXXXXXXXX
System.IO.PathTooLongException: Le chemin d'accès spécifié, le nom de fichier ou les deux sont trop longs. Le nom de fichier qualifié complet doit comprendre moins de 260 caractères et le nom du répertoire moins de 248 caractères.
   à System.IO.PathHelper.GetFullPathName()
   à System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   à System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   à System.IO.Path.GetFullPathInternal(String path)
   à System.IO.FileInfo.Init(String fileName, Boolean checkHost)
   à System.IO.FileInfo..ctor(String fileName)
   à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.CrawlLocalFile(String filePath, IFolder remoteFolder, IList`1 remoteFiles)
2017-03-30 17:34:56,290 [12] DEBUG CmisSync.Lib.SyncItem [(null)] - File.Exists(C:\XXXXXXXXXX) = True

Montagnard65 avatar Mar 30 '17 15:03 Montagnard65

Hello @Montagnard65. Please create new issues rather than adding comments to an unrelated existing issue. Thank you! :-)

nicolas-raoul avatar Apr 07 '17 02:04 nicolas-raoul

No problem, comment deleted and new thread created. Do you have an idea for solving the length problem (my comment 13 days ago) ? For information, the files mentionned are not synced but why I can store them muanlly in my Windows file explorer and in Alfresco.

Montagnard65 avatar Apr 12 '17 12:04 Montagnard65

Hi, I still faced to conflicts when syncing with Alfresco despite the document is not "busy" on my laptop or on the server... sans titre Here is the log :

2017-05-23 09:11:31,115 [12] DEBUG CmisSync.StatusIconController [(null)] - StatusIconController OnSyncing
2017-05-23 09:11:31,116 [12] INFO  CmisSync.Lib.Database.Database [(null)] - Checksum of C:\_Path_\XXXXXXXXXXXXXXXXXX.doc has changed from 08561FF9A85F12047C0E19AA9FAB55F27DC9D381 to C0415456B49DFB585358870C84F7BCA96F616ABC
2017-05-23 09:11:31,116 [12] INFO  CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Conflict with file: XXXXXXXXXXXXXXXXXX.doc, backing up locally modified version and downloading server version
2017-05-23 09:11:31,117 [12] INFO  CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - - serverSideModificationDate: 22/05/2017 16:31:01
2017-05-23 09:11:31,117 [12] INFO  CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - - lastDatabaseUpdate: 22/05/2017 16:30:58
2017-05-23 09:11:31,118 [12] INFO  CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - - Checksum in database: 08561FF9A85F12047C0E19AA9FAB55F27DC9D381
2017-05-23 09:11:31,119 [12] INFO  CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - - Checksum of local file: C0415456B49DFB585358870C84F7BCA96F616ABC
2017-05-23 09:11:31,120 [12] INFO  CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Downloading: XXXXXXXXXXXXXXXXXX.doc
2017-05-23 09:11:31,120 [4] DEBUG CmisSync.Lib.Watcher [(null)] - Renamed: C:\_Path_\XXXXXXXXXXXXXXXXXX.doc

For information, I'm on Cmissync 2.10.0.0 with Alfresco Share v5.2.d.

Montagnard65 avatar May 23 '17 07:05 Montagnard65

Hi, I will test the new version. serverSideModificationDate: 22/05/2017 16:31:01 lastDatabaseUpdate: 22/05/2017 16:30:58

mathieuga avatar May 23 '17 16:05 mathieuga