You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ofbiz.apache.org by Sam Hamilton <sa...@virtualvillage.com> on 2009/01/08 11:53:31 UTC
Entity Sync Overwriting Data with Nothing
We are currently deploying OFBiz in multiple locations (USA, Hong Kong and China) but when the remote servers try and sync via push with the master server it looses the shipment receipt info and only the primary key exist, all other fields are empty. Then when the pull is invoked from the master to the remote servers empty data is overwritten into the fields where data was.
Here are the logs:
The log info:
2009-01-07 11:08:47,637 (RMI TCP Connection(7)-192.168.3.4) [ GenericDAO.java:970:INFO ] Count select sql: SELECT COUNT(1) FROM public.SHIPMENT_RECEIPT WHERE (RECEIPT_ID = ?)
2009-01-07 11:08:47,639 (RMI TCP Connection(7)-192.168.3.4) [ GenericValue.java:464:INFO ] Set [receiptId] to - SH26111
2009-01-07 11:08:47,653 (RMI TCP Connection(7)-192.168.3.4) [ GenericValue.java:470:INFO ] Creating place holder value : [GenericEntity:ShipmentReceipt][receiptId,SH26111(java.lang.String)]
Anyone any ideas how to stop this happening?
Thanks
Sam
Re: Entity Sync Overwriting Data with Nothing
Posted by "Vince M. Clark" <vc...@globalera.com>.
It has been a while since I used entity sync but I do remember that we definitely had issues with systems in different time zones where the system clocks were set to the local time. We solved it by setting all clocks to the same value and time zone, like GMT/UDT.
----- Original Message -----
From: "David E Jones" <da...@hotwaxmedia.com>
To: user@ofbiz.apache.org
Sent: Saturday, January 10, 2009 11:54:38 PM (GMT-0700) America/Denver
Subject: Re: Entity Sync Overwriting Data with Nothing
Sounds like another fun issue... source repos messed up are a pain!
Anyway, my guess is that what you described really IS an issue and
I've changed some things in SVN rev 733423 that are more correct/
accurate in general and should fix this issue.
-David
On Jan 8, 2009, at 11:40 PM, Sam Hamilton wrote:
> It seems that our local SVN server is corrupted and making a total
> mess of OFBiz so please ignore this thread.
> If we still get the same problem later with a proper copy I will
> repost - thanks David!
>
> Sam
>
>
> On 09/01/2009 08:46, "David Jones" <da...@hotwaxmedia.com>
> wrote:
>
>
>
> You have the same records being sync'ed in two directions? Hmmm... I
> hope this is the only issue you run into.
>
> Here's my guess about why this is happening:
>
> 1. during the first data move the record is not in place when it is
> referred to, so a dummy empty record is created
> 2. the dummy empty record has the current data/time stamped on it
> 3. in the second data move, opposite direction, that record is
> included as a new record with the timestamp when it was inserted which
> will be later than the timestamp of the original record, so when it
> goes in the other direction it will be considered the newer record and
> will therefore be used to overwrite the original record
>
> I'll look in the code and see if this can be fixed in step #2 by using
> the timestamp of the referring record as the timestamp on the new/
> dummy record. That should work, and if it doesn't then we'll just use
> that time minus something to make sure it is in the past. That
> shouldn't be necessary since this is happening because the record in
> question has a later timestamp so shows up later in the sorted
> records.
>
> -David
>
>
> On Jan 8, 2009, at 2:53 AM, Sam Hamilton wrote:
>
>> We are currently deploying OFBiz in multiple locations (USA, Hong
>> Kong and China) but when the remote servers try and sync via push
>> with the master server it looses the shipment receipt info and only
>> the primary key exist, all other fields are empty. Then when the
>> pull is invoked from the master to the remote servers empty data is
>> overwritten into the fields where data was.
>>
>> Here are the logs:
>> The log info:
>> 2009-01-07 11:08:47,637 (RMI TCP Connection(7)-192.168.3.4)
>> [ GenericDAO.java:970:INFO ] Count select sql: SELECT
>> COUNT(1) FROM public.SHIPMENT_RECEIPT WHERE (RECEIPT_ID = ?)
>> 2009-01-07 11:08:47,639 (RMI TCP Connection(7)-192.168.3.4)
>> [ GenericValue.java:464:INFO ] Set [receiptId] to - SH26111
>> 2009-01-07 11:08:47,653 (RMI TCP Connection(7)-192.168.3.4)
>> [ GenericValue.java:470:INFO ] Creating place holder value :
>> [GenericEntity:ShipmentReceipt][receiptId,SH26111(java.lang.String)]
>>
>> Anyone any ideas how to stop this happening?
>>
>> Thanks
>> Sam
>
>
>
> Sam Hamilton
> CTO
> Virtual Village
>
> Tel: +86 (21) 6271 3051
> Fax: +86 (21) 6271 3021
> Mobile: +86 (135) 2451 4480
> E-mail: sam.hamilton@virtualvillage.com
Re: Entity Sync Overwriting Data with Nothing
Posted by David E Jones <da...@hotwaxmedia.com>.
Sounds like another fun issue... source repos messed up are a pain!
Anyway, my guess is that what you described really IS an issue and
I've changed some things in SVN rev 733423 that are more correct/
accurate in general and should fix this issue.
-David
On Jan 8, 2009, at 11:40 PM, Sam Hamilton wrote:
> It seems that our local SVN server is corrupted and making a total
> mess of OFBiz so please ignore this thread.
> If we still get the same problem later with a proper copy I will
> repost - thanks David!
>
> Sam
>
>
> On 09/01/2009 08:46, "David Jones" <da...@hotwaxmedia.com>
> wrote:
>
>
>
> You have the same records being sync'ed in two directions? Hmmm... I
> hope this is the only issue you run into.
>
> Here's my guess about why this is happening:
>
> 1. during the first data move the record is not in place when it is
> referred to, so a dummy empty record is created
> 2. the dummy empty record has the current data/time stamped on it
> 3. in the second data move, opposite direction, that record is
> included as a new record with the timestamp when it was inserted which
> will be later than the timestamp of the original record, so when it
> goes in the other direction it will be considered the newer record and
> will therefore be used to overwrite the original record
>
> I'll look in the code and see if this can be fixed in step #2 by using
> the timestamp of the referring record as the timestamp on the new/
> dummy record. That should work, and if it doesn't then we'll just use
> that time minus something to make sure it is in the past. That
> shouldn't be necessary since this is happening because the record in
> question has a later timestamp so shows up later in the sorted
> records.
>
> -David
>
>
> On Jan 8, 2009, at 2:53 AM, Sam Hamilton wrote:
>
>> We are currently deploying OFBiz in multiple locations (USA, Hong
>> Kong and China) but when the remote servers try and sync via push
>> with the master server it looses the shipment receipt info and only
>> the primary key exist, all other fields are empty. Then when the
>> pull is invoked from the master to the remote servers empty data is
>> overwritten into the fields where data was.
>>
>> Here are the logs:
>> The log info:
>> 2009-01-07 11:08:47,637 (RMI TCP Connection(7)-192.168.3.4)
>> [ GenericDAO.java:970:INFO ] Count select sql: SELECT
>> COUNT(1) FROM public.SHIPMENT_RECEIPT WHERE (RECEIPT_ID = ?)
>> 2009-01-07 11:08:47,639 (RMI TCP Connection(7)-192.168.3.4)
>> [ GenericValue.java:464:INFO ] Set [receiptId] to - SH26111
>> 2009-01-07 11:08:47,653 (RMI TCP Connection(7)-192.168.3.4)
>> [ GenericValue.java:470:INFO ] Creating place holder value :
>> [GenericEntity:ShipmentReceipt][receiptId,SH26111(java.lang.String)]
>>
>> Anyone any ideas how to stop this happening?
>>
>> Thanks
>> Sam
>
>
>
> Sam Hamilton
> CTO
> Virtual Village
>
> Tel: +86 (21) 6271 3051
> Fax: +86 (21) 6271 3021
> Mobile: +86 (135) 2451 4480
> E-mail: sam.hamilton@virtualvillage.com
Re: Entity Sync Overwriting Data with Nothing
Posted by Sam Hamilton <sa...@virtualvillage.com>.
It seems that our local SVN server is corrupted and making a total mess of OFBiz so please ignore this thread.
If we still get the same problem later with a proper copy I will repost - thanks David!
Sam
On 09/01/2009 08:46, "David Jones" <da...@hotwaxmedia.com> wrote:
You have the same records being sync'ed in two directions? Hmmm... I
hope this is the only issue you run into.
Here's my guess about why this is happening:
1. during the first data move the record is not in place when it is
referred to, so a dummy empty record is created
2. the dummy empty record has the current data/time stamped on it
3. in the second data move, opposite direction, that record is
included as a new record with the timestamp when it was inserted which
will be later than the timestamp of the original record, so when it
goes in the other direction it will be considered the newer record and
will therefore be used to overwrite the original record
I'll look in the code and see if this can be fixed in step #2 by using
the timestamp of the referring record as the timestamp on the new/
dummy record. That should work, and if it doesn't then we'll just use
that time minus something to make sure it is in the past. That
shouldn't be necessary since this is happening because the record in
question has a later timestamp so shows up later in the sorted records.
-David
On Jan 8, 2009, at 2:53 AM, Sam Hamilton wrote:
> We are currently deploying OFBiz in multiple locations (USA, Hong
> Kong and China) but when the remote servers try and sync via push
> with the master server it looses the shipment receipt info and only
> the primary key exist, all other fields are empty. Then when the
> pull is invoked from the master to the remote servers empty data is
> overwritten into the fields where data was.
>
> Here are the logs:
> The log info:
> 2009-01-07 11:08:47,637 (RMI TCP Connection(7)-192.168.3.4)
> [ GenericDAO.java:970:INFO ] Count select sql: SELECT
> COUNT(1) FROM public.SHIPMENT_RECEIPT WHERE (RECEIPT_ID = ?)
> 2009-01-07 11:08:47,639 (RMI TCP Connection(7)-192.168.3.4)
> [ GenericValue.java:464:INFO ] Set [receiptId] to - SH26111
> 2009-01-07 11:08:47,653 (RMI TCP Connection(7)-192.168.3.4)
> [ GenericValue.java:470:INFO ] Creating place holder value :
> [GenericEntity:ShipmentReceipt][receiptId,SH26111(java.lang.String)]
>
> Anyone any ideas how to stop this happening?
>
> Thanks
> Sam
Sam Hamilton
CTO
Virtual Village
Tel: +86 (21) 6271 3051
Fax: +86 (21) 6271 3021
Mobile: +86 (135) 2451 4480
E-mail: sam.hamilton@virtualvillage.com
Re: Entity Sync Overwriting Data with Nothing
Posted by David E Jones <da...@hotwaxmedia.com>.
You have the same records being sync'ed in two directions? Hmmm... I
hope this is the only issue you run into.
Here's my guess about why this is happening:
1. during the first data move the record is not in place when it is
referred to, so a dummy empty record is created
2. the dummy empty record has the current data/time stamped on it
3. in the second data move, opposite direction, that record is
included as a new record with the timestamp when it was inserted which
will be later than the timestamp of the original record, so when it
goes in the other direction it will be considered the newer record and
will therefore be used to overwrite the original record
I'll look in the code and see if this can be fixed in step #2 by using
the timestamp of the referring record as the timestamp on the new/
dummy record. That should work, and if it doesn't then we'll just use
that time minus something to make sure it is in the past. That
shouldn't be necessary since this is happening because the record in
question has a later timestamp so shows up later in the sorted records.
-David
On Jan 8, 2009, at 2:53 AM, Sam Hamilton wrote:
> We are currently deploying OFBiz in multiple locations (USA, Hong
> Kong and China) but when the remote servers try and sync via push
> with the master server it looses the shipment receipt info and only
> the primary key exist, all other fields are empty. Then when the
> pull is invoked from the master to the remote servers empty data is
> overwritten into the fields where data was.
>
> Here are the logs:
> The log info:
> 2009-01-07 11:08:47,637 (RMI TCP Connection(7)-192.168.3.4)
> [ GenericDAO.java:970:INFO ] Count select sql: SELECT
> COUNT(1) FROM public.SHIPMENT_RECEIPT WHERE (RECEIPT_ID = ?)
> 2009-01-07 11:08:47,639 (RMI TCP Connection(7)-192.168.3.4)
> [ GenericValue.java:464:INFO ] Set [receiptId] to - SH26111
> 2009-01-07 11:08:47,653 (RMI TCP Connection(7)-192.168.3.4)
> [ GenericValue.java:470:INFO ] Creating place holder value :
> [GenericEntity:ShipmentReceipt][receiptId,SH26111(java.lang.String)]
>
> Anyone any ideas how to stop this happening?
>
> Thanks
> Sam