drewmccormack / ensembles

A synchronization framework for Core Data.
MIT License
1.63k stars 132 forks source link

ensembles - Error in merge: Error Domain=CDEErrorDomain Code=201 “(null)” #287

Closed johnheb closed 4 years ago

johnheb commented 4 years ago

Drew, Still trying to get Ensembles working using a device and multiple simulator sessions. Initial Sync works perfectly. After that, very random sync between devices. Verbose shows activity without errors except for this one: Error Domain=CDEErrorDomain Code=201 "(null)" Preceded by ...Integrating New events into main context and baseline has changed will carry out full integration of persistent store. Get this on an iPhone device.

Could you help with the cause and solution to this error please?

drewmccormack commented 4 years ago

A 201 error means that some missing cloud files were detected. Sometimes this is simply due to iCloud taking a while to transfer certain files.

I assume you are using the iCloud Drive (file based) sync, correct? Often files just take a while to transfer. You are at the mercy of the OS as to when they will be uploaded and downloaded.

In Ensembles 2, we use CloudKit directly, so the transfers happen immediately and much more predictably.

It sounds like things are generally working as they should if you aren't seeing other errors. I suspect it is just a question of waiting.

Oh, simulators can have issues with automatically retrieving the data. I think you can trigger a iCloud sync in the debug menu. On real devices, this should not be necessary.

Drew

johnheb commented 4 years ago

Thanks for the reply,

Yes, we are setup with iCloud Drive. To be clear the delay is often over 18 hours latter! The sync eventually happens but our business users need close to a real time update. For example, a job gets assigned and the technician in the field needs it now, not tomorrow.

When watching the cloudDataDidDownload notification it doesn’t always respond to changes in other device or in the case of the real device you might see 200 downloads for 2 core data updates. And no changes to the data base...

We have spent close to 2 months converting hundreds of plist items to core data so we can migrate to Ensembles. I wanted to get it working with Ensembles before moving Ensembles 2 but it sounds like we need to move to Ensembles 2 as the whole point is offering Dropbox and other backends.

Our app has 17 Entities and is most like ContractorTools or Moon Invoice. Are you confident that the sync will work in real time with CloudKit, DropBox and other backends?

John

On Nov 27, 2019, at 2:00 AM, Drew McCormack <notifications@github.com mailto:notifications@github.com> wrote:

A 201 error means that some missing cloud files were detected. Sometimes this is simply due to iCloud taking a while to transfer certain files.

I assume you are using the iCloud Drive (file based) sync, correct? Often files just take a while to transfer. You are at the mercy of the OS as to when they will be uploaded and downloaded.

In Ensembles 2, we use CloudKit directly, so the transfers happen immediately and much more predictably.

It sounds like things are generally working as they should if you aren't seeing other errors. I suspect it is just a question of waiting.

Oh, simulators can have issues with automatically retrieving the data. I think you can trigger a iCloud sync in the debug menu. On real devices, this should not be necessary.

Drew

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/drewmccormack/ensembles/issues/287?email_source=notifications&email_token=AB4FAW4ZT3FIKVPWO44UVRDQVYZMVA5CNFSM4JR52RM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFIZG2A#issuecomment-558994280, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB4FAW23CMGDPWDRQUAJ47LQVYZMVANCNFSM4JR52RMQ.

drewmccormack commented 4 years ago

Yes, it should be close to real time with CloudKit. Dropbox too. iCloud Drive is the only one that doesn’t guarantee anything about the transfer time.

Did you try using the iCloud sync menu item in the simulator, both on the sending end and the receiving end?

Do you have a timer setup to occasionally sync (eg every few minutes)? You shouldn’t rely entirely on the notifications.

If the ultimate plan is to use CloudKit, I would just purchase the E2 subscription. First month is free, so you can cancel at no cost. Even if it takes longer than a month, you can email me for a refund if it is not working out for you.

Kind regards, Drew

