If the children were successfully propagating data to the parent (can you
verify that you can look up data on the parent after sync stopped working
that originated from a child server), but no rows were inserted into
sync_server_record, i'd guess that this is an issue with core around
interceptors failing to register (or be re-registered).  Were there any
failed module loads, or module stopping and starting, on the day sync
stopped working?

d

On Thu, Apr 5, 2012 at 7:12 AM, Mark Goodrich <[email protected]> wrote:

> Could you check to see if sync_import records were still being created
> after 3-28-2012?****
>
> ** **
>
> Could you create a ticket for this bug and upload the entire catalina.out
> log for 3-28-2012 and I will see if I can identify anything out of the
> ordinary?  Do you know if you installed any new modules on the parent
> server at this time?****
>
> ** **
>
> Mark****
>
> ** **
>
> ** **
>
> *From:* [email protected] [mailto:[email protected]] *On Behalf Of *Jim Grace
> *Sent:* Thursday, April 05, 2012 4:44 AM
> *To:* [email protected]
> *Subject:* Re: [OPENMRS-DEV] SYNC Module Question****
>
> ** **
>
> Hi All,
>
> Thank you Dave, Ben and Mark for the responses so far. If you can help us
> further to figure out what's going on, we would be grateful. It has us
> stumped. We're doing a production pilot of Sync from our central server to
> 2 nearby child sites in the same district, after successful internal
> testing. One site is synched through a cell modem, and the notebook running
> OpenMRS at the other site is brought back each night to sync through our
> LAN. (We expect to deploy both modalities, so we are piloting them both.)
> If it goes well, we want to roll out Sync (in stages) to our full network
> consisting of child nodes at our district hospitals and grandchild nodes in
> the clinics of those districts. We would be replacing Remote Form Entry,
> which we are currently using.
>
> Everything went fine in both directions between our root parent server and
> the two production pilot children for over a week. Then the root server
> mysteriously stopped entering new sync rows in the database, even though it
> continued to be used heavily. We didn't change anything. Now our children
> databases are out of sync with the root, and it looks like we have to do a
> complete backup/restore to get them synchronized again. We would love to
> expand Sync to all our other sites, but not if we might have more such
> problems!
>
> Rebooting the parent server made it start synching again perfectly (except
> that the databases are now out of sync from during the failure period -- so
> any new data synched from server to child blocks the queue if it is
> dependent on data that missed being synched.) I don't expect there are any
> configuration problems since we never changed the configuration between
> working - not working - working again. We didn't change UUIDs,
> configuration, not a single thing.
>
> Here is the configuration we have from parent to child (taken from parent
> server) and child to parent (taken from child server):
>
> [From Parent server] Objects NOT to Send/Export:
> org.openmrs.Form
> org.openmrs.module.reporting
> org.openmrs.scheduler.TaskDefinition
> org.openmrs.Cohort
> org.openmrs.scheduler
> org.openmrs.FormField
> org.openmrs.hl7
> org.openmrs.Field
> org.openmrs.reporting
> org.openmrs.logic.token.TokenRegistration
> org.openmrs.GlobalProperty
> org.openmrs.module.formentry
> org.openmrs.module.patientflags
> org.openmrs.module.dataintegrity
> org.openmrs.module.logic
> org.openmrs.api.db.SerializedObject
> org.openmrs.notification.Alert
> org.openmrs.logic
>
> [From Parent server] Objects NOT to Receive/Import:
> org.openmrs.Form
> org.openmrs.module.reporting
> org.openmrs.scheduler.TaskDefinition
> org.openmrs.Cohort
> org.openmrs.module.htmlformentry
> org.openmrs.scheduler
> org.openmrs.FormField
> org.openmrs.hl7
> org.openmrs.Field
> org.openmrs.reporting
> org.openmrs.logic.token.TokenRegistration
> org.openmrs.GlobalProperty
> org.openmrs.Concept
> org.openmrs.module.formentry
> org.openmrs.module.patientflags
> org.openmrs.module.dataintegrity
> org.openmrs.module.logic
> org.openmrs.api.db.SerializedObject
> org.openmrs.notification.Alert
> org.openmrs.logic
>
> [From Child server] Objects NOT to Send/Export:
> org.openmrs.Field
> org.openmrs.Concept
> org.openmrs.api.db.SerializedObject
> org.openmrs.scheduler
> org.openmrs.module.logic
> org.openmrs.FormField
> org.openmrs.Form
> org.openmrs.logic
> org.openmrs.module.reporting
> org.openmrs.GlobalProperty
> org.openmrs.api.db.SerializedObject
> org.openmrs.module.htmlformentry
> org.openmrs.Cohort
> org.openmrs.module.formentry
> org.openmrs.logic.token.TokenRegistration
> org.openmrs.scheduler.TaskDefinition
> org.openmrs.reporting
> org.openmrs.hl7
> org.openmrs.notification.Alert
>
> [From Child server] Objects NOT to Receive/Import:
> org.openmrs.Field
> org.openmrs.api.db.SerializedObject
> org.openmrs.scheduler
> org.openmrs.module.logic
> org.openmrs.FormField
> org.openmrs.Form
> org.openmrs.logic
> org.openmrs.module.dataintergrity
> org.openmrs.module.patientflags
> org.openmrs.module.reporting
> org.openmrs.GlobalProperty
> org.openmrs.api.db.SerializedObject
> org.openmrs.Cohort
> org.openmrs.module.formentry
> org.openmrs.logic.token.TokenRegistration
> org.openmrs.scheduler.TaskDefinition
> org.openmrs.reporting
> org.openmrs.hl7
> org.openmrs.notification.Alert
>
> We can see new sync_record rows created on our parent system until one
> with record_id 23722, timestamped 2012-03-28 09:28:20. Then there were no
> more sync_record rows created until after we rebooted. The following
> catalina.out entries from our parent server seem to show the last two
> parent sync_records 23721 and 23722 before they stopped, followed by a
> successful sync operation from the child server Rabuor:
>
> INFO - LoggingAdvice.invoke(109) |2012-03-28 09:29:01,720| In method
> SyncService.updateSyncRecord. Arguments: SyncRecord=SyncRecord(23721)
> contains org.openmrs.Privilege,
> INFO - LoggingAdvice.invoke(134) |2012-03-28 09:29:01,720| Exiting method
> updateSyncRecord
> INFO - LoggingAdvice.invoke(109) |2012-03-28 09:29:01,722| In method
> SyncService.updateSyncRecord. Arguments: SyncRecord=SyncRecord(23722)
> contains org.openmrs.Privilege,
> INFO - LoggingAdvice.invoke(134) |2012-03-28 09:29:01,722| Exiting method
> updateSyncRecord
> INFO - LoggingAdvice.invoke(109) |2012-03-28 09:29:01,724| In method
> SyncService.saveRemoteServer. Arguments: RemoteServer=RemoteServer(1):
> Rabuor,
> INFO - LoggingAdvice.invoke(134) |2012-03-28 09:29:01,726| Exiting method
> saveRemoteServer
> INFO - LoggingAdvice.invoke(134) |2012-03-28 09:29:01,847| Exiting method
> saveEncounter
> INFO - LoggingAdvice.invoke(109) |2012-03-28 09:29:01,848| In method
> HL7Service.encounterCreated. Arguments: Encounter=Encounter: [1171134 Tue
> Mar 27 00:00:00 EAT 2012 ADULTRETURN null 51216 Revised Adult Follow-Up
> Form num Obs: [Obs #51749135, Obs #51749164, Obs #51749129, Obs #51749108,
> Obs #51749111, Obs #51749131, Obs #51749130, Obs #51749125, Obs #51749124,
> Obs #51749115, Obs #51749126, Obs #51749121, Obs #51749123, Obs #51749119,
> Obs #51749153, Obs #51749122, Obs #51749148, Obs #51749149, Obs #51749150,
> Obs #51749151, Obs #51749147, Obs #51749140, Obs #51749141] num Orders: 0
> ],
> INFO - LoggingAdvice.invoke(134) |2012-03-28 09:29:01,849| Exiting method
> encounterCreated
> INFO - LoggingAdvice.invoke(134) |2012-03-28 09:29:01,849| Exiting method
> processHL7Message
>
> I've looked through catalina.out after this point, but can find no clue as
> to why the sync_record rows stopped being recorded. Is there something in
> particular I should look for?
>
> Meanwhile on the child servers, new sync_records continued to be entered,
> and they were all synchronized successfully with the parent. It was only
> the flow from parent to both children that was interrupted because no new
> sync_records were being generated by the parent.
>
> When we realized that nothing was moving from parent to child, we checked
> sync_record and sync_server_record tables and noticed that no new records
> were being generated by the parent. We verified that all child encounters
> were present on the parent, but no parent encounters had been transferred
> to the children after the last sync_record. We restarted the OpenMRS Ubuntu
> server, and the sync_records started being added again. There has been no
> problem since in the last few days, except new records that were dependent
> on unsynchronized objects have also caused problems. New sync_record are
> now being added again on the parent, starting from just after the system
> reboot.
>
> We would greatly appreciate any further advice you can give us to
> understand this problem.
>
> Thanks,
> Jim
>
> ---------------------------------
>
> At 11:32 PM 02-04-12, Ben Wolfe wrote:
> Also see
> https://wiki.openmrs.org/display/docs/Sync+Module+Technical+Overview for
> a description of the tables.
>
> To add to Dave's questions:
> Did you set the "do not sync" objects to anything likw * or org.openmrs.*
> per chance?
>
> Ben
>
> On Mon, Apr 2, 2012 at 4:16 PM, Dave Thomas <[email protected]> wrote: ***
> *
>
> Hi.  If you're not seeing any new records in sync_server_record on the
> parent, you're in trouble.  This is the table that is used to keep track of
> what records have propagated to what child servers.  Without rows being
> inserted into this table, no data will ever propagate to the children.  In
> your sync overview page on the parent, can you actually see the child
> servers, and are they configured correctly? ****
>
> Did you change the server uuids at all, either on the children or on the
> parent? ****
>
> On the parent, the state field in the sync_record table isn't important.
> Its the state field in the sync_server_record that governs propagation.***
> *
>
> d
>
> ****
>
> On Mon, Apr 2, 2012 at 8:05 AM, Erick Mugoma <[email protected] >
> wrote: ****
>
> Hi Ben and Mark ****
>
> Am just wondering what may or may not  be happening with the
> sync_server_record and sync_record tables on the central/parent server. **
> **
>
> Plse help me understand something, I expect that every time a new record
> is created on the parent, the record details are logged to the above tables
> and you can even use these tables to track if the record was committed,
> sent, new or failed.  Why is it  that when I do a query to check if there
> any records in the sync_server_record table I can't see any record for
> example I should be able to see today's records (02-04-12) since the clean
> -up was last done on 31 march 2012. Any I deas on what is not Happenning?
> ****
>
> On the parent sync_record table, the state field is not being updated. The
> state column value is 'NEW' for all the records. I expect that the state
> should change once the record is committed to all the children. Any reason
> why this is not so? ****
>
> When I look at the same table on the child servers, the state column value
> is 'COMMITTED'  ****
>
> Looking at the History Changes on the UI What I see are old changes like
> last updated is 28-03-2012. That is last week wed when we have new records
> being entered even today (02-04-12) and should be able to see them under
> history changes. Any Explanation why I can't see the newest/latest updates.
> ****
>
> Thanks****
>
> Erick
>
> ****
> ------------------------------
>
> Click here to 
> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from 
> OpenMRS Developers' mailing list
>
> ****
> ------------------------------
>
> Click here to 
> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from 
> OpenMRS Developers' mailing list
> ****
> ------------------------------
>
> Click here to 
> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from 
> OpenMRS Developers' mailing list
> ****
> ------------------------------
> Click here to 
> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from 
> OpenMRS Developers' mailing list
>

_________________________________________

To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to 
[email protected] with "SIGNOFF openmrs-devel-l" in the  body (not 
the subject) of your e-mail.

[mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l]

Reply via email to