To get it out of the way first: I know I am a bad boy syncing a database, it just nicely illustrates the problem:
Jul 28 14:47:19 homeserver syncthing[9084]: [BPDFD] INFO: Folder "Programme" isn't making progress. Pausing puller for 1m0s.
Jul 28 14:47:19 homeserver syncthing[9084]: [BPDFD] INFO: Puller: final: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:19 homeserver syncthing[9084]: [BPDFD] INFO: Puller (folder "Programme", file "AppDaten/digikam5/.mysql.digikam/db_data/ibdata1"): pull: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:18 homeserver syncthing[9084]: [BPDFD] INFO: Puller: final: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:18 homeserver syncthing[9084]: [BPDFD] INFO: Puller (folder "Programme", file "AppDaten/digikam5/.mysql.digikam/db_data/ibdata1"): pull: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:17 homeserver syncthing[9084]: [BPDFD] INFO: Puller: final: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:17 homeserver syncthing[9084]: [BPDFD] INFO: Puller (folder "Programme", file "AppDaten/digikam5/.mysql.digikam/db_data/ibdata1"): pull: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:17 homeserver syncthing[9084]: [BPDFD] INFO: Puller: final: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:17 homeserver syncthing[9084]: [BPDFD] INFO: Puller (folder "Programme", file "AppDaten/digikam5/.mysql.digikam/db_data/ibdata1"): pull: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:16 homeserver syncthing[9084]: [BPDFD] INFO: Puller: final: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:16 homeserver syncthing[9084]: [BPDFD] INFO: Puller (folder "Programme", file "AppDaten/digikam5/.mysql.digikam/db_data/ibdata1"): pull: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:15 homeserver syncthing[9084]: [BPDFD] INFO: Puller: final: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:15 homeserver syncthing[9084]: [BPDFD] INFO: Puller (folder "Programme", file "AppDaten/digikam5/.mysql.digikam/db_data/ibdata1"): pull: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:14 homeserver syncthing[9084]: [BPDFD] INFO: Puller: final: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:14 homeserver syncthing[9084]: [BPDFD] INFO: Puller (folder "Programme", file "AppDaten/digikam5/.mysql.digikam/db_data/ibdata1"): pull: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:14 homeserver syncthing[9084]: [BPDFD] INFO: Puller: final: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:14 homeserver syncthing[9084]: [BPDFD] INFO: Puller (folder "Programme", file "AppDaten/digikam5/.mysql.digikam/db_data/ibdata1"): pull: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:13 homeserver syncthing[9084]: [BPDFD] INFO: Puller: final: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:13 homeserver syncthing[9084]: [BPDFD] INFO: Puller (folder "Programme", file "AppDaten/digikam5/.mysql.digikam/db_data/ibdata1"): pull: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:12 homeserver syncthing[9084]: [BPDFD] INFO: Puller: final: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:12 homeserver syncthing[9084]: [BPDFD] INFO: Puller (folder "Programme", file "AppDaten/digikam5/.mysql.digikam/db_data/ibdata1"): pull: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:09 homeserver syncthing[9084]: [BPDFD] INFO: Puller: final: peers who had this file went away, or the file has changed while syncing. will retry later
Jul 28 14:47:09 homeserver syncthing[9084]: [BPDFD] INFO: Puller (folder "Programme", file "AppDaten/digikam5/.mysql.digikam/db_data/ibdata1"): pull: peers who had this file went away, or the file has changed while syncing. will retry later
21 lines per minute for a single file is a bit much. Two separate issues: Firstly logging of the same thing happens twice (once in the pullerRoutine, once in the finisherRoutine) and secondly it happens every pullerRoutine, which is repeated 10 times on errors.
What I would like to do is either not log at all or to debug within a pullerIteration and return errors/store state such that logging only happens once when all the successive tries finished. I didn’t look at implementation details, I would like to know whether I am missing something that requires this level of verbouseness and if the general idea is sound.
And out of curiosity: What kind of problem is to be catched by repeating a failing pullerIteration 10 times back-to-back?