On 27 Nov 2019, at 14:24, John James notifications@github.com wrote:

Thanks for the reply,

Yes, we are setup with iCloud Drive. To be clear the delay is often over 18 hours latter! The sync eventually happens but our business users need close to a real time update. For example, a job gets assigned and the technician in the field needs it now, not tomorrow.

When watching the cloudDataDidDownload notification it doesn’t always respond to changes in other device or in the case of the real device you might see 200 downloads for 2 core data updates. And no changes to the data base...

We have spent close to 2 months converting hundreds of plist items to core data so we can migrate to Ensembles. I wanted to get it working with Ensembles before moving Ensembles 2 but it sounds like we need to move to Ensembles 2 as the whole point is offering Dropbox and other backends.

Our app has 17 Entities and is most like ContractorTools or Moon Invoice. Are you confident that the sync will work in real time with CloudKit, DropBox and other backends?

John

On Nov 27, 2019, at 2:00 AM, Drew McCormack <notifications@github.com mailto:notifications@github.com> wrote:

A 201 error means that some missing cloud files were detected. Sometimes this is simply due to iCloud taking a while to transfer certain files.

I assume you are using the iCloud Drive (file based) sync, correct? Often files just take a while to transfer. You are at the mercy of the OS as to when they will be uploaded and downloaded.

In Ensembles 2, we use CloudKit directly, so the transfers happen immediately and much more predictably.

It sounds like things are generally working as they should if you aren't seeing other errors. I suspect it is just a question of waiting.

Oh, simulators can have issues with automatically retrieving the data. I think you can trigger a iCloud sync in the debug menu. On real devices, this should not be necessary.

Drew

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/drewmccormack/ensembles/issues/287?email_source=notifications&email_token=AB4FAW4ZT3FIKVPWO44UVRDQVYZMVA5CNFSM4JR52RM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFIZG2A#issuecomment-558994280, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB4FAW23CMGDPWDRQUAJ47LQVYZMVANCNFSM4JR52RMQ.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/drewmccormack/ensembles/issues/287?email_source=notifications&email_token=AAAS4AD4DSWNJVCMY3L2UMTQVZYJ3A5CNFSM4JR52RM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFJPS2A#issuecomment-559085928, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAS4AF23JAZEJ4V4LJ5YE3QVZYJ3ANCNFSM4JR52RMQ.

johnheb commented 4 years ago

So does the Subscription plan include the CloudKit and DropBox backends?

On Nov 27, 2019, at 7:04 AM, Drew McCormack <notifications@github.com mailto:notifications@github.com> wrote:

Yes, it should be close to real time with CloudKit. Dropbox too. iCloud Drive is the only one that doesn’t guarantee anything about the transfer time.

Did you try using the iCloud sync menu item in the simulator, both on the sending end and the receiving end?

Do you have a timer setup to occasionally sync (eg every few minutes)? You shouldn’t rely entirely on the notifications.

If the ultimate plan is to use CloudKit, I would just purchase the E2 subscription. First month is free, so you can cancel at no cost. Even if it takes longer than a month, you can email me for a refund if it is not working out for you.

Kind regards, Drew

On 27 Nov 2019, at 14:24, John James <notifications@github.com mailto:notifications@github.com> wrote:

Thanks for the reply,

Yes, we are setup with iCloud Drive. To be clear the delay is often over 18 hours latter! The sync eventually happens but our business users need close to a real time update. For example, a job gets assigned and the technician in the field needs it now, not tomorrow.

When watching the cloudDataDidDownload notification it doesn’t always respond to changes in other device or in the case of the real device you might see 200 downloads for 2 core data updates. And no changes to the data base...

We have spent close to 2 months converting hundreds of plist items to core data so we can migrate to Ensembles. I wanted to get it working with Ensembles before moving Ensembles 2 but it sounds like we need to move to Ensembles 2 as the whole point is offering Dropbox and other backends.

Our app has 17 Entities and is most like ContractorTools or Moon Invoice. Are you confident that the sync will work in real time with CloudKit, DropBox and other backends?

John

On Nov 27, 2019, at 2:00 AM, Drew McCormack <notifications@github.com mailto:notifications@github.com <mailto:notifications@github.com mailto:notifications@github.com>> wrote:

A 201 error means that some missing cloud files were detected. Sometimes this is simply due to iCloud taking a while to transfer certain files.

I assume you are using the iCloud Drive (file based) sync, correct? Often files just take a while to transfer. You are at the mercy of the OS as to when they will be uploaded and downloaded.

In Ensembles 2, we use CloudKit directly, so the transfers happen immediately and much more predictably.

It sounds like things are generally working as they should if you aren't seeing other errors. I suspect it is just a question of waiting.

Oh, simulators can have issues with automatically retrieving the data. I think you can trigger a iCloud sync in the debug menu. On real devices, this should not be necessary.

Drew

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <https://github.com/drewmccormack/ensembles/issues/287?email_source=notifications&email_token=AB4FAW4ZT3FIKVPWO44UVRDQVYZMVA5CNFSM4JR52RM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFIZG2A#issuecomment-558994280 https://github.com/drewmccormack/ensembles/issues/287?email_source=notifications&email_token=AB4FAW4ZT3FIKVPWO44UVRDQVYZMVA5CNFSM4JR52RM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFIZG2A#issuecomment-558994280>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AB4FAW23CMGDPWDRQUAJ47LQVYZMVANCNFSM4JR52RMQ https://github.com/notifications/unsubscribe-auth/AB4FAW23CMGDPWDRQUAJ47LQVYZMVANCNFSM4JR52RMQ>.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub <https://github.com/drewmccormack/ensembles/issues/287?email_source=notifications&email_token=AAAS4AD4DSWNJVCMY3L2UMTQVZYJ3A5CNFSM4JR52RM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFJPS2A#issuecomment-559085928 https://github.com/drewmccormack/ensembles/issues/287?email_source=notifications&email_token=AAAS4AD4DSWNJVCMY3L2UMTQVZYJ3A5CNFSM4JR52RM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFJPS2A#issuecomment-559085928>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAAS4AF23JAZEJ4V4LJ5YE3QVZYJ3ANCNFSM4JR52RMQ https://github.com/notifications/unsubscribe-auth/AAAS4AF23JAZEJ4V4LJ5YE3QVZYJ3ANCNFSM4JR52RMQ>.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/drewmccormack/ensembles/issues/287?email_source=notifications&email_token=AB4FAWYIUTZKRQK4ZSZ3KF3QVZ5ATA5CNFSM4JR52RM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFJTF5Y#issuecomment-559100663, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB4FAW2R5AAHLBEIGPY3PJTQVZ5ATANCNFSM4JR52RMQ.

drewmccormack commented 4 years ago

Yes, the subscription includes all backends. It has everything.

Drew

On 28 Nov 2019, at 14:03, John James notifications@github.com wrote:

So does the Subscription plan include the CloudKit and DropBox backends?

On Nov 27, 2019, at 7:04 AM, Drew McCormack <notifications@github.com mailto:notifications@github.com> wrote:

Yes, it should be close to real time with CloudKit. Dropbox too. iCloud Drive is the only one that doesn’t guarantee anything about the transfer time.

Did you try using the iCloud sync menu item in the simulator, both on the sending end and the receiving end?

Do you have a timer setup to occasionally sync (eg every few minutes)? You shouldn’t rely entirely on the notifications.

If the ultimate plan is to use CloudKit, I would just purchase the E2 subscription. First month is free, so you can cancel at no cost. Even if it takes longer than a month, you can email me for a refund if it is not working out for you.

Kind regards, Drew

On 27 Nov 2019, at 14:24, John James <notifications@github.com mailto:notifications@github.com> wrote:

Thanks for the reply,

Yes, we are setup with iCloud Drive. To be clear the delay is often over 18 hours latter! The sync eventually happens but our business users need close to a real time update. For example, a job gets assigned and the technician in the field needs it now, not tomorrow.

When watching the cloudDataDidDownload notification it doesn’t always respond to changes in other device or in the case of the real device you might see 200 downloads for 2 core data updates. And no changes to the data base...

We have spent close to 2 months converting hundreds of plist items to core data so we can migrate to Ensembles. I wanted to get it working with Ensembles before moving Ensembles 2 but it sounds like we need to move to Ensembles 2 as the whole point is offering Dropbox and other backends.

Our app has 17 Entities and is most like ContractorTools or Moon Invoice. Are you confident that the sync will work in real time with CloudKit, DropBox and other backends?

John

On Nov 27, 2019, at 2:00 AM, Drew McCormack <notifications@github.com mailto:notifications@github.com <mailto:notifications@github.com mailto:notifications@github.com>> wrote:

A 201 error means that some missing cloud files were detected. Sometimes this is simply due to iCloud taking a while to transfer certain files.

I assume you are using the iCloud Drive (file based) sync, correct? Often files just take a while to transfer. You are at the mercy of the OS as to when they will be uploaded and downloaded.

In Ensembles 2, we use CloudKit directly, so the transfers happen immediately and much more predictably.

It sounds like things are generally working as they should if you aren't seeing other errors. I suspect it is just a question of waiting.

Oh, simulators can have issues with automatically retrieving the data. I think you can trigger a iCloud sync in the debug menu. On real devices, this should not be necessary.

Drew

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <https://github.com/drewmccormack/ensembles/issues/287?email_source=notifications&email_token=AB4FAW4ZT3FIKVPWO44UVRDQVYZMVA5CNFSM4JR52RM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFIZG2A#issuecomment-558994280 https://github.com/drewmccormack/ensembles/issues/287?email_source=notifications&email_token=AB4FAW4ZT3FIKVPWO44UVRDQVYZMVA5CNFSM4JR52RM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFIZG2A#issuecomment-558994280>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AB4FAW23CMGDPWDRQUAJ47LQVYZMVANCNFSM4JR52RMQ https://github.com/notifications/unsubscribe-auth/AB4FAW23CMGDPWDRQUAJ47LQVYZMVANCNFSM4JR52RMQ>.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub <https://github.com/drewmccormack/ensembles/issues/287?email_source=notifications&email_token=AAAS4AD4DSWNJVCMY3L2UMTQVZYJ3A5CNFSM4JR52RM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFJPS2A#issuecomment-559085928 https://github.com/drewmccormack/ensembles/issues/287?email_source=notifications&email_token=AAAS4AD4DSWNJVCMY3L2UMTQVZYJ3A5CNFSM4JR52RM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFJPS2A#issuecomment-559085928>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAAS4AF23JAZEJ4V4LJ5YE3QVZYJ3ANCNFSM4JR52RMQ https://github.com/notifications/unsubscribe-auth/AAAS4AF23JAZEJ4V4LJ5YE3QVZYJ3ANCNFSM4JR52RMQ>.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/drewmccormack/ensembles/issues/287?email_source=notifications&email_token=AB4FAWYIUTZKRQK4ZSZ3KF3QVZ5ATA5CNFSM4JR52RM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFJTF5Y#issuecomment-559100663, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB4FAW2R5AAHLBEIGPY3PJTQVZ5ATANCNFSM4JR52RMQ.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/drewmccormack/ensembles/issues/287?email_source=notifications&email_token=AAAS4AE2EFQQ66RCISUVJ5LQV66RFA5CNFSM4JR52RM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFMRMRY#issuecomment-559486535, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAS4ABCMVXNRQXIV3K7QF3QV66RFANCNFSM4JR52RMQ.